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.
O sistema de venda de credenciais oferece suporte a sistemas externos que se conectam ao Unity Catalog usando a API REST do Unity e o catálogo REST do Apache Iceberg. Consulte Acessar tabelas Databricks a partir de clientes Delta e Acessar Databricks usando dados de sistemas externos.
O que é a venda automática de credenciais do Unity Catalog?
O sistema de venda de credenciais concede credenciais de curta duração usando a API REST Unity Catalog . As credenciais concedidas herdam os privilégios da entidade Databricks usada para configurar a integração. Existem dois tipos de venda de credenciais:
- 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.
Requisitos
- O acesso externo deve ser configurado no metastore com
EXTERNAL USE SCHEMAconcedido ao principal solicitante. Consulte Ativar o acesso a dados externos no metastore. - O URL workspace deve ser acessível ao mecanismo solicitante, incluindo mecanismos que estejam atrás de listas de acesso IP ou AWS Private Link.
- Os URLs de armazenamento em nuvem devem ser acessíveis através de firewall e controles de rede.
Venda de credenciais de mesa
As credenciais da tabela incluem uma sequência de access token de curta duração e o URL do local de armazenamento cloud que o mecanismo externo pode usar para acessar os dados e metadados da tabela no local de armazenamento cloud .
Tipos de acesso suportados
O fornecimento de credenciais de tabela suporta os seguintes tipos de tabela e operações:
Tipo de tabela | Ler | Gravar | Criar |
|---|---|---|---|
Delta | Sim | Sim* | Sim* |
Delta externo | Sim | Sim | Sim |
Iceberg | Sim | Sim | Sim |
Delta com leituras Iceberg (UniForm) | Sim | Sim** | Não |
* A criação e a gravação de tabelas no Unity Catalog a partir de clientes Delta estão em versão Beta.
** Após escrever externamente em uma tabela UniForm a partir de um cliente Delta , execute MSCK REPAIR TABLE para gerar metadados Iceberg .
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.
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": "<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 Spark 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
As credenciais emitidas permitem o acesso direto ao local de armazenamento cloud , restrito ao caminho relevante. São válidos por um período limitado e não concedem acesso mais amplo além do local ou mesa definidos.
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.