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 é a ligação entre o espaço de trabalho e o catálogo?
Se usar o espaço de trabalho para isolar o acesso aos dados do usuário, o senhor poderá 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.
Observação
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(Opcional) Assign an external location to specific workspaces(Atribuir um local externo a espaços de trabalho específicos ) e(Opcional) Assign a storage credential to specific workspaces (Atribuir uma credencial de armazenamento a espaços de trabalho específicos).
Exemplo de vinculação entre espaço de trabalho e catálogo
Tomemos como exemplo o isolamento da produção e do 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.
Nesse diagrama, 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.
workspace-Os vínculos de 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.
Observação
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.
Efetue login em um workspace vinculado ao metastore.
Clique em Catalog.
No painel Catalog (Catálogo ), à esquerda, clique no nome do catálogo.
O painel principal do Catalog Explorer tem como padrão a lista Catalogs (Catálogos ). O senhor também pode selecionar o catálogo lá.
No espaço de trabalho tab, desmarque a caixa de seleção All workspace have access (Todos os espaços de trabalho 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 Assign to workspace (Atribuir ao espaço de trabalho) e digite ou localize o espaço de trabalho 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.
O senhor pode reverter essa seleção a qualquer momento, editando o catálogo e selecionando Change access to read & write.
Para revogar o acesso, acesse o espaço de trabalho tab, selecione workspace e clique em Revoke.
Há dois grupos de Databricks CLI grupos de comando e dois passos necessários 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 access token pessoal, além do nome da instância workspace e o ID workspace do workspace onde o senhor gerou o access token pessoal. Consulte Databricks autenticação pessoal access token .
Use o comando
catalogs
do grupoupdate
para definirisolation mode
aISOLATED
do catálogo:databricks catalogs update <my-catalog> \ --isolation-mode ISOLATED \ --profile <profile-name>
O endereço default
isolation-mode
éOPEN
para todos os espaços de trabalho anexados ao metastore.Use o comando
workspace-bindings
do grupoupdate-bindings
para atribuir o espaço de trabalho ao catálogo:databricks 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 workspace bindings. O<binding-type>
pode ser“BINDING_TYPE_READ_WRITE”
(default) ou“BINDING_TYPE_READ_ONLY”
.
Para listar todas as atribuições do site workspace em 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 espaço de trabalho
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.
Importante
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 os grupos account vs workspace-local groups, consulte Types of groups in Databricks.