Ativar a venda de credenciais

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 subjacente.

Antes de começar

  1. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  2. 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ão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

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:
  • Conta de serviço do catálogo REST do Apache Iceberg provisionada automaticamente: Usuário de objetos do Storage (roles/storage.objectUser) no bucket de destino do Cloud Storage. Depois de ativar a venda de credenciais, conceda explicitamente o papel de usuário de objetos do Storage (roles/storage.objectUser) no bucket de armazenamento à conta de serviço do catálogo REST do Apache Iceberg provisionada automaticamente do catálogo.

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

  1. No console do Google Cloud , abra a página Lakehouse.

Acessar o Lakehouse

  1. Na linha do catálogo que você está atualizando, selecione Mais ações do catálogo > Editar autenticação.

    1. 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 o papel explícito Usuário de objetos do Storage (roles/storage.objectUser) no bucket de destino do Cloud Storage. Por padrão, ele é criado com acesso somente para leitores. Sem essa função, as credenciais vendidas não têm escopo suficiente para realizar gravações de armazenamento.

    2. Selecione Salvar. ` Seu catálogo é atualizado e a página Detalhes do catálogo é aberta.

  2. Em Método de autenticação, selecione Definir permissões do bucket.

    1. 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) 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 for gs://bucket-id, o nome do catálogo poderá ser bucket-id. 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.
  • 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, US ou us-central1) ou da UE (por exemplo, EU ou europe-west4), especifique US ou EU, respectivamente, para garantir que o catálogo esteja acessível e disponível para consultas 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 Usuário de objetos do Storage (roles/storage.objectAdmin) no bucket de armazenamento à 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.credentialMode

O corpo da solicitação precisa conter um payload JSON IcebergCatalog com credentialMode 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.