Venda automática de credenciais do Unity Catalog para acesso externo ao sistema
Visualização
Esse recurso está em Public Preview.
Esta página descreve como a funcionalidade de venda de credenciais do Unity Catalog oferece suporte ao acesso a dados no Databricks a partir de mecanismos de processamento externos.
A venda automática de credenciais é compatível com sistemas externos que se conectam ao Unity Catalog usando a API REST do Unity e o catálogo REST do Apache Iceberg. Consulte Read Databricks tables from Delta clients e Access Databricks uso de dados external systems.
O que é a venda automática de credenciais do Unity Catalog?
A venda de credenciais concede credenciais de curta duração utilizando a API REST do Unity Catalog. As credenciais concedidas herdam os privilégios do principal do Databricks usado para configurar a integração.
A venda de credenciais de tabela fornece acesso aos dados registrados no seu metastore do Unity Catalog.
A venda de credenciais de caminho fornece acesso a locais externos no seu metastore do Unity Catalog.
Venda de credenciais de mesa
Para receber uma credencial temporária para uma tabela, o principal solicitante (usuário, grupo ou entidade de serviço) Databricks deve ter o privilégio EXTERNAL USE SCHEMA
no esquema que contém a tabela. O metastore do Unity Catalog também deve ser explicitamente habilitado para acesso externo. Consulte Ativar acesso a dados externos ao Unity Catalog.
As credenciais incluem cadeias de tokens de acesso de curta duração e URL do local de armazenamento em nuvem que o mecanismo externo pode usar para acessar os dados da tabela e os metadados do local de armazenamento em nuvem.
A venda de credenciais da tabela Unity Catalog suporta o seguinte:
- Acesso somente de leitura às tabelas Unity Catalog gerenciar Delta.
- Acesso de leitura e gravação às tabelas Unity Catalog gerenciar Iceberg.
- Acesso somente de leitura às tabelas Delta configuradas para leituras Iceberg.
- Crie acesso às tabelas externas do Unity Catalog.
- Acesso de leitura e gravação às tabelas externas do Unity Catalog.
Alguns clientes oferecem suporte ao acesso a tabelas apoiadas pelo Delta Lake, enquanto outros exigem que o senhor ative as leituras do Iceberg (UniForm) nas tabelas. Veja as tabelas Ler Delta com clientes Iceberg.
Requisitos
- Você deve configurar o acesso externo no metastore e conceder
EXTERNAL USE SCHEMA
ao principal que está configurando a conexão. Consulte Habilitar acesso a dados externos no Unity Catalog. - Para acessar o Databricks workspace usando o Unity Catalog Open APIs ou Iceberg REST APIs, o URL workspace deve estar acessível ao mecanismo que executa a solicitação. Isso inclui espaços de trabalho que usam listas de acesso IP ou AWS 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 a conta de armazenamento em nuvem subjacente.
Solicite uma credencial de tabela temporária para acesso externo a dados
O suporte para venda de credenciais varia de acordo com o cliente externo. Onde houver suporte, o cliente deve aproveitar automaticamente as credenciais vendidas quando uma conexão é configurada.
Esta seção fornece um exemplo de como chamar explicitamente o endpoint da API de venda de credenciais. Alguns clientes externos podem exigir que o senhor defina explicitamente as configurações para acessar dados e metadados no armazenamento de objetos na nuvem que fazem backup das tabelas do Unity Catalog. Você pode usar valores retornados pela venda de credenciais para configurar o acesso.
O senhor pode recuperar uma lista de tabelas que suportam a venda de credenciais invocando a API ListTables com a opção include_manifest_capabilities
ativada. Somente as tabelas marcadas como HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT
ou HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT
são elegíveis para referência na API temporary-table-credentials. Consulte GET /api/2.1/unity-catalog/tables.
O exemplo curl
a seguir solicita explicitamente uma credencial temporária para acesso externo a dados. Essa solicitação deve ser preenchida por um diretor com privilégios suficientes workspace.
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 obter detalhes, consulte POST /api/2.1/unity-catalog/temporary-table-credentials na referência da API REST da Databricks.
Limitações
Aplicam-se as seguintes limitações:
-
Nem todos os clientes externos oferecem suporte à venda de credenciais, e o suporte pode variar dependendo do armazenamento subjacente de objetos na nuvem.
-
Somente as tabelas gerenciais Unity Catalog e as tabelas externas Unity Catalog são compatíveis.
- As tabelas habilitadas para leituras Iceberg compartilham esse requisito. Veja as tabelas Ler Delta com clientes Iceberg.
- Os clientes leitores do Delta Lake só podem ler tabelas com suporte do Delta Lake e devem oferecer suporte a todos os protocolos de leitura ou gravação habilitados na tabela. Consulte Delta Lake recurso compatibilidade e protocolos.
- As tabelas externas que não usam o Delta Lake não oferecem garantias transacionais.
-
Não há suporte para os seguintes tipos de tabela ou tabelas com recurso ativado:
- Tabelas com filtros de linha ou máscaras de coluna.
- Tabelas compartilhadas usando o Delta Sharing.
- tabelas federadas de lakehouse (tabelas estrangeiras).
- vista.
- Visualização materializada.
- LakeFlow Tabelas declarativas de transmissão de pipeline.
- Tabelas online.
- Índices de pesquisa vetorial.
-
A credencial refresh não é compatível com o site Iceberg 1.9.0. Use a versão mais recente do Iceberg para a credencial refresh.
Venda de credenciais da Path
Para receber uma credencial temporária para um caminho, o principal Databricks solicitante deve ter permissão para:
- O privilégio
EXTERNAL USE LOCATION
no local externo. - O privilégio
EXTERNAL USE SCHEMA
no esquema, se estiver acessando uma tabela externa.
Assim como na venda de credenciais de tabela, o metastore do Unity Catalog deve ser explicitamente habilitado para acesso externo. Consulte Ativar acesso a dados externos ao Unity Catalog.
As credenciais emitidas permitem acesso direto ao local de armazenamento em nuvem, com base no caminho relevante. Eles são válidos por tempo limitado e não concedem acesso mais amplo além do local ou da tabela definidos.
Requisitos
- O metastore do Unity Catalog deve ter acesso externo habilitado, e o principal solicitante deve ter permissão de acesso ao Unity Catalog (
EXTERNAL USE LOCATION
). Se estiverem acessando uma tabela externa, eles também devem receberEXTERNAL USE SCHEMA
. Consulte Ativar acesso a dados externos ao Unity Catalog. - O mecanismo externo deve ser capaz de acessar o URL Databricks workspace . Isso se aplica a áreas de trabalho que utilizam listas de acesso IP ou um Link PrivadoAWS.
- As URLs de armazenamento em nuvem geradas pela API de venda de credenciais devem estar acessíveis ao mecanismo externo. Certifique-se de que o motor está autorizado pela firewall e pelos controlos de acesso à rede na conta de armazenamento em nuvem subjacente.
Solicite uma credencial de caminho temporária para acesso externo a dados
O suporte para venda de credenciais varia de acordo com o cliente externo. Onde houver suporte, o cliente deve aproveitar automaticamente as credenciais vendidas quando uma conexão é configurada.
Esta seção fornece um exemplo de como chamar explicitamente o endpoint da API de venda de credenciais. Alguns clientes externos podem exigir que o senhor defina explicitamente as configurações para acessar dados e metadados no armazenamento de objetos na nuvem que fazem backup das tabelas do Unity Catalog. Você pode usar valores retornados pela venda de credenciais para configurar o acesso.
O exemplo curl
a seguir solicita explicitamente uma credencial temporária para acesso externo a dados. Essa solicitação deve ser preenchida por um diretor com privilégios suficientes workspace.
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 Databricks.