Configurare un progetto per un team

Questa pagina fornisce esempi di come configurare un progetto per un team che utilizza Vertex AI. Questa pagina presuppone che tu abbia già familiarità con i concetti di Identity and Access Management (IAM), come criteri, ruoli, autorizzazioni ed entità, come descritto in Controllo dell'accesso di controllo dell'accesso AI con IAM e Concetti relativi alla gestione dell'accesso.

Questi esempi sono pensati per essere utilizzati in generale. Tieni conto delle esigenze specifiche del team e modifica di conseguenza la configurazione del progetto.

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.

  • 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.

Per scoprire di più sul controllo dell'accesso dell'accesso, consulta Controllo dell'controllo dell'accesso AI con IAM.

Un singolo progetto con accesso condiviso ai dati e alle risorse Vertex AI

In questo esempio, un team condivide un singolo progetto contenente i propri dati e le risorse Vertex AI.

Potresti configurare un progetto in questo modo se i dati, i contenitori e altre risorse di Vertex AI del team possono essere condivisi tra tutti gli utenti del progetto.

Il criterio di autorizzazione IAM del progetto potrebbe essere simile al seguente:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/aiplatform.user",
      "members": [
        "user:USER1_EMAIL_ADDRESS",
        "user:USER2_EMAIL_ADDRESS"
      ]
    },
    {
      "role": "roles/storage.admin",
      "members": [
        "user:USER1_EMAIL_ADDRESS",
        "user:USER2_EMAIL_ADDRESS"
      ]
    },
    {
      "role": "roles/aiplatform.serviceAgent",
      "members": [
        "user:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com"
      ]
    }
  ]
}

Con questa configurazione, un team può collaborare più facilmente per addestrare i modelli, eseguire il debug del codice, eseguire il deployment dei modelli e osservare gli endpoint. Tutti gli utenti vedono le stesse risorse e possono eseguire l'addestramento con gli stessi dati. Le risorse Vertex AI operano all'interno di un singolo progetto, quindi non è necessario concedere l'accesso alle risorse esterne al progetto. La quota viene condivisa con tutto il team.

Per configurare il controllo dell'accesso per il progetto del tuo team, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Separare i dati e le risorse Vertex AI

In questo esempio, i dati del team si trovano in un progetto separato dalle risorse Vertex AI.

Potresti configurare un progetto in questo modo se:

  • È troppo difficile spostare i dati del team nello stesso progetto delle tue risorse Vertex AI.

  • I dati del team richiedono un controllo specifico su chi può accedervi.

In queste situazioni, ti consigliamo di creare un progetto per i dati e un altro per le risorse Vertex AI. Gli sviluppatori del team condividono il progetto che contiene le risorse Vertex AI. Utilizzano le risorse Vertex AI per accedere ed elaborare i dati memorizzati nell'altro progetto. Gli amministratori dei dati concedono l'accesso alle risorse Vertex AI tramite agenti di servizio o account di servizio personalizzati.

Ad esempio, puoi concedere agli agenti di servizio Vertex AI predefiniti accesso a un bucket Cloud Storage con un criterio di autorizzazione simile al seguente:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/storage.objectViewer",
      "members": [
        "user:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com",
        "user:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com"
      ]
    }
  ]
}

Se possibile, specifica un account di servizio da utilizzare come identità della risorsa quando crei risorse Vertex AI e utilizzalo per gestire il controllo dell'accesso#39;accesso. In questo modo, è più facile concedere a risorse specifiche l'accesso ai dati e gestire le autorizzazioni nel tempo.

Ad esempio, puoi concedere a un account di servizio l'accesso a BigQuery con una policy simile alla seguente:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/bigquery.user",
      "members": [
        "user:SERVICE_ACCOUNT_NAME@PROJECT_NUMBER.iam.gserviceaccount.com"
      ]
    }
  ]
}

Per configurare controllo dell'accesso per gli account di servizio, consulta Gestire l'accesso agli account di servizio.

Nel progetto con le risorse Vertex AI, gli amministratori possono concedere agli utenti l'accesso ai dati concedendo il ruolo Utente account di servizio (roles/iam.serviceAccountUser) agli account di servizio specificati.

Isolare il codice meno attendibile in altri progetti separati

I modelli, i container di previsione e i container di addestramento sono codice. È importante isolare il codice meno attendibile da modelli e dati sensibili. Eseguire il deployment di endpoint e fasi di addestramento nei propri progetti, utilizzare un account di servizio dedicato con autorizzazioni molto limitate e utilizzare i Controlli di servizio VPC per isolarli e ridurre l'impatto dell'accesso concesso a questi contenuti e modelli.

Passaggi successivi