Partilhar via


Venda automática de credenciais do Unity Catalog para acesso ao sistema externo

Importante

Este recurso está no Public Preview.

Dica

Para obter informações sobre como ler dados do Azure Databricks usando o Microsoft Fabric, consulte Usar o Microsoft Fabric para ler dados registrados no Unity Catalog.

Este artigo descreve como a funcionalidade de venda automática de credenciais do Unity Catalog dá suporte ao acesso a dados no Azure Databricks a partir de mecanismos de processamento externos.

A venda automática de credenciais suporta sistemas externos que se conectam ao Unity Catalog usando a API REST Unity e o catálogo REST do Iceberg. Veja Ler tabelas Databricks de clientes Delta e Aceder dados Databricks usando sistemas externos.

O que é a venda de credenciais do Unity Catalog?

Concessão de credenciais concede credenciais de curta duração usando a API REST do Unity Catalog. As credenciais concedidas herdam os privilégios do principal do Azure Databricks usado para configurar a integração. Essas credenciais concedem aos clientes externos acesso aos dados registrados em seu metastore do Unity Catalog.

Observação

A venda automática de credenciais do Unity Catalog suporta o seguinte:

  • Acesso somente leitura às tabelas gerenciadas do Unity Catalog.
  • Acesso somente leitura a tabelas configuradas para leituras Iceberg.
  • Acesso de leitura e gravação às tabelas externas do Unity Catalog.

Alguns clientes suportam o acesso a tabelas apoiadas pelo Delta Lake, enquanto outros exigem que você habilite as leituras do Iceberg (UniForm) nas tabelas. Veja Ler tabelas Delta com clientes Iceberg.

Para receber uma credencial temporária, a principal do Azure Databricks (utilizador, grupo ou entidade de serviço) que faz a solicitação deve ter o privilégio de EXTERNAL USE SCHEMA no esquema que contém a tabela que precisa acessar do mecanismo externo. O metastore do Unity Catalog que contém o esquema também deve ser habilitado explicitamente para acesso externo. Consulte Ativar o acesso a dados externos ao catálogo Unity.

As credenciais incluem uma cadeia de caracteres de token de acesso de curta duração e URL de local de armazenamento em nuvem que o mecanismo externo pode usar para acessar dados e metadados da tabela a partir do local de armazenamento em nuvem.

Requerimentos

  • Você deve configurar o acesso externo no metastore e conceder EXTERNAL USE SCHEMA à entidade responsável por configurar a conexão. Consulte Ativar o acesso a dados externos ao catálogo Unity.
  • Para acessar o espaço de trabalho do Azure Databricks usando APIs abertas do Unity Catalog ou APIs REST do Iceberg, a URL do espaço de trabalho deve estar acessível ao mecanismo que executa a solicitação. Isso inclui espaços de trabalho que usam listas de acesso IP ou Azure Private Link.
  • Para acessar o local de armazenamento em nuvem subjacente para objetos de dados registrados no Unity Catalog, as URLs de armazenamento geradas pela API de credenciais temporárias do Unity Catalog devem estar acessíveis ao mecanismo que executa a solicitação. Isso significa que o mecanismo deve ser permitido no firewall e nas listas de controle de acesso à rede para as contas de armazenamento em nuvem subjacentes.

Solicitar uma credencial temporária para acesso a dados externos

O suporte para distribuição de credenciais varia de acordo com o cliente externo. Quando suportado, o cliente deve usar automaticamente as credenciais vendidas quando uma conexão é configurada.

Esta seção fornece um exemplo de como chamar explicitamente o ponto de extremidade da API de fornecimento de credenciais. Alguns clientes externos podem exigir que você defina explicitamente as configurações para acessar dados e metadados no armazenamento de objetos na nuvem que faz backup das tabelas do Catálogo Unity. Você pode usar valores retornados pela venda automática de credenciais para configurar o acesso.

Observação

Você pode recuperar uma lista de tabelas que oferecem suporte à venda automática de credenciais invocando a API ListTables com a opção include_manifest_capabilities habilitada. Somente tabelas marcadas como HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT ou HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT são qualificadas para referência na API de credenciais de tabela temporária. Consulte GET /api/2.1/unity-catalog/tables.

O exemplo de curl a seguir solicita explicitamente uma credencial temporária para acesso a dados externos. Esta solicitação deve ser concluída por um utilizador do espaço de trabalho com privilégios suficientes.

curl -X POST -H "Authentication: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation_name": "<READ|READ_WRITE>"}'

Para mais detalhes, consulte POST /api/2.1/unity-catalog/temporary-table-credentials na referência da API REST do Azure Databricks.

Limitações

Existem as seguintes limitações:

  • Nem todos os clientes externos oferecem suporte à venda de credenciais e o suporte pode variar dependendo do armazenamento de objetos na nuvem subjacente.
  • Somente tabelas gerenciadas do Unity Catalog e tabelas externas do Unity Catalog são suportadas.
  • Não há suporte para os seguintes tipos de tabela ou tabelas com recursos habilitados:
    • Tabelas com filtros de linha ou máscaras de coluna.
    • Tabelas compartilhadas usando o Compartilhamento Delta.
    • Lakehouse federated tables (tabelas estrangeiras).
    • Vistas.
    • Visões materializadas.
    • Tabelas de transmissão Delta Live Tables.
    • Tabelas online.
    • Índices de pesquisa vetorial.