Habilitar o acesso a dados externos no Unity Catalog
A Databricks fornece acesso às tabelas do Unity Catalog usando a API REST do Unity e o catálogo REST do Iceberg.
Um administrador da metastore deve habilitar o acesso externo a dados 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 contenha tabelas que o senhor precise ler externamente.
A API REST do Unity oferece suporte a leituras diretas para tabelas Delta, enquanto o catálogo REST do Iceberg oferece suporte a leituras em tabelas habilitadas para leituras do Iceberg. Consulte Access Databricks uso de dados sistemas externos.
Habilitar o acesso externo a dados no metastore
Para permitir que mecanismos externos acessem dados em uma metastore, um administrador da metastore deve habilitar o acesso externo aos dados da metastore. Essa opção é desativada pelo site default para evitar acesso externo não autorizado.
Para habilitar o acesso externo a dados, faça o seguinte:
Em um Databricks workspace anexado ao metastore, clique em Catalog.
Clique no ícone de engrenagem na parte superior do painel Catálogo e selecione Metastore.
Em Details (Detalhes ) tab, ative External data access (Acesso a dados externos).
Observação
Essas opções são exibidas somente para usuários suficientemente privilegiados. Se você não vê essas opções, você não tem permissões para habilitar o acesso externo a dados para uma metastore.
Conceda um diretor EXTERNAL USE SCHEMA
Os clientes externos que se conectam ao Databricks precisam de autorização de um principal com privilégios suficientes.
A Databricks oferece suporte a OAuth e tokens de acesso pessoal (PAT) para autenticação. Consulte Autenticar o acesso a Databricks recurso.
O diretor que solicita a credencial temporária deve ter:
O privilégio
EXTERNAL USE SCHEMA
no esquema que o contém ou em seu catálogo principal.Esse privilégio sempre deve ser 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 de esquemas não têm esse privilégio em default.SELECT
permissão na tabela,USE CATALOG
em seu catálogo principal eUSE SCHEMA
em seu esquema pai.
O exemplo de sintaxe 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 o senhor precisar conceder permissões adicionais para ler tabelas, consulte Privilégios e objetos protegidos do Unity Catalog.