Vinculação de catálogo de local de trabalho

No Unity Catalog, todos os catálogos são acessíveis por padrão a partir de qualquer espaço de trabalho ligado à mesma metastore. A ligação de catálogo ao espaço de trabalho permite substituir este padrão para restringir um catálogo a um ou mais espaços de trabalho específicos. O acesso a partir de um espaço de trabalho não vinculado é negado, mesmo para utilizadores com concessões explícitas de privilégios no catálogo.

Por que usar ligação de catálogo de espaço de trabalho

Os requisitos organizacionais e de conformidade frequentemente especificam que certos dados devem permanecer acessíveis apenas em ambientes designados. Também poderá precisar de:

  • Isole os dados de produção dos ambientes de desenvolvimento ou de teste.
  • Evitar que certos domínios de dados sejam ligados.
  • Garanta que dados sensíveis só podem ser processados em espaços de trabalho específicos.

No Azure Databricks, o espaço de trabalho é o principal ambiente de processamento de dados, e o catálogo é o domínio principal dos dados. A ligação entre espaço de trabalho e catálogo conecta estes dois conceitos, permitindo aos proprietários de catálogos e aos utilizadores com o privilégio MANAGE definir quais espaços de trabalho podem aceder a quais catálogos.

Como funciona a encadernação de catálogos de espaços de trabalho

Quando atribui um catálogo a espaços de trabalho específicos, apenas os espaços de trabalho que atribui podem aceder ao catálogo. Qualquer espaço de trabalho que não esteja na lista atribuída recebe um erro quando os utilizadores tentam aceder ao catálogo, sobrepondo qualquer privilégio individual que esses utilizadores possuem.

Diagrama de associação do espaço de trabalho ao catálogo

Neste diagrama, prod_catalog está vinculado a dois espaços de trabalho de produção. Mesmo que um utilizador detenha uma SELECT permissão numa tabela em prod_catalog, não pode aceder a essa tabela a partir do workspace de desenvolvimento.

Acesso de leitura apenas

Ao vincular um catálogo a um espaço de trabalho, pode, opcionalmente, restringir esse espaço ao acesso apenas de leitura. Todas as operações de escrita desse espaço de trabalho para o catálogo são bloqueadas.

Comportamento padrão do catálogo de espaços de trabalho

A exceção ao comportamento de abertura predefinido é o catálogo de espaços de trabalho predefinido criado automaticamente para todos os novos espaços de trabalho. Este catálogo de espaços de trabalho está vinculado apenas ao seu próprio espaço de trabalho por padrão. Se desvincular este catálogo ou estender o acesso a outros espaços de trabalho, deve conceder manualmente quaisquer permissões necessárias, porque o grupo de administradores de espaços de trabalho é local e não pode ser usado entre espaços de trabalho.

Fiscalização em toda a plataforma

As ligações de catálogo de espaço de trabalho são aplicadas de forma consistente em toda a plataforma:

  • As consultas de esquema de informação retornam apenas os catálogos acessíveis no espaço de trabalho atual.
  • Data Lineage e o Catalog Explorer mostram apenas os catálogos atribuídos ao espaço de trabalho atual.

O que pode ser associado aos espaços de trabalho

A ligação do espaço de trabalho aplica-se além dos catálogos. Também pode vincular:

Vincular um catálogo a um ou mais espaços de trabalho

Para atribuir um catálogo a espaços de trabalho específicos, você pode usar o Gerenciador de Catálogos ou a CLI do Databricks.

Permissões necessárias: administrador da Metastore, proprietário do catálogo ou MANAGE e USE CATALOG no catálogo.

Note

Independentemente de um catálogo estar atribuído ao espaço de trabalho atual, os administradores da metastore podem ver todos os catálogos numa metastore, e os proprietários de catálogos podem ver todos os catálogos que possuem numa metastore. Catálogos que não estão atribuídos ao espaço de trabalho aparecem em cinza, e nenhuns objetos filhos são visíveis ou consultáveis.

Explorador de Catálogos

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

  2. Clique no ícone Dados.Catálogo.

  3. No painel Catálogo , à esquerda, clique no nome do catálogo.

    O painel principal do Explorador de Catálogos assume como padrão a lista Catálogos . Você também pode selecionar o catálogo 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 catálogo 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 encontre os espaços de trabalho que deseja atribuir.

  6. (Opcional) Limite o acesso ao espaço de trabalho a 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 e gravar.

Para revogar o acesso, vá para a guia Espaços de trabalho, selecione o espaço de trabalho e clique em Revogar.

CLI

Há dois grupos de comandos da CLI do Databricks e duas etapas necessárias para atribuir um catálogo 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. Ele deve incluir o valor de um token de acesso pessoal, além do nome da instância do espaço de trabalho e do ID do espaço de trabalho onde você gerou o token de acesso pessoal. Veja Autenticação de token de acesso pessoal (legado).

  1. Use o comando catalogs do grupo de comandos update para definir o isolation mode do catálogo como 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 associados ao metastore.

  2. Use o workspace-bindings comando do grupo de update-bindings comandos para atribuir os espaços 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>
    

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

Para listar todas as atribuições de espaço de trabalho para um catálogo, use o comando do grupo workspace-bindings de comandos 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 do espaço de trabalho a um catálogo usando o Gerenciador de Catálogos ou o grupo de comandos da workspace-bindings CLI estão incluídas em Vincular um catálogo a um ou mais espaços de trabalho.

Importante

Se o seu espaço de trabalho foi ativado automaticamente para o Catálogo Unity e tem um catálogo de espaço de trabalho predefinido, os administradores de espaços de trabalho são donos desse catálogo e têm todas as permissões sobre esse catálogo apenas no espaço de trabalho. Se você desvincular esse catálogo ou vinculá-lo a outros catálogos, deverá conceder 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 versus grupos locais de espaço de trabalho, consulte Fontes de grupo.