La funzionalità di vendita di credenziali per il catalogo runtime Lakehouse ti consente di delegare l'accesso allo spazio di archiviazione e applicare autorizzazioni granulari ai file di dati. Nell'ambito di Lakehouse for Apache Iceberg, questa funzionalità ti consente di gestire i criteri di Identity and Access Management (IAM) a livello di tabella per le tabelle archiviate in Cloud Storage.
Puoi utilizzare gcloud CLI per recuperare e impostare questi criteri per controllare l'accesso a
lle risorse.
Come funziona la vendita di credenziali
Quando utilizzi la vendita di credenziali, la sequenza di elaborazione delle query cambia leggermente per applicare i criteri prima della lettura dei dati:
- Richiesta: un utente invia una query SQL a un motore supportato (ad esempio Apache Spark o BigQuery).
- Ricerca dei metadati: il motore invia una richiesta al catalogo runtime Lakehouse per risolvere la tabella.
- Autenticazione e criteri: il catalogo autentica l'utente e controlla le sue autorizzazioni IAM sulle risorse Lakehouse di Google Cloud.
- Risposta: poiché la vendita di credenziali è abilitata, il catalogo restituisce i metadati e un token di archiviazione di breve durata (credenziali di archiviazione con ambito ridotto) al motore.
- Lettura: il motore utilizza questo token per leggere i file autorizzati specifici direttamente da Cloud Storage.
- Calcolo: il motore elabora i dati e restituisce i risultati.
Motori supportati
Per utilizzare la vendita di credenziali con i motori di query, il catalogo REST Lakehouse Iceberg deve essere configurato per supportare la vendita di credenziali.
- Motori open source: i motori supportati come Apache Spark e Trino utilizzano token di archiviazione di breve durata venduti dal catalogo. L'applicazione client deve specificare il supporto per la vendita di credenziali nell'intestazione
X-Iceberg-Access-Delegation. - BigQuery: BigQuery utilizza le credenziali vendute per l'accesso a Cloud Storage anziché le credenziali dell'utente finale.
Autorizzazioni del account di servizio richieste
Quando la vendita di credenziali è abilitata, assicurati che i seguenti service account abbiano i ruoli necessari:
- Account di servizio del catalogo runtime Lakehouse con provisioning automatico: devi
concedere a questo
account il ruolo Storage Object User (
roles/storage.objectUser) su tutti i bucket Cloud Storage associati. questo account non ha accesso. Senza questo accesso, le credenziali vendute non possono leggere o scrivere nello spazio di archiviazione. Se utilizzi la Google Cloud console, facendo clic su Imposta autorizzazioni bucket questo ruolo viene verificato. Per gcloud CLI, Terraform o l'API, devi concedere questo ruolo manualmente. - Service account del motore di query: i service account che eseguono job del motore di query (ad esempio Managed Service for Apache Spark, Managed Service for Apache Spark o
Dataflow) richiedono il ruolo Editor BigLake (
roles/biglake.editor) per ottenere le credenziali vendute con ambito di scrittura.
Passaggi successivi
- Scopri come creare un catalogo in modalità di vendita di credenziali.
- Scopri come abilitare la vendita di credenziali per un catalogo esistente utilizzando la Google Cloud console.