Attiva la distribuzione delle credenziali

L'abilitazione della modalità di distribuzione delle credenziali per un catalogo REST Apache Iceberg esistente configura Lakehouse for Apache Iceberg per distribuire token di archiviazione di breve durata e con ambito ridotto ai motori di query o ai carichi di lavoro autorizzati.

All'interno del catalogo di runtime di Lakehouse, questo metodo di autenticazione elimina la necessità per te o per i runtime di query di disporre delle autorizzazioni di lettura e scrittura dirette sul bucket Cloud Storage sottostante.

Prima di iniziare

  1. Verifica che la fatturazione sia attivata per il tuo Google Cloud progetto.

  2. Abilita l'API BigLake.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per abilitare la distribuzione delle credenziali, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Tutti:
  • Account di servizio del catalogo REST Apache Iceberg con provisioning automatico: Storage Object User (roles/storage.objectUser) sul bucket Cloud Storage di destinazione. Dopo aver abilitato la distribuzione delle credenziali, concedi esplicitamente il ruolo Storage Object User (roles/storage.objectUser) sul bucket di archiviazione al account di servizio del catalogo REST Apache Iceberg con provisioning automatico.

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Abilitare la distribuzione delle credenziali

Se il metodo di autenticazione per il catalogo REST Apache Iceberg è impostato sulle credenziali dell'utente finale, puoi passare alla modalità di distribuzione delle credenziali.

Console

  1. Nella Google Cloud console, apri la pagina Lakehouse.

Vai a Lakehouse

  1. Nella riga del catalogo che stai aggiornando, seleziona Altre azioni del catalogo > Modifica autenticazione.

    1. Nella finestra di dialogo di autenticazione, seleziona Modalità di distribuzione delle credenziali. Il account di servizio del catalogo REST Apache Iceberg con provisioning automatico richiede il ruolo esplicito Storage Object User (roles/storage.objectUser) sul bucket Cloud Storage di destinazione. Per impostazione predefinita, viene creato con accesso di sola visualizzazione. Senza questo ruolo, le credenziali distribuite non hanno un ambito sufficiente per eseguire scritture di archiviazione.

    2. Seleziona Salva. ` Il catalogo viene aggiornato e si apre la pagina Dettagli catalogo.

  2. In Metodo di autenticazione, seleziona Imposta autorizzazioni bucket.

    1. Nella finestra di dialogo, seleziona Conferma.

In questo modo viene verificato che il account di servizio del catalogo abbia il ruolo Storage Object User (roles/storage.objectUser) sul bucket di archiviazione.

gcloud

Utilizza il 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]

Sostituisci quanto segue:

  • CATALOG_NAME: un nome per il catalogo. Questo nome spesso corrisponde all'ID bucket Cloud Storage utilizzato con il catalogo REST Iceberg di Lakehouse. Ad esempio, se il bucket è gs://bucket-id, il nome del catalogo potrebbe essere bucket-id. Questo nome viene utilizzato anche come identificatore del catalogo quando si eseguono query su queste tabelle da BigQuery.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • LOCATION: (facoltativo) la regione principale per il catalogo per garantire l'interoperabilità con BigQuery. Per i bucket Cloud Storage nella regione Stati Uniti (ad esempio, US o us-central1) o nella regione UE (ad esempio, EU o europe-west4), specifica rispettivamente US o EU per assicurarti che il catalogo sia accessibile e disponibile per le query dalle multiregioni BigQuery corrispondenti. Per saperne di più, consulta Regioni dei bucket e dei cataloghi.

    Dopo aver creato il catalogo, concedi esplicitamente il ruolo Storage Object User (roles/storage.objectAdmin) sul bucket di archiviazione al account di servizio del catalogo REST Apache Iceberg con provisioning automatico.

REST

Per abilitare la modalità di distribuzione delle credenziali utilizzando l'API REST, invia una PATCH richiesta all'endpoint UpdateIcebergCatalog:

PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.credentialMode

Il corpo della richiesta deve contenere un payload JSON IcebergCatalog con credentialMode impostato su VENDED_CREDENTIALS.

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo Google Cloud progetto.
  • CATALOG_ID: l'ID del catalogo di runtime di Lakehouse.