Cette page explique comment utiliser Identity and Access Management (IAM) pour gérer les accès aux ressources Vertex AI. Pour gérer les accès aux instances Vertex AI Workbench, consultez Contrôle des accès aux instances Vertex AI Workbench.
Présentation
Vertex AI utilise IAM pour gérer les 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 les accès au niveau du projet ou des ressources. Les accès au niveau du projet s'appliquent à toutes les ressources de ce projet. Les accès à une ressource spécifique ne s'appliquent qu'à cette ressource. Consultez Accès au niveau du projet et au niveau des ressources.
Vous accordez les 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. Consultez Rôles IAM.
Rôles IAM
Vous pouvez utiliser différents types de rôles IAM dans Vertex AI :
Les rôles personnalisés, qui vous permettent de choisir un ensemble d'autorisations spécifique, de créer un rôle disposant de ces autorisations et d'attribuer ce rôle à des utilisateurs de votre organisation
Les rôles prédéfinis, qui vous permettent d'accorder à vos ressources Vertex AI un ensemble d'autorisations associées au niveau du projet
Les rôles de base (Propriétaire, Éditeur et Lecteur), qui permettent de contrôler les accès à vos ressources Vertex AI au niveau du projet et qui sont communs à tous les services Google Cloud
Pour ajouter, mettre à jour ou supprimer ces rôles dans votre projet Vertex AI, consultez la documentation expliquant comment attribuer, modifier et révoquer des accès.
Rôles personnalisés
Les rôles personnalisés vous permettent de choisir un ensemble d'autorisations spécifique, de créer un rôle disposant de ces autorisations et d'attribuer ce rôle à des utilisateurs de votre organisation. Pour en savoir plus, consultez Comprendre les rôles personnalisés d'IAM.
Utiliser des rôles personnalisés pour accorder des autorisations de moindre privilège
Les rôles prédéfinis contiennent souvent plus d'autorisations que nécessaire. Vous pouvez créer des rôles personnalisés pour n'accorder à vos comptes principaux que les autorisations spécifiques requises.
Par exemple, vous pouvez créer un rôle personnalisé avec l'autorisation aiplatform.endpoints.predict
, puis l'attribuer à un compte de service sur un point de terminaison. Cela permet au compte de service d'appeler le point de terminaison pour les prédictions, mais pas de le contrôler.
Rôles prédéfinis pour Vertex AI
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
|
Vertex AI Batch Prediction Service Agent( Vertex AI Batch Prediction Service Agent for serving batch prediction requests. |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
Vertex AI Colab Service Agent( Gives Vertex AI Colab the proper permissions to function. |
|
Vertex AI Custom Code Service Agent( Gives Vertex AI Custom Code the proper permissions. |
|
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 Extension Custom Code Service Agent( Gives Vertex AI Extension that executes custom code the permissions it needs to function. |
|
Vertex AI Extension Service Agent( Gives Vertex AI Extension the permissions it needs to function. |
|
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 |
|
Vertex AI Model Monitoring Service Agent( Gives Vertex AI Model Monitoring the permissions it needs to function. |
|
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 Notebook Service Agent( Vertex AI Service Agent used to run Notebook managed resources in user project with restricted permissions. |
|
Vertex AI Online Prediction Service Agent( Gives Vertex AI Online Prediction the permissions it needs to function. |
|
Vertex AI Platform Provisioned Throughput Admin Beta( Grants access to use all resources related to Vertex AI Provisioned Throughput |
|
Vertex AI RAG Data Service Agent( Vertex AI Service Agent used by Vertex RAG to access user imported data, Vertex AI, Document AI processors in the project |
|
Vertex AI Rapid Eval Service Agent( Vertex AI Service Agent used by GenAI Rapid Evaluation Service to access publisher model endpoints in the user project |
|
Vertex AI Reasoning Engine Service Agent( Gives Vertex AI Reasoning Engine the proper permissions to function. The aiplatform.reasoningEngines.create IAM permission implies read access to the GCS objects of the consumer project through this service agent. |
|
Vertex AI Service Agent( Gives Vertex AI the permissions it needs to function. |
|
Vertex AI Telemetry Service Agent( Allows Vertex AI Telemetry Service Agent to access telemetry data. |
|
Vertex AI Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Vertex AI Tuning Service Agent( Vertex AI Service Agent used for tuning in user project. |
|
Vertex AI User( Grants access to use all resource in Vertex AI |
|
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
|
Rôles de base
Les rôles de base Google Cloudplus anciens sont communs à tous les services Google Cloud . Il s'agit des rôles Propriétaire, Éditeur et Lecteur.
Accès au niveau du projet et au niveau des ressources
Vous pouvez gérer les accès au niveau du projet ou des ressources. Vous pouvez également gérer les accès au niveau d'un dossier ou d'une organisation.
Pour la plupart des ressources Vertex AI, les accès ne peuvent être contrôlés que par le projet, le dossier et l'organisation. Les accès à des ressources individuelles ne peuvent être accordés que pour des types de ressources spécifiques, par exemple un point de terminaison ou un magasin de caractéristiques.
Les utilisateurs partagent le contrôle de toutes les ressources auxquelles ils ont accès. Par exemple, si un utilisateur enregistre un modèle, tous les autres utilisateurs autorisés du projet peuvent y accéder, le modifier et le supprimer.
Pour accorder des accès aux ressources au niveau du projet, attribuez un ou plusieurs rôles à un compte principal (utilisateur, groupe ou compte de service).
Pour les ressources Vertex AI qui vous permettent d'accorder des accès au niveau de la ressource, vous devez définir une stratégie IAM sur cette ressource. La stratégie définit quels rôles sont attribués à chaque compte principal.
Le fait de définir une stratégie au niveau des ressources n'a aucune incidence sur les stratégies au niveau du projet. Une ressource hérite de toutes ses stratégies de son ancêtre. Vous pouvez utiliser ces deux niveaux de précision pour personnaliser les autorisations. Par exemple, vous pouvez accorder aux utilisateurs des autorisations de lecture au niveau du projet afin qu'ils puissent lire toutes les ressources du projet, puis leur accorder des autorisations d'écriture par ressource (au niveau des ressources).
Les rôles et ressources prédéfinis de Vertex AI ne sont pas tous compatibles avec les stratégies au niveau des ressources. Pour savoir quels rôles peuvent être utilisés sur quelles ressources, consultez le tableau des rôles prédéfinis.
Ressources compatibles
Vertex AI est compatible avec les ressources de magasins de caractéristiques et de types d'entités Vertex AI Feature Store. Pour en savoir plus, consultez Contrôler les accès aux ressources Vertex AI Feature Store.
Une fois que vous avez accordé ou révoqué l'accès à une ressource, la propagation de ces modifications prend du temps. Pour en savoir plus, consultez Propagation des modifications d'accès.
Ressources, comptes de service et agents de service
Les services Vertex AI gèrent souvent des ressources de longue durée qui effectuent des actions, telles que l'exécution d'un job d'entraînement qui lit des données d'entraînement ou la publication d'un modèle de machine learning (ML) qui lit la pondération du modèle. Ces ressources autonomes ont leur propre identité de ressource lorsqu'elles effectuent des actions. Cette identité est distincte de celle du compte principal qui a créé la ressource. Les autorisations accordées à l'identité de ressource définissent les données et les autres ressources auxquelles l'identité de ressource peut accéder, et non les autorisations du compte principal qui a créé la ressource.
Par défaut, les ressources Vertex AI utilisent des comptes de service gérés par Vertex AI comme identité de ressource. Ces comptes de service sont appelés "agents de service Vertex AI". Ils sont associés au projet dans lequel la ressource est créée. Les utilisateurs disposant d'autorisations Vertex AI spécifiques peuvent créer des ressources qui utilisent des agents de service Vertex AI. Pour certains services, vous pouvez spécifier un compte de service à associer à la ressource. La ressource utilise ce compte de service pour accéder à d'autres ressources et services. Pour en savoir plus sur les comptes de service, consultez Comptes de service.
Vertex AI utilise différents agents de service en fonction des API appelées. Chaque agent de service bénéficie d'autorisations IAM spécifiques sur le projet auquel il est associé. Ces autorisations sont utilisées par l'identité de ressource pour effectuer des actions. Elles peuvent inclure un accès en lecture seule à toutes les ressources Cloud Storage et aux données BigQuery du projet.
Comptes de service
Un compte de service est un type particulier de compte utilisé par une application ou une instance de machine virtuelle (VM), et non par une personne. Vous pouvez créer et attribuer des autorisations aux comptes de service afin d'accorder des autorisations spécifiques à une ressource ou à une application.
Si vous souhaitez savoir comment utiliser un compte de service pour personnaliser les autorisations disponibles pour un conteneur d'entraînement personnalisé ou pour un conteneur qui diffuse des prédictions en ligne pour un modèle entraîné, consultez Utiliser un compte de service personnalisé.
Les comptes de service sont identifiés par une adresse e-mail.
Agents de service
Les agents de service sont fournis automatiquement et permettent à un service d'accéder aux ressources pour vous.
Lorsqu'un agent de service est créé, il se voit attribuer un rôle prédéfini pour votre projet. Le tableau suivant recense les agents de service Vertex AI, leurs adresses e-mail et leurs rôles respectifs :
Nom | Utilisation | Adresse e-mail | Rôle |
---|---|---|---|
Agent de service Vertex AI | Fonctionnalités Vertex AI | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Agent de service Vertex AI RAG Data | Vertex AI RAG accède aux données importées par les utilisateurs, à Vertex AI et aux processeurs Document AI dans le projet | service-PROJECT_NUMBER@gcp-sa-vertex-rag.iam.gserviceaccount.com |
roles/ |
Agent de service de code personnalisé Vertex AI |
Code d'entraînement personnalisé Code d'application Ray sur Vertex AI |
service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Agent de service Vertex AI Extensions | Extensions Vertex | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
|
Compte de service Cloud AI Platform Notebooks | Fonctionnalités Vertex AI Workbench | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
L'agent de service de code personnalisé Vertex AI n'est créé que si vous exécutez du code d'entraînement personnalisé pour l'entraînement personnalisé d'un modèle.
Rôles et autorisations des agents de service
Consultez les rôles et les autorisations suivants accordés aux agents de service Vertex AI.
Rôle | Autorisations |
---|---|
Agent de service Vertex AI( Fournit à Vertex AI les autorisations requises pour son fonctionnement. |
|
Agent de service Vertex AI RAG Data( Agent de service Vertex AI permettant au RAG Vertex d'accéder aux données importées par les utilisateurs, à Vertex AI et aux processeurs Document AI dans le projet |
|
Agent de service de code personnalisé Vertex AI( Fournit les autorisations appropriées au code personnalisé Vertex AI. |
|
Agent de service Vertex AI Extension( Fournit à Vertex AI Extension les autorisations requises pour son fonctionnement. |
|
Agent de service AI Platform Notebooks( Fournit à l'agent de service Notebooks un accès permettant de gérer les instances de notebook des projets utilisateur. |
|
Accorder aux agents de service Vertex AI l'accès à d'autres ressources
Vous devrez parfois attribuer des rôles supplémentaires à un agent de service Vertex AI. Par exemple, si vous avez besoin de fournir à Vertex AI l'accès à un bucket Cloud Storage situé dans un autre projet, vous devrez attribuer un ou plusieurs rôles supplémentaires à l'agent de service.
Exigences applicables à l'ajout de rôles pour BigQuery
Le tableau suivant décrit les rôles supplémentaires à ajouter à l'agent de service Vertex AI pour accéder à des tables ou vues BigQuery dans un autre projet ou sauvegardées par une source de données externe.
Le terme projet de base fait référence au projet dans lequel se trouve l'ensemble de données ou le modèle Vertex AI. Le terme projet différent désigne tout autre projet.
Type de table | Projet de table | Projet de source de données | Ajout de rôle requis |
---|---|---|---|
Table BigQuery native | Projet de base | N/A | Aucun. |
Table BigQuery native | Projet différent | N/A | BigQuery Data Viewer pour un projet différent. En savoir plus |
Vue BigQuery | Projet de base | N/A | Aucun. |
Vue BigQuery | Projet différent | N/A | BigQuery Data Viewer pour un projet différent. En savoir plus |
Source de données BigQuery externe sauvegardée par Bigtable | Projet de base | Projet de base | Bigtable Reader pour le projet de base. En savoir plus |
Source de données BigQuery externe sauvegardée par Bigtable | Projet de base | Projet différent | Bigtable Reader pour un projet différent. En savoir plus |
Source de données BigQuery externe sauvegardée par Bigtable | Projet différent | Projet différent | BigQuery Reader et Bigtable Reader pour un projet différent. En savoir plus |
Source de données BigQuery externe sauvegardée par Cloud Storage | Projet de base | Projet de base | Aucun. |
Source de données BigQuery externe sauvegardée par Cloud Storage | Projet de base | Projet différent | Storage Object Viewer pour un projet différent. En savoir plus |
Source de données BigQuery externe sauvegardée par Cloud Storage | Projet différent | Projet différent | Storage Object Viewer et BigQuery Data Viewer pour un projet différent. En savoir plus |
Source de données BigQuery externe sauvegardée par Google Sheets | Projet de base | N/A | Partager votre fichier Sheets avec le compte de service Vertex AI. En savoir plus |
Source de données BigQuery externe sauvegardée par Google Sheets | Projet différent | N/A | BigQuery Reader pour un projet différent et partager votre fichier Sheets avec le compte de service Vertex AI. |
Exigences applicables à l'ajout de rôles pour Cloud Storage
Si vous accédez aux données d'un bucket Cloud Storage situé dans un autre projet, vous devez attribuer le rôle Storage > Storage Object Viewer
à Vertex AI dans ce projet. En savoir plus
Si vous utilisez un bucket Cloud Storage pour recevoir des données de votre ordinateur local pour une opération d'importation et que le bucket se trouve dans un autre projet que le projetGoogle Cloud , vous devez attribuer le rôle Storage > Storage Object Creator
à Vertex AI dans ce projet. En savoir plus
Accorder à Vertex AI l'accès aux ressources de votre projet de base
Pour attribuer des rôles supplémentaires à un agent de service pour Vertex AI dans votre projet de base :
Accédez à la page IAM de la console Google Cloud pour votre projet de base.
Cochez la case Inclure les attributions de rôles fournies par Google.
Déterminez l'agent de service auquel vous souhaitez accorder les autorisations, puis cliquez sur l'icône en forme de crayon .
Utilisez le filtre Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com pour trouver les agents de service Vertex AI.
Attribuez les rôles requis à l'agent de service et enregistrez les modifications.
Accorder à Vertex AI l'accès aux ressources d'un autre projet
Lorsque vous utilisez des sources de données ou des destinations dans un projet différent, vous devez accorder des autorisations à l'agent de service Vertex AI dans ce projet. L'agent de service Vertex AI est créé après le démarrage du premier job asynchrone (comme la création d'un point de terminaison). Vous pouvez également créer explicitement l'agent de service Vertex AI. Pour en savoir plus, consultez gcloud beta services identity create. Cette commande Google Cloud CLI crée l'agent de service principal et l'agent de service de code personnalisé. Toutefois, seul l'agent de service principal est renvoyé dans la réponse.
Pour ajouter des autorisations à Vertex AI dans un projet différent :
Accédez à la page IAM de la console Google Cloud pour votre projet de base (le projet dans lequel vous utilisez Vertex AI).
Cochez la case Inclure les attributions de rôles fournies par Google.
Déterminez l'agent de service auquel vous souhaitez accorder les autorisations et copiez son adresse e-mail (indiquée sous Compte principal).
Utilisez le filtre Principal:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com pour trouver les agents de service Vertex AI.
Changez les projets pour le projet dans lequel vous devez accorder les autorisations.
Cliquez sur Ajouter, puis saisissez l'adresse e-mail dans Nouveaux comptes principaux.
Ajoutez tous les rôles requis, puis cliquez sur Enregistrer.
Accorder l'accès à Google Sheets
Si vous utilisez une source de données BigQuery externe sauvegardée par Google Sheets, vous devez partager le fichier avec le compte de service Vertex AI. Le compte de service Vertex AI est créé après le démarrage du premier job asynchrone (comme la création d'un point de terminaison). Vous pouvez également créer explicitement le compte de service Vertex AI à l'aide de la gcloud CLI en suivant cette instruction.
Pour autoriser Vertex AI à accéder à votre fichier Sheets :
Accédez à la page IAM de la console Google Cloud .
Recherchez le compte de service intitulé
Vertex AI Service Agent
et copiez son adresse e-mail (indiquée sous Compte principal).Ouvrez votre fichier Google Sheets et partagez-le à l'aide de cette adresse.
Étapes suivantes
- Apprenez-en plus sur IAM.
- Découvrez des autorisations IAM spécifiques et les opérations qu'elles permettent d'effectuer.
- Afin d'en savoir plus sur les méthodes recommandées pour configurer un projet pour une équipe, consultez Configurer un projet pour une équipe.
- Lisez la présentation de Vertex AI.