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.

Esta página 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 Apache Iceberg. Veja Ler tabelas Databricks de clientes Delta e Aceder aos dados Databricks usando sistemas externos.

O que é a venda de credenciais do Unity Catalog?

Distribuiçã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 utilizado para configurar a integração.

A venda automática de credenciais de tabela fornece acesso aos dados registrados em seu metastore do Catálogo Unity.

A venda automática de credenciais de caminho fornece acesso a locais externos em seu metastore do Catálogo Unity.

Venda automática de credenciais de tabela

Para receber uma credencial temporária para uma tabela, a entidade de segurança do Azure Databricks solicitante (usuário, grupo ou entidade de serviço) deve ter o EXTERNAL USE SCHEMA privilégio no esquema que contém a tabela. O metastore do Unity Catalog também deve ser explicitamente habilitado 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.

Observação

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

  • Acesso somente leitura às tabelas Delta gerenciadas pelo Unity Catalog.
  • Acesso de leitura e gravação às tabelas Iceberg gerenciadas pelo Unity Catalog.
  • Acesso de leitura exclusiva a tabelas Delta configuradas para leituras Iceberg.
  • Crie tabelas externas do Unity Catalog de acesso.
  • 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.

Requerimentos

  • Você deve configurar o acesso externo no metastore e conceder EXTERNAL USE SCHEMA ao principal 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 de tabela temporária para acesso a dados externos

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

Esta seção fornece um exemplo de como chamar explicitamente o endpoint da API de vending 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 "Authorization: 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 streaming de Pipelines Declarativas do Lakeflow Spark.
    • Tabelas online.
    • Índices de pesquisa vetorial.
  • A atualização de credenciais não é suportada no Iceberg 1.9.0. Use a versão mais recente do Iceberg para atualizar as credenciais.

Venda automática de credenciais de caminho

Para receber uma credencial temporária para um caminho, a entidade de segurança do Azure Databricks solicitante deve ser concedida:

  • O EXTERNAL USE LOCATION privilégio no local externo.
  • O EXTERNAL USE SCHEMA privilégio no esquema, se acessar uma tabela externa.

Assim como acontece com a vending de credenciais de tabela, o metastore do Unity Catalog deve ser explicitamente habilitado para acesso externo. Consulte Ativar o acesso a dados externos ao catálogo Unity.

As credenciais emitidas permitem o acesso direto ao local de armazenamento em nuvem, com escopo para 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 definidos.

Requerimentos

  • O metastore do Unity Catalog deve ter acesso externo habilitado e a entidade solicitante deve ser concedida EXTERNAL USE LOCATION. Se acederem a uma tabela externa, também devem ser concedidos EXTERNAL USE SCHEMA. Consulte Ativar o acesso a dados externos ao catálogo Unity.
  • O mecanismo externo deve ser capaz de acessar a URL do espaço de trabalho do Azure Databricks. Isso se aplica a espaços de trabalho que usam listas de acesso IP ou Link Privado do Azure.
  • As URLs de armazenamento em nuvem geradas pela API de venda automática de credenciais devem estar acessíveis ao mecanismo externo. Certifique-se de que o mecanismo é permitido pelo firewall e controles de acesso à rede nas contas de armazenamento em nuvem subjacentes.

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

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

Esta seção fornece um exemplo de como chamar explicitamente o endpoint da API de vending 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.

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 "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 Gerar uma credencial de caminho temporário na referência da API REST do Azure Databricks.