Un account di servizio dello spazio dei nomi in Cloud Data Fusion ti consente di applicare controllo dell'accesso granulare tra gli spazi dei nomi durante la fase di progettazione della pipeline. La configurazione di un account di servizio Identity and Access Management (IAM) dedicato limita le attività in fase di progettazione, come Wrangler, l'anteprima della pipeline e la convalida della pipeline, a risorse Google Cloud specifiche.
Informazioni sugli spazi dei nomi in Cloud Data Fusion
Uno spazio dei nomi è un raggruppamento logico di applicazioni, dati e metadati associati in un'istanza Cloud Data Fusion. Puoi pensare agli spazi dei nomi come a una partizione dell'istanza. Qualsiasi applicazione o dato, qui denominato entità, può esistere in modo indipendente in più spazi dei nomi. In una singola istanza, uno spazio dei nomi archivia i dati e i metadati di un'entità indipendentemente da un altro spazio dei nomi.
Controllo dell'accesso con un account di servizio dello spazio dei nomi
Per controllare l'accesso alle risorse Google Cloud , gli spazi dei nomi in Cloud Data Fusion utilizzano l'agente di servizio API Data Fusion per impostazione predefinita.
Per un migliore isolamento dei dati, puoi associare un account di servizio IAM personalizzato (noto come service account per spazio dei nomi) a ogni spazio dei nomi. Il account di servizio IAM personalizzato, che può essere diverso per spazi dei nomi diversi, ti consente di controllare l'accesso alle risorseGoogle Cloud tra gli spazi dei nomi per le operazioni in fase di progettazione della pipeline in Cloud Data Fusion, come l'anteprima della pipeline, Wrangler e la convalida della pipeline.
Prima di iniziare
- I service account per spazio dei nomi sono supportati nelle istanze abilitate per RBAC nelle versioni 6.10.0 e successive di Cloud Data Fusion.
- I service account per spazio dei nomi vengono utilizzati per controllare e gestire l'accesso alle risorse Google Cloud .
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni
necessarie per personalizzare i service account dello spazio dei nomi e concedere le autorizzazioni utente all'interno di uno spazio dei nomi,
chiedi all'amministratore di concederti il ruolo IAM
Cloud Data Fusion Admin (roles/datafusion.admin) nell'istanza Cloud Data Fusion nel progetto.
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.
Gestisci le autorizzazioni per gli utenti in uno spazio dei nomi
Per concedere agli utenti le autorizzazioni di cui hanno bisogno in uno spazio dei nomi, assegna loro ruoli Cloud Data Fusion predefiniti. Per saperne di più, consulta i ruoli Cloud Data Fusion predefiniti disponibili per gli utenti nelle istanze abilitate per RBAC.
Configura un account di servizio dello spazio dei nomi
Console
Per configurare un account di servizio per il namespace, segui questi passaggi:
- Se non hai un account di servizio esistente per lo spazio dei nomi, creane uno.
Nella console Google Cloud , vai alla pagina Istanze di Cloud Data Fusion e apri un'istanza nell'interfaccia web di Cloud Data Fusion.
Fai clic su Amministratore di sistema > Configurazione > Spazi dei nomi.
Fai clic sullo spazio dei nomi che vuoi configurare.
Fai clic sulla scheda Service account e poi su Aggiungi service account.

