Ao ativar o modo de venda de credenciais para uma configuração de catálogo REST do Apache Iceberg, o Lakehouse para Apache Iceberg vende tokens de armazenamento de curta duração e com escopo reduzido para mecanismos de consulta ou cargas de trabalho autorizados.
No catálogo de tempo de execução do Lakehouse, esse método de autenticação elimina a necessidade de você ou dos tempos de execução de consultas terem permissões de leitura e gravação diretas no bucket do Cloud Storage.
Antes de começar
- Leia Sobre o catálogo de ambientes de execução do Lakehouse para entender como ele funciona e as limitações do serviço.
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
Funções exigidas
Para receber as permissões necessárias para ativar a venda de credenciais, peça ao administrador que conceda a você os seguintes papéis do IAM:
-
Todos:
- Administrador do BigLake (
roles/biglake.admin) no projeto - Administrador do Storage (
roles/storage.admin) no projeto
- Administrador do BigLake (
-
Conta de serviço do catálogo REST do Apache Iceberg provisionada automaticamente:
Usuário de objetos do Storage (
roles/storage.objectUser) em todos os buckets associados do Cloud Storage. Depois de ativar a venda de credenciais, conceda explicitamente o papel de usuário de objetos do Storage (roles/storage.objectUser) em todos os buckets de armazenamento associados à conta de serviço do catálogo REST do Apache Iceberg provisionada automaticamente.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Ativar a venda de credenciais
Se o método de autenticação do catálogo REST do Apache Iceberg estiver definido como credenciais de usuário final, você poderá mudar para o modo de venda de credenciais.
Console
- No console do Google Cloud , abra a página Lakehouse.
Na linha do catálogo que você está atualizando, selecione Mais ações do catálogo > Editar autenticação.
Na caixa de diálogo de autenticação, selecione Modo de venda de credenciais. A conta de serviço do catálogo REST do Apache Iceberg provisionada automaticamente requer a função explícita Usuário de objetos do Storage (
roles/storage.objectUser) em todos os buckets associados do Cloud Storage. Por padrão, ele não tem acesso. Sem essa função, as credenciais vendidas não têm escopo suficiente para realizar gravações de armazenamento.Selecione Salvar.
Your catalog is updated and the **Catalog details** page opens.Em Método de autenticação, selecione Definir permissões do bucket.
Na caixa de diálogo, selecione Confirmar.
Isso verifica se a conta de serviço do catálogo tem o papel Usuário de objetos do Storage (roles/storage.objectUser) em todos os buckets de armazenamento associados.
gcloud
Use o comando gcloud biglake iceberg catalogs update.
gcloud biglake iceberg catalogs update \ CATALOG_NAME \ --project PROJECT_ID \ --credential-mode vended-credentials
Substitua:
CATALOG_NAME: um nome para o catálogo. Para catálogos do Lakehouse, esse é o nome do catálogo personalizado. Para catálogos bucket do Cloud Storage, isso corresponde ao ID do bucket do Cloud Storage usado com o catálogo REST. Esse nome também é usado como o identificador do catálogo ao consultar essas tabelas no BigQuery.PROJECT_ID: o ID do projeto do Google Cloud.Depois de ativar a venda de credenciais, conceda explicitamente o papel Usuário de objetos do Storage (
roles/storage.objectUser) em todos os buckets de armazenamento associados à conta de serviço do catálogo REST do Apache Iceberg provisionada automaticamente.
REST
Para ativar o modo de venda de credenciais usando a API REST, faça uma solicitação PATCH
para o endpoint UpdateIcebergCatalog:
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.credential_mode
O corpo da solicitação precisa conter um payload JSON IcebergCatalog com credential_mode definido como VENDED_CREDENTIALS.
Substitua:
PROJECT_ID: o ID do projeto Google Cloud .CATALOG_ID: o ID do catálogo do ambiente de execução do Lakehouse.