Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Databricks fornece acesso às tabelas do Catálogo Unity usando a API REST Unity e o catálogo REST do Apache 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 onde necessitam executar operações suportadas: leitura de tabelas geridas ou criação, leitura e escrita em tabelas externas.
A API REST Unity suporta leituras diretas para tabelas Delta. O catálogo REST do Iceberg suporta leituras para tabelas Delta e leituras e gravações para tabelas 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
Catálogo.
- Clique no
na parte superior do painel Catálogo 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 não visualizar estas opções, não terá permissões para ativar o acesso a dados externos para um metastore.
Conceder privilégios principais ao Catálogo Unity
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 Autorizar o acesso aos recursos do Azure Databricks.
O responsável que solicita a credencial temporária deve ter:
O
EXTERNAL USE SCHEMAprivilé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 PRIVILEGESnão inclui o privilégioEXTERNAL USE SCHEMAe os proprietários do esquema não têm esse privilégio por padrão.SELECTpermissão na tabela,USE CATALOGem seu catálogo pai eUSE SCHEMAem seu esquema pai.Ao criar tabelas externas, o principal também deve ter o
CREATE TABLEprivilégio no esquema e os privilégiosCREATE EXTERNAL TABLEeEXTERNAL USE LOCATIONno local externo de destino.EXTERNAL USE LOCATIONdeve ser sempre concedida explicitamente. Somente usuários com oMANAGEprivilégio no local externo podem concedê-lo. Para evitar a exfiltração de dados acidental,ALL PRIVILEGESnão inclui o privilégio e, por padrão, osEXTERNAL USE LOCATIONproprietários de locais não dispõem desse privilégio.
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`
A sintaxe de exemplo a seguir demonstra a concessão de EXTERNAL USE LOCATION a um usuário:
GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_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.