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 refinadas 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 e controlar o acesso aos seus recursos.
Como funciona o fornecimento de credenciais
Ao usar a venda de credenciais, a sequência de operações muda um pouco para aplicar as políticas antes do acesso ao armazenamento:
- Solicitação:um usuário envia uma instrução SQL, como uma consulta ou uma operação DML ou DDL, a um mecanismo compatível. Por exemplo, Apache Spark ou BigQuery.
- Pesquisa de metadados:o mecanismo envia uma solicitação ao catálogo de tempo 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 é 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 a essa funcionalidade.
- 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 a compatibilidade com 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 estiver ativada, verifique se as seguintes contas de serviço têm os papéis necessários:
- Conta de serviço do catálogo de tempo de execução do Lakehouse provisionada automaticamente: conceda a essa conta o papel de usuário de objetos do Storage (
roles/storage.objectUser) em todos os buckets associados do Cloud Storage. Sem esse acesso, as credenciais vendidas não podem ler nem gravar no armazenamento. Se você usar o consoleGoogle Cloud , clique em Definir permissões do bucket para verificar essa função. Para a CLI gcloud, o Terraform ou a API, é necessário conceder essa função 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 de 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 consoleGoogle Cloud .