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(Opcional) Assign an external location to specific workspace(Atribuir um local externo a um espaço de trabalho específico ) e(Opcional) Assign a storage credential to specific workspace (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
-
Log in to a workspace that is linked to the metastore.
-
Click
Catalog.
-
In the Catalog pane, on the left, click the catalog name.
The main Catalog Explorer pane defaults to the Catalogs list. You can also select the catalog there.
-
On the Workspaces tab, clear the All workspaces have access checkbox.
If your catalog is already bound to one or more workspaces, this checkbox is already cleared.
-
Click Assign to workspaces and enter or find the workspaces you want to assign.
-
(Optional) Limit workspace access to read-only.
On the Manage Access Level menu, select Change access to read-only.
You can reverse this selection at any time by editing the catalog and selecting Change access to read & write.
To revoke access, go to the Workspaces tab, select the workspace, and click Revoke.
There are two Databricks CLI command groups and two steps required to assign a catalog to a workspace.
In the following examples, replace <profile-name>
with the name of your Databricks authentication configuration profile. It should include the value of a personal access token, in addition to the workspace instance name and workspace ID of the workspace where you generated the personal access token. See Databricks personal access token authentication.
-
Use the
catalogs
command group’supdate
command to set the catalog’sisolation mode
toISOLATED
:Bashdatabricks catalogs update <my-catalog> \
--isolation-mode ISOLATED \
--profile <profile-name>The default
isolation-mode
isOPEN
to all workspaces attached to the metastore. -
Use the
workspace-bindings
command group’supdate-bindings
command to assign the workspaces to the catalog: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 the
"add"
and"remove"
properties to add or remove workspace bindings. The<binding-type>
can be either“BINDING_TYPE_READ_WRITE”
(default) or“BINDING_TYPE_READ_ONLY”
.
To list all workspace assignments for a catalog, use the workspace-bindings
command group’s get-bindings
command:
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 os grupos account vs workspace-local groups, consulte Types of groups in Databricks.