Contrôle des accès avec IAM

L'IA Vertex utilise la gestion de l'authentification et des accès (IAM) pour gérer l'accès aux ressources. Pour accorder l'accès à une ressource, attribuez un ou plusieurs rôles à un utilisateur, un groupe ou un compte de service.

Vous pouvez utiliser différents types de rôles IAM dans Vertex AI :

  • Les rôles prédéfinis vous permettent d'accorder un ensemble d'autorisations associées à vos ressources Vertex AI au niveau du projet.

  • Les rôles de base (Propriétaire, Éditeur et Lecteur) permettent de contrôler l'accès à vos ressources Vertex AI au niveau du projet et sont communs à tous les services Google Cloud.

  • 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 dernier à des utilisateurs de votre organisation.

Pour ajouter, mettre à jour ou supprimer ces rôles dans votre projet Vertex AI, consultez la page Accorder, modifier et révoquer les accès.

Rôles prédéfinis pour Vertex AI

Rôle Autorisations

Administrateur Vertex AI Bêta
(roles/aiplatform.admin)

Accorde un accès complet à toutes les ressources de Vertex AI

  • aiplatform.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Administrateur Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreAdmin)

Accorde un accès complet à toutes les ressources de Vertex AI Feature Store

  • aiplatform.entityTypes.*
  • aiplatform.features.*
  • aiplatform.featurestores.*
  • aiplatform.operations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Lecteur de données Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreDataViewer)

Ce rôle fournit des autorisations pour lire des données de caractéristiques.

  • aiplatform.entityTypes.get
  • aiplatform.entityTypes.readFeatureValues
  • aiplatform.entityTypes.streamingReadFeatureValues
  • aiplatform.features.get
  • aiplatform.features.list
  • aiplatform.featurestores.batchReadFeatureValues
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Rédacteur de données Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreDataWriter)

Ce rôle fournit des autorisations pour lire et écrire des données de caractéristiques.

  • aiplatform.entityTypes.get
  • aiplatform.entityTypes.importFeatureValues
  • aiplatform.entityTypes.readFeatureValues
  • aiplatform.entityTypes.streamingReadFeatureValues
  • aiplatform.entityTypes.writeFeatureValues
  • aiplatform.features.get
  • aiplatform.features.list
  • aiplatform.featurestores.batchReadFeatureValues
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Créateur d'instances Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreInstanceCreator)

Permet d'administrer les ressources d'un Featurestore (magasin de caractéristiques), mais pas les ressources enfants.

  • aiplatform.featurestores.create
  • aiplatform.featurestores.delete
  • aiplatform.featurestores.get
  • aiplatform.featurestores.list
  • aiplatform.featurestores.update

Éditeur de ressources Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreResourceEditor)

Permet de gérer toutes les ressources des Featurestores, mais pas de les créer ni de les mettre à jour.

  • aiplatform.entityTypes.create
  • aiplatform.entityTypes.delete
  • aiplatform.entityTypes.get
  • aiplatform.entityTypes.list
  • aiplatform.entityTypes.update
  • aiplatform.features.*
  • aiplatform.featurestores.get
  • aiplatform.featurestores.list
  • aiplatform.operations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Lecteur de ressources Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreResourceViewer)

Permet de lire toutes les ressources Vertex AI Feature Store, mais pas d'y effectuer des modifications.

  • aiplatform.entityTypes.get
  • aiplatform.entityTypes.list
  • aiplatform.features.get
  • aiplatform.features.list
  • aiplatform.featurestores.get
  • aiplatform.featurestores.list
  • aiplatform.operations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Utilisateur Vertex AI Feature Store Bêta
(roles/aiplatform.featurestoreUser)

Obsolète. Utilisez featurestoreAdmin à la place.

  • aiplatform.entityTypes.*
  • aiplatform.features.*
  • aiplatform.featurestores.*
  • aiplatform.operations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Utilisateur du service de migration Vertex AI Bêta
