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 operações muda um pouco para aplicar políticas antes que o armazenamento seja acessado:
- Solicitação:um usuário envia uma instrução SQL, como uma consulta, uma operação DML ou DDL, para 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. O token tem escopo para os caminhos associados à tabela e escopo reduzido para as permissões mínimas necessárias (por exemplo, acesso somente leitura para consultas que não precisam gravar arquivos).
- Acesso:o mecanismo usa esse token para ler ou gravar os arquivos autorizados específicos diretamente do Cloud Storage.
- Computação:o mecanismo processa os dados ou executa a operação 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 à venda de credenciais.
- 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: conceda o papel Usuário de objetos do Storage (
roles/storage.objectUser) a essa conta em todos os buckets do Cloud Storage associados. Sem esse acesso, as credenciais vendidas não podem ler nem gravar no armazenamento. Se você usar o Google Cloud console, clique em Definir permissões do bucket para 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 Serviço Gerenciado para Apache Spark, o Serviço Gerenciado para 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.
- Saiba como configurar o aplicativo cliente para a venda de credenciais vending.