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 limitato ai motori di query o ai carichi di lavoro autorizzati.
All'interno del catalogo runtime Lakehouse, questo metodo di autenticazione elimina la necessità che tu o i runtime di query disponiate di autorizzazioni di lettura e scrittura dirette sul bucket Cloud Storage sottostante.
Prima di iniziare
- Leggi Informazioni sul catalogo runtime Lakehouse per capire come funziona il catalogo runtime Lakehouse e le limitazioni del servizio.
- 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.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per abilitare la distribuzione delle credenziali, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Tutti:
- BigLake Admin (
roles/biglake.admin) sul tuo progetto - Amministratore Spazio di archiviazione (
roles/storage.admin) sul tuo progetto
- BigLake Admin (
-
Account di servizio del catalogo REST Apache Iceberg con provisioning automatico:
Utente oggetti Storage (
roles/storage.objectUser) su tutti i bucket Cloud Storage associati. Dopo aver abilitato la distribuzione delle credenziali, concedi esplicitamente il ruolo Utente oggetti Storage (roles/storage.objectUser) su tutti i bucket di archiviazione associati 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.
Abilita la distribuzione delle credenziali
Se il metodo di autenticazione per il catalogo REST Apache Iceberg è impostato su credenziali dell'utente finale, puoi passare alla modalità di distribuzione delle credenziali.
Console
- Nella Google Cloud console, apri la pagina Lakehouse.
Nella riga del catalogo che stai aggiornando, seleziona Altre azioni del catalogo > Modifica autenticazione.
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 Utente oggetti Storage (
roles/storage.objectUser) su tutti i bucket Cloud Storage associati. Per impostazione predefinita, non ha accesso. Senza questo ruolo, le credenziali distribuite non hanno un ambito sufficiente per eseguire scritture di archiviazione.Seleziona Salva.
Your catalog is updated and the **Catalog details** page opens.In Metodo di autenticazione, seleziona Imposta autorizzazioni bucket.
Nella finestra di dialogo, seleziona Conferma.
In questo modo viene verificato che il account di servizio del catalogo abbia il ruolo Utente oggetti Storage (roles/storage.objectUser) su tutti i bucket di archiviazione associati.
gcloud
Utilizza il comando gcloud biglake iceberg catalogs update.
gcloud biglake iceberg catalogs update \ CATALOG_NAME \ --project PROJECT_ID \ --credential-mode vended-credentials
Sostituisci quanto segue:
CATALOG_NAME: un nome per il catalogo. Per i cataloghi Lakehouse, questo è il nome del catalogo personalizzato. Per i cataloghi dei bucket Cloud Storage, questo corrisponde all'ID bucket Cloud Storage utilizzato con il catalogo REST. 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 del progetto.Dopo aver abilitato la distribuzione delle credenziali, concedi esplicitamente il ruolo Utente oggetti Storage (
roles/storage.objectUser) su tutti i bucket di archiviazione associati 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.credential_mode
Il corpo della richiesta deve contenere un payload JSON IcebergCatalog con credential_mode impostato su VENDED_CREDENTIALS.
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.CATALOG_ID: l'ID del catalogo runtime Lakehouse.