A venda de credenciais para o catálogo de ambiente de execução do Lakehouse permite delegar o acesso ao armazenamento e aplicar permissões detalhadas aos arquivos de dados. Como parte do Lakehouse para Apache Iceberg, esse recurso permite gerenciar políticas do Identity and Access Management (IAM) no nível da tabela para tabelas armazenadas no Cloud Storage.
É possível usar a CLI gcloud para receber e definir essas políticas para controlar o acesso aos recursos.
Como funciona a venda de credenciais
Ao usar a venda de credenciais, a sequência de processamento de consultas muda um pouco para aplicar políticas antes que os dados sejam lidos:
- Solicitação:um usuário envia uma consulta SQL a um mecanismo compatível (por exemplo, Apache Spark ou BigQuery).
- Pesquisa de metadados:o mecanismo envia uma solicitação ao catálogo de ambiente de execução do Lakehouse para resolver a tabela.
- Autenticação e política:o catálogo autentica o usuário e verifica as permissões do IAM nos recursos do Lakehouse do Google Cloud.
- Resposta:como a venda de credenciais está ativada, o catálogo retorna os metadados e um token de armazenamento de curta duração (credenciais de armazenamento com escopo reduzido) para o mecanismo.
- Leitura:o mecanismo usa esse token para ler os arquivos autorizados específicos diretamente do Cloud Storage.
- Computação:o mecanismo processa os dados e retorna os resultados.
Mecanismos compatíveis
Para usar a venda de credenciais com mecanismos de consulta, o catálogo REST do Lakehouse Iceberg precisa ser configurado para oferecer suporte a ela.
- Mecanismos de código aberto:mecanismos compatíveis, como Apache Spark e Trino, usam tokens de armazenamento de curta duração vendidos pelo catálogo. O aplicativo cliente precisa especificar o suporte para a venda de credenciais no cabeçalho
X-Iceberg-Access-Delegation. - BigQuery:o BigQuery usa credenciais vendidas para acesso ao Cloud Storage em vez de credenciais do usuário final.
Permissões necessárias da conta de serviço
Quando a venda de credenciais está ativada, verifique se as seguintes contas de serviço têm os papéis necessários:
- Conta de serviço do catálogo de ambiente de execução do Lakehouse provisionada automaticamente: é necessário
conceder o papel Usuário de objetos do Storage (
roles/storage.objectUser) a essa conta em todos os buckets do Cloud Storage associados. essa conta não tem acesso. Sem esse acesso, as credenciais vendidas não podem ler nem gravar no armazenamento. Se você usar o Google Cloud console, clicar em Definir permissões do bucket vai verificar esse papel. Para a CLI gcloud, o Terraform ou a API, é necessário conceder esse papel manualmente. - Contas de serviço do mecanismo de consulta: as contas de serviço que executam jobs do mecanismo de consulta (como o Managed Service for Apache Spark, o Managed Service for Apache Spark ou o Dataflow) exigem o papel Editor do BigLake (
roles/biglake.editor) para receber credenciais vendidas com escopo de gravação.
A seguir
- Saiba como criar um catálogo no modo de venda de credenciais.
- Saiba como ativar a venda de credenciais para um catálogo atual usando o Google Cloud console.