Limitar o acesso ao catálogo a um espaço de trabalho específico
Este artigo apresenta a vinculação do catálogo workspacee descreve como vincular um catálogo Unity Catalog a um Databricks workspace para impedir que outro espaço de trabalho em seu Databricks account o acesse.
O que é workspace-catalog binding?
Se usar o espaço de trabalho para isolar o acesso aos dados do usuário, é possível limitar o acesso ao catálogo a um espaço de trabalho específico no site account, também conhecido como workspace-catalog binding. O default é para compartilhar o catálogo com todos os espaços de trabalho anexados ao metastore atual.
A exceção a esse default é o catálogoworkspace que é criado automaticamente para todos os novos espaços de trabalho. Esse catálogo workspace está vinculado apenas ao seu workspace, a menos que o senhor opte por conceder acesso a ele a outros espaços de trabalho. Para obter informações importantes sobre a atribuição de permissões se o senhor desvincular esse catálogo, consulte Desvincular um catálogo de um workspace.
O senhor pode permitir o acesso de leitura e gravação ao catálogo em workspace ou pode especificar o acesso somente de leitura. Se o senhor especificar read-only, todas as operações de gravação serão bloqueadas do site workspace para esse catálogo.
Os casos de uso típicos para vincular um catálogo a um espaço de trabalho específico incluem:
- Garantir que os usuários só possam acessar os dados de produção de um ambiente de produção workspace.
- Garantir que os usuários só possam processar dados confidenciais a partir de um site dedicado workspace.
- Conceder aos usuários acesso somente leitura aos dados de produção de um desenvolvedor workspace para permitir o desenvolvimento e os testes.
Também é possível vincular locais externos e credenciais de armazenamento a espaços de trabalho específicos, limitando a capacidade de acessar dados em locais externos a usuários com privilégios nesses espaços de trabalho. Consulte Atribuir um local externo a um espaço de trabalho específico e Atribuir uma credencial de armazenamento a um espaço de trabalho específico.
Exemplo de vinculação entre espaço de trabalho e catálogo
Veja o exemplo do isolamento de produção e desenvolvimento. Se o senhor especificar que o catálogo de dados de produção só pode ser acessado a partir do espaço de trabalho de produção, isso substitui quaisquer concessões individuais emitidas para os usuários.

Neste diagrama, o site prod_catalog está vinculado a dois espaços de trabalho de produção. Suponha que um usuário tenha recebido acesso a uma tabela em prod_catalog chamada my_table (usando GRANT SELECT ON my_table TO <user>). Se o usuário tentar acessar my_table no Dev workspace, ele receberá uma mensagem de erro. O usuário pode acessar my_table somente no espaço de trabalho Prod ETL e Prod analítica.
os vínculos entre o espaço de trabalho e o catálogo são respeitados em todas as áreas da plataforma. Por exemplo, se o senhor consultar o esquema de informações, verá apenas os catálogos acessíveis no site workspace em que emitiu a consulta. A linhagem de dados e as UIs de busca também mostram apenas os catálogos atribuídos ao site workspace (seja usando bindings ou pelo site default).
Vincular um catálogo a um ou mais espaços de trabalho
Para atribuir um catálogo a um espaço de trabalho específico, o senhor pode usar o Catalog Explorer ou o site Databricks CLI.
Permissões necessárias : administrador do Metastore, proprietário do catálogo ou MANAGE e USE CATALOG no catálogo.
Os administradores de metastore podem ver todos os catálogos em um metastore usando o Catalog Explorer, e os proprietários de catálogos podem ver todos os catálogos que possuem em um metastore, independentemente de o catálogo estar atribuído ao site workspace atual. Os catálogos que não estão atribuídos ao site workspace aparecem em cinza e nenhum objeto filho é visível ou consultável.
- Catalog Explorer
- CLI
- 
Efetue login em um workspace vinculado ao metastore. 
- 
Clique em Catálogo . 
- 
No painel Catálogo , à esquerda, clique no nome do catálogo. O painel principal do Catalog Explorer tem como padrão a lista Catalogs (Catálogos ). Você também pode selecionar o catálogo lá. 
- 
Na guia Workspaces , desmarque a caixa de seleção Todos os workspaces têm acesso . Se seu catálogo já estiver vinculado a um ou mais espaços de trabalho, essa caixa de seleção já estará desmarcada. 
- 
Clique em Atribuir a workspaces e digite ou localize os workspaces que deseja atribuir. 
- 
(Opcional) Limite o acesso ao site workspace para somente leitura. No menu Gerenciar nível de acesso , selecione Alterar acesso para somente leitura . Você pode reverter essa seleção a qualquer momento editando o catálogo e selecionando Alterar acesso para ler & write . 
Para revogar o acesso, vá para a tab Workspaces , selecione o workspace e clique em Revogar .
Existem dois Databricks CLI grupos de comando e duas etapas necessárias para atribuir um catálogo a um workspace.
Nos exemplos a seguir, substitua <profile-name> pelo nome do perfil de configuração de autenticação do Databricks. Ele deve incluir o valor de um token de acesso pessoal, além do nome da instância workspace e o ID workspace do workspace onde o senhor gerou os tokens de acesso pessoal. Consulte Autenticação de tokens de acesso pessoal (obsoleta).
- 
Use o comando catalogsdo grupoupdatepara definir o catálogoisolation modeparaISOLATED:Bashdatabricks catalogs update <my-catalog> \
 --isolation-mode ISOLATED \
 --profile <profile-name>O padrão isolation-modeéOPENpara todos os workspaces anexados ao metastore.
- 
Use o comando workspace-bindingsdo grupo de comandoupdate-bindingspara atribuir o espaço de trabalho ao catálogo:Bashdatabricks workspace-bindings update-bindings catalog <my-catalog> \
 --json '{
 "add": [{"workspace_id": <workspace-id>, "binding_type": <binding-type>}...],
 "remove": [{"workspace_id": <workspace-id>, "binding_type": "<binding-type>}...]
 }' --profile <profile-name>Use as propriedades "add"e"remove"para adicionar ou remover os vínculos workspace. O endereço<binding-type>pode ser“BINDING_TYPE_READ_WRITE”(default) ou“BINDING_TYPE_READ_ONLY”.
Para listar todas as atribuições workspace de um catálogo, use o comando workspace-bindings do grupo get-bindings:
databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>
Desvincular um catálogo de um workspace
As instruções para revogar o acesso workspace a um catálogo usando o Catalog Explorer ou o grupo de comando workspace-bindings CLI estão incluídas em Vincular um catálogo a um ou mais espaços de trabalho.
Se o seu workspace foi ativado para Unity Catalog automaticamente e o senhor tem um catálogoworkspace , os administradores do workspace são proprietários desse catálogo e têm todas as permissões nesse catálogo somente no workspace . Se o senhor desvincular esse catálogo ou vinculá-lo a outros catálogos, deverá conceder as permissões necessárias manualmente aos membros do grupo workspace admins como usuários individuais ou usando grupos de nível account, pois o grupo workspace admins é um grupo workspace-local. Para obter mais informações sobre account groups vs workspace-local groups, consulte Group sources.