Vinculação de espaço de trabalho com catálogo

No Catálogo do Unity, todos os catálogos são acessíveis por padrão de qualquer workspace anexado ao mesmo metastore. A associação workspace-catalog permite substituir esse padrão para restringir um catálogo a um ou mais workspaces específicos. O acesso a partir de um workspace não vinculado é negado, mesmo para usuários com concessões de privilégio explícitas no catálogo.

Por que usar a associação workspace-catalog

Os requisitos organizacionais e de conformidade geralmente especificam que determinados dados devem permanecer acessíveis apenas em ambientes designados. Talvez você também precise:

  • Isole os dados de produção de ambientes de desenvolvimento ou teste.
  • Impedir que determinados domínios de dados sejam unidos.
  • Verifique se os dados confidenciais só podem ser processados em workspaces específicos.

Em Azure Databricks, o workspace é o ambiente de processamento de dados primário e o catálogo é o domínio de dados primário. A vinculação entre workspace e catálogo conecta esses dois conceitos, permitindo que os proprietários e usuários do catálogo com o privilégio MANAGE definam quais workspaces podem acessar quais catálogos.

Como funciona a associação workspace-catalog

Quando você associa um catálogo a workspaces específicos, somente os workspaces atribuídos podem acessar o catálogo. Qualquer workspace que não estiver na lista atribuída recebe um erro quando os usuários tentam acessar o catálogo, anulando qualquer concessão de privilégio individual que esses usuários tenham.

Diagrama de associação entre catálogo e workspace

Neste diagrama, prod_catalog está associado a dois espaços de trabalho de produção. Mesmo que um usuário tenha uma SELECT concessão em uma tabela em prod_catalog, ele não poderá acessar essa tabela no workspace de desenvolvimento.

Acesso somente leitura

Ao associar um catálogo a um workspace, você pode, opcionalmente, restringir esse workspace ao acesso somente leitura. Todas as operações de gravação 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 padrão é o catálogo de workspaces padrão criado automaticamente para todos os novos workspaces. Esse catálogo de workspaces está associado apenas ao seu próprio workspace por padrão. Se você desvincular este catálogo ou estender o acesso a outros workspaces, deverá conceder quaisquer permissões necessárias manualmente, pois o grupo de administradores do workspace é local ao workspace e não pode ser usado entre diferentes workspaces.

Aplicação em toda a plataforma

As associações de catálogo de espaços de trabalho são aplicadas consistentemente em toda a plataforma.

  • As consultas de esquema de informações retornam apenas os catálogos acessíveis no workspace atual.
  • A linhagem de dados e o Catalog Explorer mostram apenas catálogos atribuídos ao workspace atual.

O que pode ser vinculado a espaços de trabalho

A vinculação de espaço de trabalho se aplica além dos catálogos. Você também pode associar:

Associar um catálogo a um ou mais workspaces

Para atribuir um catálogo a workspaces específicos, você pode usar o Explorador de Catálogos ou a CLI do Databricks.

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

Observação

Independentemente de um catálogo ser atribuído ao workspace atual, os administradores do metastore podem ver todos os catálogos em um metastore e os proprietários do catálogo podem ver todos os catálogos que possuem em um metastore. Os catálogos que não são atribuídos ao espaço de trabalho aparecem esmaecidos, e nenhum objeto filho é visível ou consultável.

Gerenciador de Catálogos

  1. Faça login em um workspace vinculado ao metastore.

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

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

    O painel principal do Explorador de Catálogos tem como padrão a lista Catálogos. Você também pode selecionar o catálogo lá.

  4. Na guia Workspaces, desmarque a caixa de seleção Todos os workspaces têm acesso.

    Se o catálogo já estiver associado a um ou mais espaços de trabalho, essa caixa de seleção já estará desmarcada.

  5. Clique em Atribuir a áreas de trabalho e insira ou localize as áreas de trabalho aos quais deseja atribuir.

  6. (Opcional) Limite o acesso ao espaço de trabalho a somente leitura.

    No menu Gerenciar Nível de Acesso, selecione Alterar o acesso para somente leitura.

    Você pode reverter essa seleção a qualquer momento editando o catálogo e selecionando Alterar o acesso para leitura e gravação.

Para revogar o acesso, vá para a guia Workspaces, selecione o workspace e clique em Revogar.

CLI

Existem dois grupos de comandos de CLI do Databricks e duas etapas necessárias para atribuir um catálogo a um workspace.

Nos exemplos a seguir, substitua <profile-name> pelo nome do seu perfil de configuração de autenticação do Azure Databricks. Isso deverá incluir o valor de um token de acesso pessoal, além do nome da instância do workspace e da ID do workspace em que você gerou o token de acesso pessoal. Consulte a autenticação de token de acesso pessoal (herdado).

  1. Use o comando catalogs do grupo update para definir o catálogo isolation mode para ISOLATED:

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

    O isolation-mode padrão é OPEN para todos os workspaces vinculados ao metastore.

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

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

Para listar todas as atribuições de workspace de um catálogo, use o comando workspace-bindings do grupo de comandos get-bindings.

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

Desassociar um catálogo de um workspace

As instruções para revogar o acesso do workspace a um catálogo usando o Explorador de Catálogos ou o grupo de comandos workspace-bindings da CLI estão incluídas no artigo Vincular um catálogo a um ou mais workspaces.

Importante

Se o workspace foi habilitado automaticamente para o Catálogo do Unity e você tem um catálogo de workspace padrão, os administradores do workspace possuem esse catálogo e têm todas as permissões nesse catálogo somente no workspace. Se você desassociar esse catálogo ou associá-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 indivíduos ou através de grupos no nível da conta, pois 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 do espaço de trabalho, consulte Fontes de grupos.