(roles/aiplatform.migrator)

Permet d'utiliser le service de migration dans Vertex AI

  • aiplatform.migratableResources.*

Utilisateur Vertex AI Bêta
(roles/aiplatform.user)

Permet d'utiliser toutes les ressources de Vertex AI

  • aiplatform.annotationSpecs.*
  • aiplatform.annotations.*
  • aiplatform.artifacts.*
  • aiplatform.batchPredictionJobs.*
  • aiplatform.contexts.*
  • aiplatform.customJobs.*
  • aiplatform.dataItems.*
  • aiplatform.dataLabelingJobs.*
  • aiplatform.datasets.*
  • aiplatform.edgeDeploymentJobs.*
  • aiplatform.edgeDeviceDebugInfo.*
  • aiplatform.edgeDevices.*
  • aiplatform.endpoints.*
  • aiplatform.entityTypes.*
  • aiplatform.executions.*
  • aiplatform.features.*
  • aiplatform.featurestores.*
  • aiplatform.humanInTheLoops.*
  • aiplatform.hyperparameterTuningJobs.*
  • aiplatform.indexEndpoints.*
  • aiplatform.indexes.*
  • aiplatform.locations.*
  • aiplatform.metadataSchemas.*
  • aiplatform.metadataStores.*
  • aiplatform.modelDeploymentMonitoringJobs.*
  • aiplatform.modelEvaluationSlices.*
  • aiplatform.modelEvaluations.*
  • aiplatform.models.*
  • aiplatform.nasJobs.*
  • aiplatform.operations.*
  • aiplatform.pipelineJobs.*
  • aiplatform.specialistPools.*
  • aiplatform.studies.*
  • aiplatform.tensorboardExperiments.*
  • aiplatform.tensorboardRuns.*
  • aiplatform.tensorboardTimeSeries.*
  • aiplatform.tensorboards.*
  • aiplatform.trainingPipelines.*
  • aiplatform.trials.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Lecteur Vertex AI Bêta
(roles/aiplatform.viewer)

Permet d'afficher toutes les ressources de Vertex AI

  • aiplatform.annotationSpecs.get
  • aiplatform.annotationSpecs.list
  • aiplatform.annotations.get
  • aiplatform.annotations.list
  • aiplatform.artifacts.get
  • aiplatform.artifacts.list
  • aiplatform.batchPredictionJobs.get
  • aiplatform.batchPredictionJobs.list
  • aiplatform.contexts.get
  • aiplatform.contexts.list
  • aiplatform.contexts.queryContextLineageSubgraph
  • aiplatform.customJobs.get
  • aiplatform.customJobs.list
  • aiplatform.dataItems.get
  • aiplatform.dataItems.list
  • aiplatform.dataLabelingJobs.get
  • aiplatform.dataLabelingJobs.list
  • aiplatform.datasets.get
  • aiplatform.datasets.list
  • aiplatform.edgeDeploymentJobs.get
  • aiplatform.edgeDeploymentJobs.list
  • aiplatform.edgeDeviceDebugInfo.*
  • aiplatform.edgeDevices.get
  • aiplatform.edgeDevices.list
  • aiplatform.endpoints.get
  • aiplatform.endpoints.list
  • aiplatform.entityTypes.get
  • aiplatform.entityTypes.list
  • aiplatform.executions.get
  • aiplatform.executions.list
  • aiplatform.executions.queryExecutionInputsAndOutputs
  • aiplatform.features.get
  • aiplatform.features.list
  • aiplatform.featurestores.get
  • aiplatform.featurestores.list
  • aiplatform.humanInTheLoops.get
  • aiplatform.humanInTheLoops.list
  • aiplatform.hyperparameterTuningJobs.get
  • aiplatform.hyperparameterTuningJobs.list
  • aiplatform.indexEndpoints.get
  • aiplatform.indexEndpoints.list
  • aiplatform.indexes.get
  • aiplatform.indexes.list
  • aiplatform.locations.*
  • aiplatform.metadataSchemas.get
  • aiplatform.metadataSchemas.list
  • aiplatform.metadataStores.get
  • aiplatform.metadataStores.list
  • aiplatform.modelDeploymentMonitoringJobs.get
  • aiplatform.modelDeploymentMonitoringJobs.list
  • aiplatform.modelDeploymentMonitoringJobs.searchStatsAnomalies
  • aiplatform.modelEvaluationSlices.*
  • aiplatform.modelEvaluations.get
  • aiplatform.modelEvaluations.list
  • aiplatform.models.get
  • aiplatform.models.list
  • aiplatform.nasJobs.get
  • aiplatform.nasJobs.list
  • aiplatform.operations.*
  • aiplatform.pipelineJobs.get
  • aiplatform.pipelineJobs.list
  • aiplatform.specialistPools.get
  • aiplatform.specialistPools.list
  • aiplatform.specialistPools.update
  • aiplatform.studies.get
  • aiplatform.studies.list
  • aiplatform.tensorboardExperiments.get
  • aiplatform.tensorboardExperiments.list
  • aiplatform.tensorboardRuns.get
  • aiplatform.tensorboardRuns.list
  • aiplatform.tensorboardTimeSeries.batchRead
  • aiplatform.tensorboardTimeSeries.get
  • aiplatform.tensorboardTimeSeries.list
  • aiplatform.tensorboardTimeSeries.read
  • aiplatform.tensorboards.get
  • aiplatform.tensorboards.list
  • aiplatform.trainingPipelines.get
  • aiplatform.trainingPipelines.list
  • aiplatform.trials.get
  • aiplatform.trials.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Rôles de base

