Questa pagina descrive come utilizzare Identity and Access Management (IAM) per gestire l'accesso alle risorse Vertex AI. Per gestire l'accesso alle istanze Vertex AI Workbench, consulta Controllo dell'accesso alle istanze Vertex AI Workbench.
Panoramica
Vertex AI utilizza IAM per gestire l'accesso alle risorse. Quando pianifichi il controllo dell'accesso per le tue risorse, tieni conto di quanto segue:
Puoi gestire l'accesso a livello di progetto o di risorsa. L'accesso a livello di progetto si applica a tutte le risorse del progetto. L'accesso a una risorsa specifica si applica solo a quella risorsa. Consulta Accesso a livello di progetto e a livello di risorsa.
Puoi concedere l'accesso assegnando i ruoli IAM alle entità. I ruoli predefiniti sono disponibili per semplificare la configurazione dell'accesso, ma sono consigliati i ruoli personalizzati perché sono creati da te e puoi limitarne l'accesso solo alle autorizzazioni necessarie. Consulta Ruoli IAM.
Ruoli IAM
Esistono diversi tipi di ruoli IAM che possono essere utilizzati in Vertex AI:
I ruoli personalizzati ti consentono di scegliere un insieme specifico di autorizzazioni, creare il tuo ruolo con queste autorizzazioni e concederlo agli utenti della tua organizzazione.
I ruoli predefiniti ti consentono di concedere un insieme di autorizzazioni correlate alle tue risorse Vertex AI a livello di progetto.
I ruoli di base (Proprietario, Editor e Visualizzatore) forniscono il controllo dell'accesso alle risorse Vertex AI a livello di progetto e sono comuni a tutti i servizi Google Cloud.
Per aggiungere, aggiornare o rimuovere questi ruoli nel tuo progetto Vertex AI, consulta la documentazione su come concedere, modificare e revocare l'accesso.
Ruoli personalizzati
I ruoli personalizzati ti consentono di scegliere un insieme specifico di autorizzazioni, creare il tuo ruolo con queste autorizzazioni e concederlo agli utenti della tua organizzazione. Per ulteriori informazioni, consulta Informazioni sui ruoli IAM personalizzati.
Utilizzare i ruoli personalizzati per concedere le autorizzazioni con il privilegio minimo
I ruoli predefiniti spesso contengono più autorizzazioni di quelle necessarie. Puoi creare ruoli personalizzati per concedere alle entità solo le autorizzazioni specifiche richieste.
Ad esempio, puoi creare un ruolo personalizzato con l'autorizzazione aiplatform.endpoints.predict
e poi assegnarlo a un account di servizio su un endpoint. In questo modo, all'account di servizio viene concessa la possibilità di chiamare l'endpoint per le previsioni, ma non la possibilità di controllarlo.
Ruoli predefiniti per Vertex AI
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
Vertex AI Feature Store EntityType owner( Provides full access to all permissions for a particular entity type resource. Lowest-level resources where you can grant this role:
|
|
Vertex AI Platform Express Admin Beta( Grants admin access to Vertex AI Express |
|
Vertex AI Platform Express User Beta( Grants user access to Vertex AI Express |
|
Vertex AI Feature Store Admin( Grants full access to all resources in Vertex AI Feature Store Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Viewer( This role provides permissions to read Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Writer( This role provides permissions to read and write Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Instance Creator( Administrator of Featurestore resources, but not the child resources under Featurestores. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Resource Viewer( Viewer of all resources in Vertex AI Feature Store but cannot make changes. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store User Beta( Deprecated. Use featurestoreAdmin instead. |
|
Vertex AI Migration Service User( Grants access to use migration service in Vertex AI |
|
Notebook Executor User Beta( Grants users full access to schedules and notebook execution jobs. |
|
Notebook Runtime Admin( Grants full access to all runtime templates and runtimes in Notebook Service. |
|
Notebook Runtime User( Grants users permissions to create runtime resources using a runtime template and manage the runtime resources they created. |
|
Vertex AI Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Vertex AI User( Grants access to use all resource in Vertex AI |
|
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
|
Ruoli di base
I ruoli di base di Google Cloud precedenti sono comuni a tutti i servizi Google Cloud. Questi ruoli sono Proprietario, Editor e Visualizzatore.
Accesso a livello di progetto e a livello di risorsa
Puoi gestire l'accesso a livello di progetto o di risorsa. Potresti anche avere la possibilità di gestire l'accesso a livello di cartella o organizzazione.
Per la maggior parte delle risorse Vertex AI, l'accesso può essere controllato solo in base al progetto, alla cartella e all'organizzazione. L'accesso alle singole risorse può essere concesso solo per tipi di risorse specifici, ad esempio un endpoint o un feature store.
Gli utenti condividono il controllo di tutte le risorse a cui possono accedere. Ad esempio, se un utente registra un modello, tutti gli altri utenti autorizzati del progetto possono accedervi, modificarlo ed eliminarlo.
Per concedere l'accesso alle risorse a livello di progetto, assegna uno o più ruoli a un'entità (utente, gruppo o account di servizio).
Per le risorse Vertex AI che ti consentono di concedere l'accesso a livello di risorsa, imposta un criterio IAM su quella risorsa. Il criterio definisce i ruoli assegnati alle entità.
L'impostazione di un criterio a livello di risorsa non influisce sui criteri a livello di progetto. Una risorsa eredita tutti i criteri dalla sua ascendenza. Puoi utilizzare questi due livelli di granularità per personalizzare le autorizzazioni. Ad esempio, puoi concedere agli utenti autorizzazioni di lettura a livello di progetto in modo che possano leggere tutte le risorse del progetto, quindi puoi concedere agli utenti autorizzazioni di scrittura per risorsa (a livello di risorsa).
Non tutti i ruoli e le risorse predefinite di Vertex AI supportano i criteri a livello di risorsa. Per identificare i ruoli che possono essere utilizzati su quali risorse, consulta la tabella dei ruoli predefiniti.
Risorse supportate
Vertex AI supporta le risorse del feature store Vertex AI Feature Store e dei tipi di entità. Per ulteriori informazioni, consulta Controllare l'accesso alle risorse di Vertex AI Feature Store.
Dopo aver concesso o revocato l'accesso a una risorsa, queste modifiche richiedono del tempo per essere propagate. Per scoprire di più, consulta Propagazione della modifica di accesso.
Risorse, account di servizio e agenti di servizio
I servizi Vertex AI spesso gestiscono risorse a lungo termine che eseguono azioni, ad esempio l'esecuzione di un job di addestramento che legge i dati di addestramento o la pubblicazione di un modello di machine learning (ML) che legge il peso del modello. Queste risorse autonome hanno la propria identità quando svolgono azioni. Questa identità è diversa dall'identità del principale che ha creato la risorsa. Le autorizzazioni concesse all'identità della risorsa definiscono i dati e le altre risorse a cui l'identità della risorsa può accedere, non le autorizzazioni del principale che ha creato la risorsa.
Per impostazione predefinita, le risorse Vertex AI utilizzano gli account di servizio gestiti da Vertex AI come identità della risorsa. Questi account di servizio sono chiamati agenti di servizio Vertex AI e sono collegati al progetto in cui viene creata la risorsa. Gli utenti con autorizzazioni Vertex AI specifiche possono creare risorse che utilizzano agenti di servizio Vertex AI. Per alcuni servizi, puoi specificare un account di servizio da collegare alla risorsa. La risorsa utilizza questo account di servizio per accedere ad altre risorse e servizi. Per scoprire di più sugli account di servizio, consulta la sezione Account di servizio.
Vertex AI utilizza agenti di servizio diversi a seconda delle API chiamate. Ogni agente di servizio dispone di autorizzazioni IAM specifiche per il progetto a cui è associato. Queste autorizzazioni vengono utilizzate dall'identità della risorsa per eseguire azioni e possono includere l'accesso di sola lettura a tutte le risorse Cloud Storage e ai dati BigQuery del progetto.
Account di servizio
Un account di servizio è un account speciale utilizzato da un'applicazione o da un'istanza di macchina virtuale (VM), non da una persona. Puoi creare e assegnare autorizzazioni agli account di servizio per concedere autorizzazioni specifiche a una risorsa o un'applicazione.
Per informazioni sull'utilizzo di un account di servizio per personalizzare le autorizzazioni disponibili per un contenitore di addestramento personalizzato o un contenitore che fornisce previsioni online per un modello con addestramento personalizzato, leggi Utilizzare un account di servizio personalizzato.
Gli account di servizio sono identificati da un indirizzo email.
Agenti di servizio
Gli agenti di servizio vengono forniti automaticamente e consentono a un servizio di accedere alle risorse per tuo conto.
Quando viene creato un agente di servizio, a quest'ultimo viene concesso un ruolo predefinito per il progetto. La tabella seguente elenca gli agenti di servizio Vertex AI, i relativi indirizzi email e i rispettivi ruoli:
Nome | Utilizzato per | Indirizzo email | Ruolo |
---|---|---|---|
Vertex AI Service Agent | Funzionalità di Vertex AI | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Vertex AI Custom Code Service Agent |
Codice di addestramento personalizzato Codice dell'applicazione Ray on Vertex AI |
service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Vertex AI Extension Service Agent | Estensioni Vertex | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
roles/aiplatform.extensionServiceAgent |
Account di servizio Cloud AI Platform Notebooks | Funzionalità di Vertex AI Workbench | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
L'agente di servizio del codice personalizzato Vertex AI viene creato solo se esegui il codice di addestramento personalizzato per addestrare un modello con addestramento personalizzato.
Ruoli e autorizzazioni dell'agente di servizio
Consulta i seguenti ruoli e autorizzazioni concessi agli agenti di servizio Vertex AI.
Ruolo | Autorizzazioni |
---|---|
Vertex AI Service Agent( Concede a Vertex AI le autorizzazioni necessarie per il funzionamento. |
|
Vertex AI Custom Code Service Agent( Concede al codice personalizzato Vertex AI le autorizzazioni appropriate. |
|
AI Platform Notebooks Service Agent( Fornisce accesso per consentire all'agente di servizio Notebooks di gestire le istanze notebook nei progetti degli utenti |
|
Concedi agli agenti di servizio Vertex AI l'accesso ad altre risorse
A volte è necessario concedere ruoli aggiuntivi a un agente di servizio Vertex AI. Ad esempio, se hai bisogno di Vertex AI per accedere a un bucket Cloud Storage in un progetto diverso, dovrai concedere uno o più ruoli aggiuntivi all'agente di servizio.
Requisiti per l'aggiunta di ruoli per BigQuery
La tabella seguente descrive i ruoli aggiuntivi necessari da aggiungere all'agente di servizio Vertex AI per le tabelle o le visualizzazioni BigQuery in un progetto diverso o supportate da un'origine dati esterna.
Il termine progetto principale si riferisce al progetto in cui si trova il set di dati o il modello Vertex AI. Il termine altro progetto si riferisce a qualsiasi altro progetto.
Tipo di tabella | Progetto tabella | Progetto origine dati | Aggiunta di ruoli richiesta |
---|---|---|---|
Tabella BigQuery nativa | Progetto di casa | N/D | Nessuno. |
Tabella BigQuery nativa | Progetto diverso | N/D | BigQuery Data Viewer per un progetto diverso. Scopri di più. |
Vista BigQuery | Progetto di casa | N/D | Nessuno. |
Vista BigQuery | Progetto diverso | N/D | BigQuery Data Viewer per un progetto diverso. Scopri di più. |
Origine dati BigQuery esterna basata su Bigtable | Progetto di casa | Progetto di casa | Bigtable Reader per il progetto della casa. Scopri di più. |
Origine dati BigQuery esterna basata su Bigtable | Progetto di casa | Progetto diverso | Bigtable Reader per un progetto diverso. Scopri di più. |
Origine dati BigQuery esterna basata su Bigtable | Progetto diverso | Progetto diverso | BigQuery Reader e Bigtable Reader per progetti diversi. Scopri di più. |
Origine dati BigQuery esterna basata su Cloud Storage | Progetto di casa | Progetto di casa | Nessuno. |
Origine dati BigQuery esterna basata su Cloud Storage | Progetto di casa | Progetto diverso | Storage Object Viewer per un progetto diverso. Scopri di più. |
Origine dati BigQuery esterna basata su Cloud Storage | Progetto diverso | Progetto diverso | Storage Object Viewer e BigQuery Data Viewer per progetti diversi. Scopri di più. |
Origine dati BigQuery esterna supportata da Fogli Google | Progetto di casa | N/D | Condividi il file di Fogli con l'account di servizio Vertex AI. Scopri di più. |
Origine dati BigQuery esterna supportata da Fogli Google | Progetto diverso | N/D | BigQuery Reader per un progetto diverso e condividi il file di Fogli con l'account di servizio Vertex AI. |
Requisiti per l'aggiunta di ruoli per Cloud Storage
Se accedi ai dati in un bucket Cloud Storage in un progetto diverso, devi assegnare il ruolo Storage > Storage Object Viewer
a Vertex AI in quel progetto. Scopri di più.
Se utilizzi un bucket Cloud Storage per ricevere dati dal tuo computer locale per un'operazione di importazione e il bucket si trova in un progetto diverso da quello di Google Cloud, devi assegnare il ruolo Storage > Storage Object Creator
a Vertex AI in quel progetto. Scopri di più.
Concedi l'accesso a Vertex AI alle risorse del tuo progetto principale
Per concedere ruoli aggiuntivi a un agente di servizio per Vertex AI nel tuo progetto principale:
Vai alla pagina IAM della console Google Cloud per il tuo progetto Home.
Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
Determina l'agente di servizio a cui vuoi concedere le autorizzazioni e fai clic sull'icona a forma di matita .
Puoi filtrare in base a Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com per trovare gli agenti di servizio Vertex AI.
Concedi i ruoli richiesti all'account di servizio e salva le modifiche.
Concedi l'accesso a Vertex AI alle risorse di un altro progetto
Quando utilizzi origini dati o destinazioni in un progetto diverso, devi concedere le autorizzazioni dell'account di servizio Vertex AI in quel progetto. L'account di servizio Vertex AI viene creato dopo l'avvio del primo job asincrono (ad esempio la creazione di un endpoint). Puoi anche creare esplicitamente l'account di servizio Vertex AI utilizzando gcloud CLI seguendo queste istruzioni. Questo comando gcloud crea sia l'account di servizio predefinito sia l'account di servizio per il codice personalizzato, anche se nella risposta viene restituito solo l'account di servizio predefinito.
Per aggiungere autorizzazioni a Vertex AI in un altro progetto:
Vai alla pagina IAM della console Google Cloud per il tuo progetto principale (il progetto in cui utilizzi Vertex AI).
Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
Determina l'agente di servizio a cui vuoi concedere le autorizzazioni e copia il relativo indirizzo email (elencato in Entità).
Puoi filtrare in base a Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com per trovare gli agenti di servizio Vertex AI.
Cambia progetto nel progetto in cui devi concedere le autorizzazioni.
Fai clic su Aggiungi e inserisci l'indirizzo email in Nuove entità.
Aggiungi tutti i ruoli richiesti e fai clic su Salva.
Fornire l'accesso a Fogli Google
Se utilizzi un'origine dati BigQuery esterna supportata da Fogli Google, devi condividere il foglio con l'account di servizio Vertex AI. L'account di servizio Vertex AI viene creato dopo l'avvio del primo job asincrono (ad esempio la creazione di un endpoint). Puoi anche creare esplicitamente l'account di servizio Vertex AI utilizzando l'interfaccia alla gcloud CLI seguendo queste istruzioni.
Per autorizzare Vertex AI ad accedere al tuo file di Fogli:
Vai alla pagina IAM della console Google Cloud.
Cerca l'account di servizio con il nome
Vertex AI Service Agent
e copia il relativo indirizzo email (elencato in Entità).Apri il file di Fogli e condividilo con quell'indirizzo.
Passaggi successivi
- Scopri di più su IAM.
- Scopri autorizzazioni IAM specifiche e le operazioni supportate.
- Per scoprire i modi consigliati per configurare un progetto per un team, consulta Configurare un progetto per un team.
- Ottieni una panoramica di Vertex AI.