Ativar o modo de venda de credenciais para um catálogo existente no Google Cloud console configura Lakehouse para Apache Iceberg para vender tokens de armazenamento de curta duração e com escopo reduzido para mecanismos de consulta autorizados.
No catálogo do ambiente de execução do Lakehouse, esse método de autenticação elimina a necessidade de os usuários terem permissões diretas de leitura e gravação no bucket do Cloud Storage subjacente.
Antes de começar
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
-
Ative a API BigLake.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.
Funções exigidas
Para receber as permissões necessárias para ativar a venda de credenciais no Google Cloud console, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Todos:
- Administrador do BigLake (
roles/biglake.admin) - Administrador de armazenamento (
roles/storage.admin)
- Administrador do BigLake (
-
Conta de serviço do catálogo do ambiente de execução do Lakehouse provisionada automaticamente:
Administrador de objetos do Storage (
roles/storage.objectUser) - o bucket do Cloud Storage de destino. Depois de ativar a venda de credenciais, conceda explicitamente a função de usuário de objetos do Storage (roles/storage.objectUser) no bucket de armazenamento à conta de serviço do catálogo do ambiente de execução do Lakehouse 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 personalizados papéis ou outros predefinidos papéis.
Ativar a venda de credenciais
Se o método de autenticação do catálogo estiver definido como credenciais de usuário final, você poderá mudar para o modo de venda de credenciais.
Console
No Google Cloud console, abra a página Lakehouse.
Na linha do catálogo que você está atualizando, clique em 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 do ambiente de execução do Lakehouse provisionada automaticamente exige o papel explícito de Usuário de objetos do Storage (
roles/storage.objectUser) no bucket de destino do Cloud Storage. Por padrão, ela é criada com acesso somente para leitores. Sem esse papel, as credenciais vendidas não terão escopo suficiente para realizar gravações de armazenamento.Clique em Salvar.
O catálogo é atualizado e a página Detalhes do catálogo é aberta.
Em Método de autenticação, clique em Definir permissões do bucket.
Na caixa de diálogo, clique em 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) no bucket de armazenamento.
gcloud
Use o comando gcloud biglake iceberg catalogs create.
gcloud biglake iceberg catalogs create \ CATALOG_NAME \ --project PROJECT_ID \ --catalog-type gcs-bucket \ --credential-mode vended-credentials \ [--primary-location LOCATION]
Substitua:
CATALOG_NAME: um nome para o catálogo. Esse nome geralmente corresponde ao ID do bucket do Cloud Storage usado com o catálogo REST do Lakehouse Iceberg. Por exemplo, se o bucket forgs://bucket-id, o nome do catálogo poderá serbucket-id. Esse nome também é usado como identificador do catálogo ao consultar essas tabelas no BigQuery.PROJECT_ID: o Google Cloud ID do projeto.LOCATION: (opcional) a região principal do catálogo para garantir a interoperabilidade com o BigQuery. Para buckets do Cloud Storage na região dos EUA (por exemplo,USouus-central1) ou na região da UE (por exemplo,EUoueurope-west4), especifiqueUSouEU, respectivamente, para garantir que o catálogo esteja acessível e disponível para consulta nas multirregiões correspondentes do BigQuery. Para mais informações, consulte Regiões de bucket e catálogo.Depois de criar o catálogo, conceda explicitamente o papel de Usuário de objetos do Storage (
roles/storage.objectAdmin) no bucket de armazenamento ao catálogo do ambiente de execução do Lakehouse provisionado automaticamente para a conta de serviço.