Les rôles de base de Google Cloud sont communs à tous les services Google Cloud. Il s'agit des rôles Propriétaire, Éditeur et Lecteur.

Les rôles de base fournissent des autorisations pour Google Cloud, et pas uniquement pour l'IA Vertex. Pour cette raison, nous vous recommandons d'utiliser les rôles d'IA Vertex chaque fois que cela est possible.

Rôles personnalisés

Si les rôles IAM prédéfinis pour l'IA Vertex ne répondent pas à vos besoins, vous pouvez définir des 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 la page Comprendre les rôles personnalisés IAM.

À propos des comptes de service et des agents de service

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.

Pour 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 la sectionUtiliser 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 des comptes de service gérés par Google qui sont fournis automatiquement et qui permettent à un service d'accéder aux ressources en votre nom. Vertex AI utilise les agents de service suivants :

Nom Utilisation Adresse e-mail
Agent de service de Vertex AI Fonctionnalité de Vertex AI service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Agent de service de code personnalisé de Vertex AI Code d'entraînement personnalisé service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com

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.

Lors de sa création, chaque agent de service se voit attribuer l'un des rôles prédéfinis suivants pour votre projet. Chaque agent de service se voit attribuer le rôle correspondant à son nom.

Rôle Titre Description Autorisations
roles/aiplatform.serviceAgent Agent de service de Vertex AI

