Partilhar via


Habilitar o acesso a dados externos ao Catálogo Unity

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

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

A API REST Unity suporta leituras diretas para tabelas Delta, enquanto o catálogo REST Iceberg suporta a leitura de tabelas configuradas para compatibilidade com Iceberg. Consulte aceder aos 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 de metastore deve habilitar o acesso a dados externos para o metastore. Esta opção está desativada 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 espaço de trabalho do Azure Databricks anexado ao metastore, clique no ícone de Catálogo .
  2. Clique no ícone Engrenagem ícone de engrenagem na parte superior do painel Catálogo e selecione Metastore.
  3. Na guia Detalhes , ative o acesso de dados externos .

Observação

Essas opções são exibidas apenas para usuários suficientemente privilegiados. Se você não vir essas opções, não terá permissões para habilitar o acesso a dados externos para um metastore.

Conceder um EXTERNAL USE SCHEMA principal

Os clientes externos que ligam ao Azure Databricks precisam de autorização de uma entidade com privilégios suficientes.

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

O responsável que solicita a credencial temporária deve ter:

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

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

  • SELECT permissão na tabela, USE CATALOG em seu catálogo pai e USE SCHEMA em seu 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 as permissões para ler todas as tabelas desejadas no esquema, nenhuma permissão adicional é necessária. Se você precisar conceder permissões adicionais para ler tabelas, consulte privilégios do Catálogo Unity e objetos protegíveis.