Compartilhar via


Habilitar o acesso a dados externos ao Catálogo do Unity

O Azure Databricks fornece acesso às tabelas do Catálogo do Unity usando a API REST do Unity e o catálogo REST do Iceberg.

Um administrador do metastore deve habilitar o acesso a dados externos para cada metastore que você precisa acessar externamente. O usuário ou a entidade de serviço que configura a conexão deve ter o privilégio EXTERNAL USE SCHEMA para cada esquema que contém tabelas que você precisa ler externamente.

A API REST do Unity dá suporte a leituras diretas para tabelas Delta, enquanto o catálogo REST do Iceberg dá suporte a leituras em tabelas habilitadas para leituras de Iceberg. Consulte Acesse os dados do Databricks usando sistemas externos.

Habilitar o acesso a dados externos no metastore

Para permitir que mecanismos externos acessem dados em um metastore, um administrador do metastore deve habilitar o acesso a dados externos para o metastore. Essa opção é desabilitada por padrão para impedir o acesso externo não autorizado.

Para habilitar o acesso a dados externos, faça o seguinte:

  1. Em um workspace do Azure Databricks anexado ao metastore, clique no ícone Ícone do catálogoCatálogo.
  2. Clique no ícone de engrenagem Ícone de engrenagem na parte superior do painel catálogo e selecione Metastore.
  3. Na guia Detalhes, habilite acesso a dados externos.

Observação

Essas opções são exibidas apenas para usuários com privilégios suficientes. Se você não vir essas opções, não terá permissões para ativar o acesso a dados externos para um metastore.

Conceder uma entidade principal EXTERNAL USE SCHEMA

Os clientes externos que se conectam ao Azure Databricks precisam de autorização de um principal suficientemente privilegiado.

O Azure Databricks dá suporte a OAuth e a PAT (tokens de acesso pessoal) para autenticação. Consulte Autorizando o acesso aos recursos do Azure Databricks.

O principal que solicita a credencial temporária deve ter:

  • O privilégio EXTERNAL USE SCHEMA no esquema que contém ou no seu catálogo pai.

    Esse privilégio sempre deve ser concedido explicitamente. Somente o proprietário do catálogo pai pode concedê-lo. Para evitar a exfiltração acidental, ALL PRIVILEGES não inclui o privilégio EXTERNAL USE SCHEMA e os proprietários de esquema não têm esse privilégio por padrão.

  • SELECT permissão na tabela, USE CATALOG no catálogo pai e USE SCHEMA no esquema pai.

A sintaxe de exemplo a seguir demonstra a concessão de EXTERNAL USE SCHEMA a um usuário:

GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`

Supondo que o usuário tenha permissões para ler todas as tabelas desejadas no esquema, nenhuma permissão adicional será necessária. Se você precisar conceder permissões adicionais para ler tabelas, consulte privilégios do Unity Catalog e objetos seguráveis.