AI Platform Pipelines dipende dai ruoli IAM (Identity and Access Management) per autorizzare utenti, gruppi e servizi durante le pipeline di machine learning (ML) per accedere alle risorse Google Cloud.
Questo documento descrive i ruoli necessari per:
- Configurare AI Platform Pipelines.
- Esegui AI Platform Pipelines con un account di servizio gestito dall'utente.
- Accedi ad AI Platform Pipelines come utente.
Scopri di più sui concetti di IAM e sul suo funzionamento.
Ruoli necessari per configurare AI Platform Pipelines
Per eseguire il deployment di AI Platform Pipelines, devi disporre del ruolo Visualizzatore (roles/viewer
)
e Amministratore di Kubernetes Engine (roles/container.admin
).
Il ruolo Visualizzatore fornisce l'accesso in lettura a tutte le risorse all'interno di un progetto. La
Il ruolo Amministratore di Kubernetes Engine fornisce l'accesso completo ai cluster Kubernetes e
oggetti API di Kubernetes.
Per seguire il principio del privilegio minimo, configura il tuo cluster AI Platform Pipelines in modo da utilizzare l'accesso granulare. Per configurare
con accesso granulare, ti deve essere concesso anche l'account di servizio
Ruolo Amministratore (roles/iam.serviceAccountAdmin
) per il progetto. Il ruolo Amministratore account di servizio consente di creare e configurare account di servizio IAM.
Scopri di più sulla concessione dell'accesso ai ruoli IAM.
Ruolo | Autorizzazioni |
---|---|
Visualizzatore (roles/viewer ) |
Autorizzazioni per azioni di sola lettura che non influiscono sullo stato, come visualizzare (ma non modificare) risorse o dati esistenti al suo interno di un progetto. |
Kubernetes Engine Admin( Fornisce l'accesso alla gestione completa dei cluster e dei relativi oggetti API di Kubernetes.
Per impostare un account di servizio sui nodi, devi disporre anche del ruolo Utente account di servizio
( Risorse di livello più basso a cui puoi concedere questo ruolo:
|
|
Amministratore account di servizio( Crea e gestisce i service account. Risorse di livello più basso a cui puoi concedere questo ruolo:
|
|
Ruoli necessari per eseguire AI Platform Pipelines con un account di servizio gestito dall'utente
I pod in un cluster Google Kubernetes Engine (GKE) si autenticano su Google Cloud utilizzando l'account di servizio del cluster GKE. Per semplificare la configurazione e l'utilizzo di AI Platform Pipelines,
i cluster GKE creati da AI Platform Pipelines utilizzano l'account di servizio Compute Engine predefinito con l'ambito di accesso
https://www.googleapis.com/auth/cloud-platform
. Questo ambito di accesso fornisce l'accesso completo alle API e alle risorse Google Cloud che hai attivato nel tuo progetto, il che potrebbe fornire ai carichi di lavoro sul tuo cluster un accesso eccessivo a Google Cloud.
Per assegnare autorizzazioni granulari ai carichi di lavoro in esecuzione sul tuo AI Platform Pipelines, crea un account di servizio per il cluster e concedi questo account di servizio accede ai seguenti ruoli nel progetto:
- Visualizzatore monitoraggio: il ruolo Visualizzatore monitoraggio (
roles/monitoring.viewer
) fornisce l'accesso in lettura ai dati e alle configurazioni di monitoraggio. - Monitoring Metric Writer: il ruolo Monitoring Metric Writer (
roles/monitoring.metricWriter
) fornisce l'accesso in scrittura in modo che il tuo cluster possa scrivere le metriche. - Writer log: il ruolo Writer log (
roles/logging.logWriter
) consente agli utenti del cluster e scrivere le voci di log. - Visualizzatore oggetti Storage: se prevedi di creare immagini container personalizzate per le tue pipeline archiviate in Container Registry, concedi al tuo cluster AI Platform Pipelines l'accesso al ruolo Visualizzatore oggetti Storage (
roles/storage.objectViewer
) nel progetto.
Devi inoltre concedere al tuo account di servizio l'accesso a qualsiasi account Google Cloud risorse o API utilizzate dalle tue pipeline ML.
- Configura il tuo cluster GKE in modo da utilizzare un cluster gestito dall'utente dell'account di servizio.
- Scopri di più sui ruoli IAM e sulla gestione degli account di servizio.
Ruolo | Titolo | Descrizione | Autorizzazioni |
---|---|---|---|
Monitoring Viewer( Fornisce l'accesso di sola lettura per recuperare ed elencare le informazioni su tutti i dati e le configurazioni del monitoraggio. Risorse di livello più basso a cui puoi concedere questo ruolo:
|
|
||
Monitoring Metric Writer( Fornisce l'accesso in sola scrittura alle metriche. Fornisce esattamente le autorizzazioni necessarie all'agente Cloud Monitoring e ad altri sistemi che inviano metriche. Risorse di livello più basso a cui puoi concedere questo ruolo:
|
|
||
Logs Writer( Fornisce le autorizzazioni per scrivere voci di log. Risorse di livello più basso in cui puoi concedere questo ruolo:
|
|
||
Storage Object Viewer( Concede l'accesso per visualizzare gli oggetti e i relativi metadati, esclusi gli ACL. Consente anche di elencare gli oggetti in un bucket. Risorse di livello più basso a cui puoi concedere questo ruolo:
|
|
Ruoli richiesti per accedere ad AI Platform Pipelines come utente
Per accedere a un cluster di AI Platform Pipelines, a ogni utente deve essere concesso il ruolo visualizzatore del cluster Kubernetes Engine (roles/container.clusterViewer
) e il ruolo utente dell'account di servizio per l'account di servizio del cluster Google Kubernetes Engine.
Ruolo | Titolo | Descrizione | Autorizzazioni |
---|---|---|---|
Kubernetes Engine Cluster Viewer( Fornisce l'accesso per recuperare ed elencare i cluster GKE. |
|
Passa alla sezione successiva per scoprire come concedere agli utenti l'accesso al il ruolo Visualizzatore cluster Kubernetes Engine e il ruolo Utente account di servizio.
Concedere a un utente l'accesso ad AI Platform Pipelines
Segui le istruzioni riportate di seguito per concedere a un account utente l'accesso al tuo del cluster AI Platform Pipelines.
Apri le pipeline della piattaforma AI nella console Google Cloud.
Trova il tuo cluster AI Platform Pipelines. Prendi nota il cluster e la zona da utilizzare nei passaggi successivi.
Apri una sessione di Cloud Shell.
Cloud Shell si apre in un frame nella parte inferiore della console Google Cloud. Utilizza le funzionalità di Cloud Shell per completare il resto del processo.
Esegui questo comando per impostare il progetto Google Cloud predefinito sessione di Cloud Shell.
gcloud config set project PROJECT_ID
Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.
Esegui questo comando per trovare l'account di servizio dei cluster GKE.
gcloud container clusters describe CLUSTER_NAME --zone ZONE \ --format="flattened(nodePools[].config.serviceAccount)"
Sostituisci quanto segue:
- CLUSTER_NAME: il nome del tuo cluster GKE.
- ZONE: la zona in cui è stato creato il cluster.
La risposta potrebbe indicare che il tuo cluster utilizza un account di servizio chiamato
default
. Questo valore si riferisce all'account di servizio predefinito per in Compute Engine. Esegui questo comando per trovare il nome completo l'account di servizio.gcloud iam service-accounts list \ --filter "compute@developer.gserviceaccount.com"
Scopri di più sull'account di servizio predefinito di Compute Engine.
Concedi al tuo account utente il ruolo Utente account di servizio nell'account di servizio del tuo cluster GKE.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME \ --member=user:USERNAME \ --role=roles/iam.serviceAccountUser
Sostituisci quanto segue:
- SERVICE_ACCOUNT_NAME: il nome dell'account di servizio del tuo cluster GKE, che hai trovato nel passaggio precedente. I nomi degli account di servizio hanno il seguente formato: *@*.gserviceaccount.com.
- USERNAME: il tuo nome utente su Google Cloud.
Concedi al tuo account utente l'accesso al ruolo visualizzatore del cluster GKE nel progetto.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USERNAME --role roles/container.clusterViewer
Sostituisci quanto segue:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- USERNAME: il tuo nome utente su Google Cloud.