Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esse recurso está em Visualização Pública.
O Azure Databricks fornece acesso às tabelas do Catálogo do Unity usando a API REST do Unity e o catálogo REST do Apache Iceberg.
Um administrador do metastore deve habilitar o acesso a dados externos para cada metastore que você precisa acessar externamente. O usuário ou entidade de serviço que configura a conexão deve ter o EXTERNAL USE SCHEMA privilégio de cada esquema em que precisa executar operações com suporte: ler de tabelas gerenciadas ou criar, ler e gravar em tabelas externas.
A API REST do Unity dá suporte a leituras diretas para tabelas Delta. O catálogo REST do Iceberg dá suporte a leituras para tabelas Delta e leituras e gravações para tabelas Iceberg. Confira Acessar 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:
- Em um workspace do Azure Databricks anexado ao metastore, clique no
Catálogo.
- Clique no
Ícone de engrenagem na parte superior do painel Catálogo e selecione Metastore.
- 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 privilégios de catálogo principal do Unity
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 Autorizar o acesso aos recursos do Azure Databricks.
O principal que solicita a credencial temporária deve ter:
O privilégio
EXTERNAL USE SCHEMAno esquema que o 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ê-la. Para evitar a exfiltração acidental,
ALL PRIVILEGESnão inclui o privilégioEXTERNAL USE SCHEMAe os proprietários de esquema não têm esse privilégio por padrão.Permissão
SELECTna tabela,USE CATALOGno catálogo pai eUSE SCHEMAno esquema pai.Se estiver criando tabelas externas, a entidade de segurança também deverá ter o
CREATE TABLEprivilégio no esquema e osCREATE EXTERNAL TABLEprivilégios noEXTERNAL USE LOCATIONlocal externo de destino.EXTERNAL USE LOCATIONsempre deve ser concedido explicitamente. Somente usuários com oMANAGEprivilégio no local externo podem concedê-lo. Para evitar a exfiltração acidental,ALL PRIVILEGESnão inclui oEXTERNAL USE LOCATIONprivilégio e os proprietários de localização não têm esse privilégio por padrão.
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 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 e objetos seguráveis do Catálogo do Unity.