Partilhar via


Limit catalog acesso a espaços de trabalho específicos

Este artigo apresenta a associação decatalog ao espaço de trabalho e descreve como vincular um Unity Catalogcatalog a um espaço de trabalho do Azure Databricks para impedir que outros espaços de trabalho na sua conta do Azure Databricks acederem a ele.

O que é o workspace-catalog vinculação?

Se utilizar espaços de trabalho para isolar o acesso aos dados do utilizador, poderá ter limitcatalog acesso a espaços de trabalho específicos na sua conta, também conhecido como vinculação decatalog de espaço de trabalho. O padrão é compartilhar o catalog com todos os espaços de trabalho anexados ao metastore atual.

A exceção a este padrão é o espaço de trabalho catalog, que é criado automaticamente para todos os novos espaços de trabalho. Esse catalog de espaço de trabalho está vinculado apenas ao seu espaço de trabalho, a menos que você opte por conceder acesso a ele a outros espaços de trabalho. Para obter informações importantes sobre como atribuir permissões se você desvincular essa catalog, consulte Desvincular um catalog de um espaço de trabalho.

Você pode permitir acesso de leitura e escrita ao catalog a partir de um espaço de trabalho ou especificar acesso apenas de leitura. Se você especificar somente leitura, todas as operações de gravação serão bloqueadas desse espaço de trabalho para esse catalog.

Os casos de uso típicos para vincular um catalog a espaços de trabalho específicos incluem:

  • Garantir que os usuários só possam acessar dados de produção de um ambiente de espaço de trabalho de produção.
  • Garantir que os usuários só possam processar dados confidenciais de um espaço de trabalho dedicado.
  • Dando aos usuários acesso somente leitura aos dados de produção de um espaço de trabalho do desenvolvedor para habilitar o desenvolvimento e o teste.

Nota

Você também pode vincular locais externos e credentials de armazenamento a espaços de trabalho específicos, limitando a capacidade de acessar dados em locais externos a usuários privilegiados nesses espaços de trabalho. Consulte (Opcional) Atribuir um local externo a espaços de trabalho específicos e (Opcional) Atribuir uma credencial de armazenamento a espaços de trabalho específicos.

Espaço de trabalho -catalog exemplo de vinculação

Tomemos o exemplo do isolamento da produção e do desenvolvimento. Se você especificar que seus dados de produção catalogs só podem ser acessados a partir de espaços de trabalho de produção, isso substituirá quaisquer concessões individuais emitidas aos usuários.

Catalog-diagrama de vinculação de espaço de trabalho

Neste diagrama, prod_catalog está vinculado a dois espaços de trabalho de produção. Suponha que um usuário tenha recebido acesso a um table em prod_catalog chamado my_table (usando GRANT SELECT ON my_table TO <user>). Se o usuário tentar acessar my_table no espaço de trabalho de desenvolvimento, ele receberá uma mensagem de erro. O usuário pode acessar my_table somente a partir dos espaços de trabalho Prod ETL e Prod Analytics.

Espaço de trabalho -catalog vinculações são respeitadas em todas as áreas da plataforma. Por exemplo, se você consultar as informações schema, verá apenas o catalogs acessível no espaço de trabalho where emitir a consulta. A linhagem de dados e as interfaces do usuário de pesquisa também mostram apenas os catalogs atribuídos ao espaço de trabalho (seja usando associações ou por padrão).

Vincular um catalog a um ou mais espaços de trabalho

Para atribuir um catalog a espaços de trabalho específicos, você pode usar o Catalog Explorer ou a CLI do Databricks.

Permissões necessárias: Metastore admin, catalog proprietário ou MANAGE e USE CATALOG no catalog.

Nota

Os administradores do metastore podem ver todos os catalogs no metastore usando o Catalog Explorer, e os proprietários do catalog podem ver todos os catalogs que possuem no metastore, independentemente de o catalog estar atribuído ao workspace atual. Catalogs que não são atribuídos ao espaço de trabalho aparecem acinzentados e nenhum objeto filho é visível ou consultável.

Catalog Explorer

  1. Faça login em um espaço de trabalho vinculado ao metastore.

  2. Clique no Catalog íconeCatalog.

  3. No painel Catalog, à esquerda, clique no nome do catalog.

    O painel principal do Catalog Explorer assume como padrão o Catalogslist. Você também pode select o catalog lá.

  4. Na guia Espaços de trabalho, desmarque a caixa de seleção Todos os espaços de trabalho têm acesso.

    Se o seu catalog já estiver vinculado a um ou mais espaços de trabalho, essa caixa de seleção já está desmarcada.

  5. Clique em Atribuir a espaços de trabalho e insira ou localize os espaços de trabalho que deseja atribuir.

  6. (Opcional) acesso ao espaço de trabalho Limit para leitura apenas.

    No menu Gerenciar Nível de Acesso, selectAlterar acesso parasomente leitura .

    Você pode reverter essa seleção a qualquer momento editando o catalog e selecionando Alterar acesso para ler & gravar.

Para aceder a revoke, vá para o separador Espaços de Trabalho, clique em Revokee depois select o espaço de trabalho.

CLI

Há dois grupos de comandos da CLI do Databricks e duas etapas necessárias para atribuir um catalog a um espaço de trabalho.

Nos exemplos a seguir, substitua <profile-name> pelo nome do seu perfil de configuração de autenticação do Azure Databricks. A tradução deve incluir o valor de um token de acesso pessoal, além do nome da instância do workspace e do ID do workspace where, ao qual você gerou o token de acesso pessoal. Consulte Autenticação de token de acesso pessoal do Azure Databricks.

  1. Utilize o comando update do grupo de comandos catalogs para set o isolation mode do catalogpara ISOLATED:

    databricks catalogs update <my-catalog> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    O padrão isolation-mode é OPEN para todos os espaços de trabalho anexados ao metastore.

  2. Use o comando update-bindings do grupo de comandos workspace-bindings para atribuir os espaços de trabalho ao catalog:

    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>
    

    Utilize as propriedades "add" e "remove" para adicionar ou remove vinculações de espaço de trabalho. O <binding-type> pode ser ( “BINDING_TYPE_READ_WRITE” padrão) ou “BINDING_TYPE_READ_ONLY”.

Para list todas as atribuições de espaço de trabalho para um catalog, use o comando get-bindings do grupo de comandos workspace-bindings:

databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>

Desvincular um catalog de um espaço de trabalho

As instruções para revogar o acesso ao espaço de trabalho a um catalog usando o Catalog Explorer ou o grupo de comandos da CLI workspace-bindings estão incluídas em Vincular um catalog a um ou mais espaços de trabalho.

Importante

Se o seu espaço de trabalho foi ativado automaticamente para o Unity Catalog e você tem um espaço de trabalho catalog, os administradores do espaço de trabalho possuem esse catalog e têm todas as permissões sobre esse catalogapenas no espaço de trabalho. Se você desvincular esse catalog ou vinculá-lo a outros catalogs, deverá grant as permissões necessárias manualmente aos membros do grupo de administradores do espaço de trabalho como usuários individuais ou usando grupos no nível da conta, porque o grupo de administradores do espaço de trabalho é um grupo local do espaço de trabalho. Para obter mais informações sobre grupos de contas vs grupos locais de espaço de trabalho, consulte Tipos de grupos no Azure Databricks.