Fournit à Vertex AI les autorisations requises pour son fonctionnement.

  • aiplatform.annotationSpecs.*
  • aiplatform.annotations.*
  • aiplatform.artifacts.*
  • aiplatform.batchPredictionJobs.*
  • aiplatform.contexts.*
  • aiplatform.customJobs.*
  • aiplatform.dataItems.*
  • aiplatform.dataLabelingJobs.*
  • aiplatform.datasets.*
  • aiplatform.edgeDeploymentJobs.*
  • aiplatform.edgeDeviceDebugInfo.*
  • aiplatform.edgeDevices.*
  • aiplatform.endpoints.*
  • aiplatform.entityTypes.*
  • aiplatform.executions.*
  • aiplatform.features.*
  • aiplatform.featurestores.*
  • aiplatform.humanInTheLoops.*
  • aiplatform.hyperparameterTuningJobs.*
  • aiplatform.indexEndpoints.*
  • aiplatform.indexes.*
  • aiplatform.locations.*
  • aiplatform.metadataSchemas.*
  • aiplatform.metadataStores.*
  • aiplatform.modelDeploymentMonitoringJobs.*
  • aiplatform.modelEvaluationSlices.*
  • aiplatform.modelEvaluations.*
  • aiplatform.models.*
  • aiplatform.nasJobs.*
  • aiplatform.operations.*
  • aiplatform.pipelineJobs.*
  • aiplatform.specialistPools.*
  • aiplatform.studies.*
  • aiplatform.tensorboardExperiments.*
  • aiplatform.tensorboardRuns.*
  • aiplatform.tensorboardTimeSeries.*
  • aiplatform.tensorboards.*
  • aiplatform.trainingPipelines.*
  • aiplatform.trials.*
  • artifactregistry.repositories.create
  • artifactregistry.repositories.downloadArtifacts
  • artifactregistry.repositories.get
  • artifactregistry.repositories.list
  • artifactregistry.repositories.uploadArtifacts
  • artifactregistry.tags.get
  • artifactregistry.versions.get
  • automl.datasets.export
  • automl.datasets.get
  • automl.datasets.list
  • automl.modelEvaluations.list
  • automl.models.get
  • automl.models.list
  • automl.operations.get
  • automl.tableSpecs.get
  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.jobs.create
  • bigquery.jobs.get
  • bigquery.readsessions.create
  • bigquery.tables.create
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigtable.tables.get
  • bigtable.tables.list
  • bigtable.tables.readRows
  • compute.machineTypes.get
  • dataflow.*
  • datalabeling.annotateddatasets.get
  • datalabeling.datasets.export
  • datalabeling.datasets.get
  • datalabeling.datasets.list
  • datalabeling.operations.get
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • logging.logEntries.create
  • ml.models.list
  • ml.operations.get
  • ml.versions.get
  • ml.versions.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.services.use
  • storage.buckets.create
  • storage.buckets.delete
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.get
  • storage.objects.list
  • storage.objects.update
roles/aiplatform.customCodeServiceAgent Agent de service de code personnalisé de Vertex AI

Fournit les autorisations appropriées au code personnalisé Vertex AI.

  • aiplatform.annotationSpecs.*
  • aiplatform.annotations.*
  • aiplatform.artifacts.*
  • aiplatform.batchPredictionJobs.*
  • aiplatform.contexts.*
  • aiplatform.customJobs.*
  • aiplatform.dataItems.*
  • aiplatform.dataLabelingJobs.*
  • aiplatform.datasets.*
  • aiplatform.edgeDeploymentJobs.*
  • aiplatform.edgeDeviceDebugInfo.*
  • aiplatform.edgeDevices.*
  • aiplatform.endpoints.*
  • aiplatform.entityTypes.*
  • aiplatform.executions.*
  • aiplatform.features.*
  • aiplatform.featurestores.*
  • aiplatform.humanInTheLoops.*
  • aiplatform.hyperparameterTuningJobs.*
  • aiplatform.indexEndpoints.*
  • aiplatform.indexes.*
  • aiplatform.locations.*
  • aiplatform.metadataSchemas.*
  • aiplatform.metadataStores.*
  • aiplatform.modelDeploymentMonitoringJobs.*
  • aiplatform.modelEvaluationSlices.*
  • aiplatform.modelEvaluations.*
  • aiplatform.models.*
  • aiplatform.nasJobs.*
  • aiplatform.operations.*
  • aiplatform.pipelineJobs.*
  • aiplatform.specialistPools.*
  • aiplatform.studies.*
  • aiplatform.tensorboardExperiments.*
  • aiplatform.tensorboardRuns.*
  • aiplatform.tensorboardTimeSeries.*
  • aiplatform.tensorboards.*
  • aiplatform.trainingPipelines.*
  • aiplatform.trials.*
  • artifactregistry.repositories.downloadArtifacts
  • artifactregistry.repositories.get
  • artifactregistry.repositories.list
  • artifactregistry.tags.get
  • artifactregistry.versions.get
  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.jobs.create
  • bigquery.jobs.get
  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.tables.create
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.update
  • bigquery.tables.updateData
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.list
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
  • logging.logEntries.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.services.use
  • storage.buckets.create
  • storage.buckets.delete
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.get
  • storage.objects.list
  • storage.objects.update

