Compartilhar via


Provisionamento de credenciais do Catálogo do Unity para acesso a sistemas externos

Importante

Esse recurso está em uma versão prévia.

Dica

Para obter informações sobre como ler dados Azure Databricks usando Microsoft Fabric, consulte Use Microsoft Fabric para ler dados registrados no Catálogo do Unity.

Esta página descreve como a funcionalidade de provisionamento de credenciais do Unity Catalog dá suporte ao acesso a dados no Azure Databricks por mecanismos de processamento externos.

A venda automática de credenciais dá suporte a sistemas externos que se conectam ao Catálogo do Unity usando a API REST do Unity e o catálogo REST do Apache Iceberg. Consulte tabelas do Access Databricks de clientes Delta e dados do Access Databricks usando sistemas externos.

O que é a venda automática de credenciais do Catálogo do Unity?

O provisionamento de credenciais concede credenciais de curta duração usando a API REST do Catálogo Unity. As credenciais concedidas herdam os privilégios da entidade de Azure Databricks usada para configurar a integração. Existem dois tipos de fornecimento de credenciais:

  • Distribuição de credenciais de tabela fornece acesso aos dados registrados no metastore do Catálogo do Unity.
  • Distribuição de credenciais de caminho fornece acesso a locais externos no metastore do Catálogo do Unity.

Requisitos

  • O acesso externo deve ser configurado no metastore com a concessão de EXTERNAL USE SCHEMA à entidade de segurança solicitante. Consulte Habilitar o acesso a dados externos no metastore.
  • A URL do workspace deve estar acessível ao mecanismo solicitante, incluindo mecanismos por trás de listas de acesso IP ou Link Privado do Azure.
  • As URLs de armazenamento em nuvem devem ser acessíveis por meio de controles de rede e firewall.

Distribuição de credenciais de tabela

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

Tipos de acesso com suporte

A venda automática de credenciais de tabela dá suporte aos seguintes tipos de tabela e operações:

Tipo de tabela Leitura Escrever Criar
Delta Gerenciado Sim Sim* Sim*
Delta Externo Sim Sim Sim
Iceberg Gerenciado Sim Sim Sim
Delta com leituras de iceberg (UniForm) Sim Sim** No

* A criação e gravação em tabelas gerenciadas do Catálogo do Unity a partir de clientes Delta está em Beta.

** Depois de gravar externamente em uma tabela UniForm de um cliente Delta, execute MSCK REPAIR TABLE para gerar metadados do Iceberg.

Observação

Alguns clientes dão suporte ao acesso a tabelas apoiadas pelo Delta Lake, enquanto outros exigem que você habilite leituras de Iceberg (UniForm) em tabelas. Confira Ler tabelas Delta com clientes Iceberg.

Solicitar uma credencial de tabela temporária para acesso a dados externos

O suporte para fornecimento de credenciais varia de acordo com o cliente externo. Quando houver suporte, o cliente deve aproveitar automaticamente as credenciais fornecidas quando uma conexão for configurada.

Esta seção dá um exemplo de como chamar explicitamente o ponto de extremidade da API de provisionamento de credenciais. Alguns clientes externos podem exigir que você defina explicitamente as configurações para acessar dados e metadados no armazenamento de objetos de nuvem que dão suporte às tabelas do Catálogo do 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 dão suporte à venda automática de credenciais invocando a API ListTables com a opção include_manifest_capabilities habilitada. Somente tabelas marcadas 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. Essa solicitação deve ser concluída por uma entidade de segurança do workspace suficientemente privilegiado.

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

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

Limitações

As seguintes limitações existem:

  • Nem todos os clientes externos dão suporte à venda automática de credenciais e o suporte pode variar dependendo do armazenamento de objetos de nuvem subjacente.
  • Há suporte apenas para tabelas gerenciadas do Catálogo do Unity e tabelas externas do Catálogo do Unity.
  • 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.
    • Tabelas federadas do Lakehouse (tabelas externas).
    • Exibições.
    • Exibições materializadas.
    • Tabelas de streaming do Lakeflow Spark Declarative Pipelines.
    • Tabelas online.
    • Índices de Busca Vetorial.
  • Não há suporte para atualização de credenciais no Iceberg 1.9.0. Use a versão mais recente do Iceberg para atualização de credenciais.

Distribuição de Credenciais de Caminho autêntico

As credenciais emitidas permitem acesso direto ao local do armazenamento em nuvem, abrangendo especificamente o caminho relevante. Eles são válidos por um tempo limitado e não concedem acesso mais amplo além do local ou tabela definido.

Solicitar uma credencial de caminho temporário para acesso a dados externos

O suporte para fornecimento de credenciais varia de acordo com o cliente externo. Quando houver suporte, o cliente deve aproveitar automaticamente as credenciais fornecidas quando uma conexão for configurada.

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

O exemplo de curl a seguir solicita explicitamente uma credencial temporária para acesso a dados externos. Essa solicitação deve ser concluída por uma entidade de segurança do workspace suficientemente privilegiado.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'

Para obter detalhes, consulte Generate a temporary path credential na referência da API REST do Azure Databricks.