Configurer un projet pour une équipe

Cette page fournit des exemples de configuration d'un projet pour une équipe travaillant avec Vertex AI. Cette page part du principe que vous connaissez déjà les concepts IAM (Identity and Access Management), tels que les stratégies, les rôles, les autorisations et les comptes principaux, comme décrit dans Contrôle des accès Vertex AI avec IAM et Concepts liés à la gestion des accès.

Ces exemples sont destinés à une utilisation générale. Tenez compte des besoins spécifiques de l'équipe et ajustez la configuration du projet en conséquence.

Présentation

Vertex AI utilise IAM pour gérer l'accès aux ressources. Lorsque vous planifiez le contrôle des accès pour vos ressources, tenez compte des points suivants :

  • Vous pouvez gérer l'accès au niveau du projet ou des ressources. L'accès au niveau du projet s'applique à toutes les ressources de ce projet. L'accès à une ressource spécifique ne s'applique qu'à cette ressource.

  • Vous accordez l'accès en attribuant des rôles IAM aux comptes principaux. Des rôles prédéfinis sont disponibles pour faciliter la configuration des accès, mais nous vous recommandons d'utiliser des rôles personnalisés, car vous pouvez les créer et ainsi limiter leur accès aux seules autorisations requises.

Pour en savoir plus sur le contrôle des accès, consultez Contrôle des accès avec Vertex AI et IAM.

Projet unique avec accès partagé aux données et aux ressources Vertex AI

Dans cet exemple, une équipe partage un projet unique contenant ses données et ses ressources Vertex AI.

Vous pouvez configurer un projet de cette manière si les données, les conteneurs et les autres ressources Vertex AI de l'équipe peuvent être partagés entre tous les utilisateurs du projet.

La stratégie d'autorisation IAM de votre projet peut se présenter comme suit :

{
  "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"
      ]
    }
  ]
}

Configurer un projet de cette manière permet à une équipe de collaborer plus facilement pour entraîner des modèles, déboguer du code, déployer des modèles et observer des points de terminaison. Tous les utilisateurs voient les mêmes ressources et peuvent s'entraîner avec les mêmes données. Les ressources Vertex AI fonctionnent dans un seul projet. Vous n'avez donc pas besoin d'accorder l'accès à des ressources en dehors du projet. Le quota est partagé entre les membres de l'équipe.

Pour configurer le contrôle des accès au projet de votre équipe, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Séparer les données et les ressources Vertex AI

Dans cet exemple, les données de l'équipe se trouvent dans un projet distinct des ressources Vertex AI.

Vous pouvez configurer un projet de cette manière si :

  • Il est trop difficile de déplacer les données de l'équipe vers le même projet que vos ressources Vertex AI.

  • Les données de l'équipe nécessitent un contrôle spécifique sur les personnes qui y ont accès.

Dans ce cas, nous vous recommandons de créer un projet pour les données et un projet pour les ressources Vertex AI. Les développeurs de l'équipe partagent le projet contenant les ressources Vertex AI. Ils utilisent les ressources Vertex AI pour accéder aux données stockées dans l'autre projet et les traiter. Les administrateurs de données accordent l'accès aux ressources Vertex AI via des agents de service ou des comptes de service personnalisés.

Par exemple, vous pouvez accorder aux agents de service Vertex AI par défaut l'accès à un bucket Cloud Storage avec une règle d'autorisation semblable à celle-ci :

{
  "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"
      ]
    }
  ]
}

Dans la mesure du possible, spécifiez un compte de service à utiliser comme identité de ressource lorsque vous créez des ressources Vertex AI, et utilisez ce compte de service pour gérer le contrôle des accès. Il est ainsi plus facile d'accorder l'accès aux données à des ressources spécifiques et de gérer les autorisations au fil du temps.

Par exemple, vous pouvez accorder l'accès à BigQuery à un compte de service avec une règle semblable à la suivante :

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

Pour configurer le contrôle des accès pour les comptes de service, consultez Gérer l'accès aux comptes de service.

Dans le projet contenant les ressources Vertex AI, les administrateurs peuvent accorder aux utilisateurs l'accès aux données en leur attribuant le rôle "Utilisateur du compte de service" (roles/iam.serviceAccountUser) sur les comptes de service spécifiés.

Isoler le code moins fiable dans des projets distincts supplémentaires

Les modèles, les conteneurs de prédiction et les conteneurs d'entraînement sont du code. Il est important d'isoler le code moins fiable des modèles et des données sensibles. Déployez des points de terminaison et des phases d'entraînement dans leurs propres projets, utilisez un compte de service dédié avec des autorisations très limitées, et utilisez VPC Service Controls pour les isoler et réduire l'impact de l'accès accordé à ces conteneurs et modèles.

Étape suivante