Accorder aux agents de service Vertex AI l'accès à d'autres ressources

Vous devez 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 devez 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 étranger fait référence à 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 étranger ND BigQuery Data Viewer pour le projet étranger. En savoir plus
Vue BigQuery Projet de base N/A Aucun
Vue BigQuery Projet étranger ND BigQuery Data Viewer pour le projet étranger. 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 étranger Bigtable Reader pour le projet étranger. En savoir plus
Source de données BigQuery externe sauvegardée par Bigtable Projet étranger Projet étranger BigQuery Reader et Bigtable Reader pour le projet étranger. 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 étranger Storage Object Viewer pour le projet étranger. En savoir plus
Source de données BigQuery externe sauvegardée par Cloud Storage Projet étranger Projet étranger Storage Object Viewer et BigQuery Data Viewer pour le projet étranger. En savoir plus
Source de données BigQuery externe sauvegardée par Google Sheets Projet de base ND 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 étranger ND BigQuery Reader pour le projet étranger 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 projet différent de celui du projet Cloud, vous devez attribuer le rôle Storage > Storage Object Creator à Vertex AI dans ce projet. En savoir plus

Accorder l'accès à Vertex AI aux ressources de votre projet de base

Pour attribuer des rôles supplémentaires à un agent de service pour l'IA Vertex dans votre projet de base, procédez comme suit :

  1. Accédez à la page IAM de Cloud Console pour votre projet de base.

    Accéder à la page IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google.

  3. Déterminez l'agent de service auquel vous souhaitez accorder les autorisations, puis cliquez sur l'icône en forme de crayon .

    Pour trouver les agents du service d'IA Vertex, utilisez le filtre Member:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com.

  4. Attribuez les rôles requis au compte de service et enregistrez vos modifications.

Accorder l'accès à Vertex AI aux ressources d'un autre projet

Lorsque vous utilisez des sources de données ou des destinations dans un autre projet, vous devez accorder des autorisations au compte de service Vertex AI dans ce projet. Le compte de service Vertex AI est créé automatiquement lorsque vous activez l'API Vertex AI.

Pour ajouter des autorisations à Vertex AI dans un autre projet, procédez comme suit :

  1. Accédez à la page IAM de Cloud Console pour votre projet de base (le projet dans lequel vous utilisez Vertex AI).

    Accéder à la page IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google.

  3. Déterminez l'agent de service auquel vous souhaitez accorder les autorisations et copiez son adresse e-mail (répertoriée sous Membre).

    Pour trouver les agents du service d'IA Vertex, utilisez le filtre Member:@gcp-sa-aiplatform-cc.iam.gserviceaccount.com.

  4. Changez les projets pour le projet dans lequel vous devez accorder les autorisations.

  5. Cliquez sur Ajouter, puis saisissez l'adresse e-mail dans Nouveaux membres.

  6. 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 votre feuille de calcul avec le compte de service Vertex AI. Le compte de service Vertex AI est créé automatiquement lorsque vous activez l'API Vertex AI.

Pour autoriser Vertex AI à accéder à votre fichier Sheets :

  1. Accédez à la page IAM de Cloud Console.

    Accéder à la page IAM

  2. Recherchez le compte de service intitulé Vertex AI Service Agent et copiez son adresse e-mail (répertoriée sous Membre).

  3. Ouvrez votre fichier Google Sheets et partagez-le à l'aide de cette adresse.

Étape suivante