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:
- Em um espaço de trabalho do Azure Databricks anexado ao metastore, clique no ícone de Catálogo
.
- Clique no ícone
ícone de engrenagem na parte superior do painel CatálogoEngrenagem e selecione Metastore . - 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égioEXTERNAL 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 eUSE 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.