Concedi il ruolo Utente Workload Identity (
roles/iam.workloadIdentityUser).Per concedere il ruolo, segui questi passaggi:
- Nel campo Service account di progettazione della pipeline, inserisci l'indirizzo email del service account, ad esempio
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com. - Segui le istruzioni nella finestra di dialogo visualizzata.
- Nel campo Service account di progettazione della pipeline, inserisci l'indirizzo email del service account, ad esempio
Per completare la configurazione del account di servizio, torna allo spazio dei nomi della tua istanza Cloud Data Fusion e fai clic su Salva.
Ripeti i passaggi per configurare un account di servizio per ogni spazio dei nomi.
API REST
Concedi il ruolo Utente Workload Identity (
roles/iam.workloadIdentityUser).Per concedere il ruolo, segui questi passaggi:
Imposta le seguenti variabili di ambiente:
export TENANT_PROJECT_ID=TENANT_PROJECT export GSA_PROJECT_ID=SERVICE_ACCOUNT_PROJECTSostituisci quanto segue:
TENANT_PROJECT: l'ID progetto tenant. Per trovarlo, vai alla pagina Istanze e fai clic sul nome dell'istanza. L'ID viene visualizzato nella pagina Dettagli istanza.SERVICE_ACCOUNT_PROJECT: l'ID progettoGoogle Cloud in cui si trova il account di servizio IAM.
Concedi il ruolo Utente Workload Identity:
gcloud iam service-accounts add-iam-policy-binding \ --role roles/iam.workloadIdentityUser --member "serviceAccount:${TENANT_PROJECT_ID}.svc.id.goog[default/NAMESPACE_IDENTITY]" SERVICE_ACCOUNT_EMAIL \ --project ${GSA_PROJECT_ID}Sostituisci quanto segue:
NAMESPACE_IDENTITY: l'identità dello spazio dei nomi. Per saperne di più, consulta Dettagli di uno spazio dei nomi.SERVICE_ACCOUNT_EMAIL: l'indirizzo email del account di servizio, ad esempioSERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.
Convalida l'indirizzo email del account di servizio dello spazio dei nomi del passaggio precedente. Imposta
environment variables, quindi esegui il seguente comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity/validate -X POST -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'Sostituisci quanto segue:
NAMESPACE_NAME: l'ID dello spazio dei nomi.SERVICE_ACCOUNT_EMAIL: l'indirizzo email del account di servizio IAM che vuoi impostare nello spazio dei nomi.
Imposta il account di servizio dello spazio dei nomi. Imposta
environment variables, quindi esegui il seguente comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
Modifica un account di servizio dello spazio dei nomi
Console
Per modificare un account di servizio dello spazio dei nomi, segui questi passaggi:
- Nell'istanza di Cloud Data Fusion, fai clic su Amministratore di sistema > Configurazione > Spazi dei nomi.
- Fai clic sullo spazio dei nomi che contiene il account di servizio da modificare.
- Per modificare il account di servizio, vai alla scheda Service account. Accanto al nome del account di servizio, fai clic su Menu > Modifica.
- Segui i passaggi per configurare un service account dello spazio dei nomi.
API REST
Per modificare un account di servizio dello spazio dei nomi, segui questi passaggi:
Imposta
environment variables, quindi esegui questo comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'Sostituisci quanto segue:
NAMESPACE_NAME: l'ID dello spazio dei nomi.SERVICE_ACCOUNT_EMAIL: l'indirizzo email del account di servizio IAM che vuoi impostare nello spazio dei nomi.
Elimina un account di servizio dello spazio dei nomi
Console
Per eliminare un account di servizio dello spazio dei nomi da uno spazio dei nomi, segui questi passaggi:
- Nell'istanza di Cloud Data Fusion, fai clic su Amministratore di sistema > Configurazione > Spazi dei nomi.
- Fai clic sullo spazio dei nomi che contiene il account di servizio che vuoi eliminare.
- Per rimuovere il account di servizio, vai alla scheda Service account. Accanto al nome del account di servizio, fai clic su Menu > Elimina.
API REST
Per eliminare un account di servizio dello spazio dei nomi da uno spazio dei nomi, segui questi passaggi:
Imposta
environment variables, quindi esegui questo comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X DELETESostituisci quanto segue:
NAMESPACE_NAME: l'ID dello spazio dei nomi.
Recupera il account di servizio dello spazio dei nomi
Console
Per ottenere le informazioni account di servizio per lo spazio dei nomi, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Istanze di Cloud Data Fusion e apri un'istanza nell'interfaccia web di Cloud Data Fusion.
Fai clic su Amministratore di sistema > Configurazione > Spazi dei nomi.
Fai clic sul nome di uno spazio dei nomi per visualizzare i dettagli del account di servizio.
API REST
Per ottenere il nome account di servizio dello spazio dei nomi, segui questi passaggi:
Imposta
environment variables, quindi esegui questo comando:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X GETSostituisci quanto segue:
NAMESPACE_NAME: l'ID dello spazio dei nomi.
Se l'operazione ha esito positivo, ricevi l'indirizzo email del account di servizio nella seguente risposta:
Response: {"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}
Passaggi successivi
- Scopri di più sul caso d'uso per controllo dell'accesso con i service account dello spazio dei nomi.
- Scopri di più sul controllo controllo dell'accesso basato su ruoli in Cloud Data Fusion.