A ativação do modo de venda de credenciais para uma configuração de catálogo REST do Apache Iceberg configura o Lakehouse sem fronteiras para vender tokens de armazenamento de curta duração e com escopo reduzido para mecanismos ou cargas de trabalho de consulta autorizados.
No catálogo de ambientes de execução do Lakehouse, esse método de autenticação elimina a necessidade de você ou dos ambientes de execução de consulta terem permissões diretas de leitura e gravação no bucket do Cloud Storage subjacente.
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 serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
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 serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
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 para conceder a você os seguintes papéis do IAM:
-
Todos:
- Administrador do BigLake (
roles/biglake.admin) no seu projeto - Administrador do Storage (
roles/storage.admin) no seu 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 do Cloud Storage associados. 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 com 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 do usuário final, você poderá mudar para o modo de venda de credenciais.
Console
- No Google Cloud console do, 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 exige o papel explícito de usuário de objetos do Storage (
roles/storage.objectUser) em todos os buckets do Cloud Storage associados. Por padrão, ela não tem acesso. Sem esse papel, 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 de 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 de buckets do Cloud Storage, ele corresponde ao ID do bucket do Cloud Storage usado com o catálogo REST. Esse nome também é usado como identificador do catálogo ao consultar essas tabelas no BigQuery.PROJECT_ID: o Google Cloud ID do projeto.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.
REST
Para ativar o modo de venda de credenciais usando a API REST, faça uma PATCH solicitação
para o UpdateIcebergCatalog endpoint:
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 Google Cloud projeto.CATALOG_ID: o ID do catálogo de ambientes de execução do Lakehouse.