Dans Google Cloud, des agents de service sont créés automatiquement au niveau du projet, du dossier et de l'organisation lorsque vous activez et utilisez des servicesGoogle Cloud . Parfois, ces agents de service se voient attribuer automatiquement des rôles qui leur permettent de créer des ressources et d'y accéder en votre nom.
Si nécessaire, vous pouvez également demander à Google Cloud de créer des agents de service au niveau du projet, du dossier et de l'organisation pour un service avant de l'utiliser. Si vous demandez à Google Cloud de créer des agents de service, vous pouvez attribuer des rôles à ces agents avant d'utiliser un service. Si un agent de service n'a pas encore été créé, vous ne pouvez pas lui attribuer de rôles.
Cette option peut s'avérer utile si vous utilisez l'une des stratégies suivantes pour gérer vos stratégies d'autorisation :
- Un framework déclaratif comme Terraform. Si votre configuration Terraform n'inclut pas les rôles des agents de service, ils sont révoqués lorsque vous appliquez votre configuration. En créant des agents de service et en leur attribuant des rôles dans votre configuration Terraform, vous vous assurez que ces rôles ne sont pas révoqués.
- Un système de codification des stratégies qui stocke des copies de vos stratégies d'autorisation actuelles dans un dépôt de code. Si vous laissez Google Cloud attribuer automatiquement des rôles aux agents de service, ceux-ci apparaissent dans votre stratégie d'autorisation proprement dite, mais pas dans la copie stockée de la stratégie d'autorisation. Pour résoudre cette incohérence, vous pouvez révoquer ces rôles à tort. En créant des agents de service et en leur attribuant des rôles de manière proactive, vous pouvez éviter les écarts entre votre dépôt de code et vos stratégies d'autorisation proprement dites.
Après avoir déclenché la création d'un agent de service, vous devez lui attribuer les rôles qui lui sont généralement accordés automatiquement. Sinon, certains services risquent de ne pas fonctionner correctement. En effet, les agents de service créés à la demande d'un utilisateur ne reçoivent pas automatiquement de rôles.
Avant de commencer
Activez les API Resource Manager et Workload Identity.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Familiarisez-vous avec les agents de service.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer des agents de service et leur accorder l'accès, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur les projets, dossiers et organisations pour lesquels vous créez des agents de service et auxquels vous accordez l'accès :
-
Lister les services disponibles et leurs points de terminaison : Lecteur Service Usage (
roles/serviceusage.serviceUsageViewer) -
Activez les agents de service :
Administrateur de l'API Workload Identity (
roles/workloadidentity.admin) - Autoriser les agents de service à accéder à un projet : Administrateur de projet IAM (
roles/resourcemanager.projectIamAdmin) - Autoriser les agents de service à accéder à un dossier : Administrateur de dossier (
roles/resourcemanager.folderAdmin) - Autoriser les agents de service à accéder aux projets, aux dossiers et aux organisations : Administrateur d'organisation (
roles/resourcemanager.organizationAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour créer des agents de service et leur accorder l'accès. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour créer des agents de service et leur accorder l'accès :
-
Listez les services disponibles et leurs points de terminaison :
serviceusage.services.list -
Activez les agents de service :
workloadidentity.serviceAgents.create -
Afficher les opérations de longue durée :
workloadidentity.operations.get -
Autoriser les agents de service à accéder à un projet :
-
resourcemanager.projects.getIamPolicy -
resourcemanager.projects.setIamPolicy
-
-
Autoriser les agents de service à accéder à un dossier :
-
resourcemanager.folders.getIamPolicy -
resourcemanager.folders.setIamPolicy
-
-
Autoriser les agents de service à accéder à une organisation :
-
resourcemanager.organizations.getIamPolicy -
resourcemanager.organizations.setIamPolicy
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Identifier les agents de service à créer
Pour identifier les agents de service que vous devez créer et les ressources pour lesquelles vous devez les créer, procédez comme suit :
Faites une liste des services que vous utilisez et des points de terminaison d'API associés. Pour afficher tous les services disponibles et leurs points de terminaison, utilisez l'une des méthodes suivantes :
Console
Accédez à la page Bibliothèque d'API de la console Google Cloud .
Accéder à la bibliothèque d'API
Le point de terminaison de l'API correspond au nom du service indiqué dans la section Informations supplémentaires.
gcloud
La commande
gcloud services listrépertorie tous les services disponibles pour un projet.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
EXPRESSION: facultatif. Expression permettant de filtrer les résultats. Par exemple, l'expression suivante filtre tous les services dont les noms contiennentgoogleapis.com, mais passandbox:name ~ googleapis.com AND name !~ sandbox
Pour obtenir la liste des expressions de filtre, consultez
gcloud topic filters. -
LIMIT: facultatif. Nombre maximal de résultats à répertorier. La valeur par défaut estunlimited.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud services list --available --filter='EXPRESSION' --limit=LIMIT
Windows (PowerShell)
gcloud services list --available --filter='EXPRESSION' --limit=LIMIT
Windows (cmd.exe)
gcloud services list --available --filter='EXPRESSION' --limit=LIMIT
La réponse contient les noms et les titres de tous les services disponibles. Le point de terminaison de l'API correspond à la valeur du champ
NAME.REST
La méthode
services.listde l'API Service Usage répertorie tous les services disponibles pour un projet.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de ressource pour lequel vous souhaitez répertorier les services disponibles. Utilisezprojects,foldersouorganizations. -
RESOURCE_ID: ID du projet, du dossier ou de l'organisation Google Cloudpour lequel vous souhaitez répertorier les services disponibles. Les ID de projet sont des chaînes alphanumériques, telles quemy-project. Les ID de dossier et d'organisation sont numériques, tels que123456789012. -
PAGE_SIZE: facultatif. Nombre de services à inclure dans la réponse. La valeur par défaut est 50 et la valeur maximale 200. Si le nombre de services est supérieur à la taille de la page, la réponse contient un jeton de pagination que vous pouvez utiliser pour récupérer la page de résultats suivante. -
NEXT_PAGE_TOKEN: facultatif. Jeton de pagination renvoyé dans une réponse précédente de cette méthode. Si spécifié, la liste des services commence à la fin de la requête précédente.
Méthode HTTP et URL :
GET https://serviceusage.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/services?pageSize=PAGE_SIZE&pageToken=NEXT_PAGE_TOKEN
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient les noms et les titres de tous les services disponibles pour la ressource. Si le nombre de services disponibles est supérieur à la taille de la page, la réponse contient également un jeton de pagination.Le point de terminaison de l'API correspond à la valeur du champ
name.-
Pour chaque point de terminaison d'API que vous utiliserez, dressez la liste des ressources pour lesquelles vous devez créer les agents de service de ce point de terminaison :
Sur la page de référence des agents de service, recherchez chaque point de terminaison de l'API pour trouver tous les agents de service de ce point de terminaison.
Il est possible que certains points de terminaison n'aient pas d'agents de service associés. Vous pouvez ignorer la création d'agents de service pour ces points de terminaison.
Pour chacun des agents de service du point de terminaison, utilisez l'adresse e-mail de l'agent de service pour déterminer où vous devez le créer.
L'espace réservé dans l'adresse e-mail d'un agent de service indique où vous devez créer l'agent de service :
Espace réservé Où créer l'agent de service PROJECT_NUMBERChaque projet dans lequel vous utiliserez le service FOLDER_NUMBERChaque dossier dans lequel vous utiliserez le service ORGANIZATION_NUMBERChaque organisation dans laquelle vous utiliserez le service Pour chaque point de terminaison, enregistrez chaque ressource unique pour laquelle vous devez créer des agents de service pour ce point de terminaison.
Déclencher la création d'un agent de service
Une fois que vous avez identifié les agents de service que vous devez créer, vous pouvez demander àGoogle Cloud de le faire.
Lorsque vous demandez à Google Cloud de créer des agents de service, vous lui fournissez un service et une ressource. Ensuite, Google Cloud crée tous les agents de service pour ce service et cette ressource.
Lors de cette étape, si vous utilisez la gcloud CLI ou l'API REST, vous pouvez également créer une liste des rôles à attribuer à chaque agent de service. Vous utiliserez ces informations pour attribuer des rôles aux agents de service. Si vous utilisez Terraform, vous n'avez pas besoin de suivre manuellement les rôles requis, car vous pouvez y faire référence de manière programmatique.
gcloud
Utilisez la commande gcloud workload-identity service-agents
generate pour créer des agents de service pour chaque point de terminaison et ressource que vous avez identifiés dans Identifier les agents de service à créer.
Chaque fois que vous exécutez la commande, examinez la réponse. Pour chaque rôle de la réponse, enregistrez l'adresse e-mail de l'agent de service auquel le rôle doit être attribué. Vous utiliserez ces informations pour attribuer des rôles aux agents de service.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
ENDPOINT: point de terminaison de l'API pour lequel vous souhaitez créer des agents de service, par exempleaiplatform.googleapis.com. -
RESOURCE_TYPE: type de ressource pour lequel vous souhaitez créer des agents de service. Utilisezproject,folderouorganization. -
RESOURCE_ID: ID numérique du projet, du dossier ou de l'organisation Google Cloudpour lequel vous souhaitez créer des agents de service. Par exemple,123456789012.Vous pouvez créer des agents de service pour une ressource à la fois. Si vous devez créer des agents de service pour plusieurs ressources, exécutez la commande une fois pour chaque ressource.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud workload-identity service-agents generate --service="ENDPOINT" \ --location="global" --RESOURCE_TYPE="RESOURCE_ID"
Windows (PowerShell)
gcloud workload-identity service-agents generate --service="ENDPOINT" ` --location="global" --RESOURCE_TYPE="RESOURCE_ID"
Windows (cmd.exe)
gcloud workload-identity service-agents generate --service="ENDPOINT" ^ --location="global" --RESOURCE_TYPE="RESOURCE_ID"
La réponse contient la liste de tous les agents de service créés. Pour chaque agent de service, la réponse liste la ressource pour laquelle il a été créé, l'adresse e-mail de l'agent de service, le service auquel il est associé et son état. Si l'agent de service se voit généralement attribuer un rôle spécifique, la réponse liste également ce rôle.
Le rôle indiqué n'est pas automatiquement attribué à l'agent de service. Pour chaque rôle de la réponse, enregistrez l'adresse e-mail de l'agent de service auquel le rôle doit être attribué. Vous utiliserez ces informations pour attribuer des rôles aux agents de service.
Vous trouverez ci-dessous un exemple tronqué de réponse pour la création d'agents de service pour aiplatform.googleapis.com.
Provisioned service agents for aiplatform.googleapis.com under projects/123456789012: container: projects/123456789012 principal: serviceAccount:service-123456789012@gcp-sa-aiplatform.iam.gserviceaccount.com role: roles/aiplatform.serviceAgent serviceProducer: aiplatform.googleapis.com state: ACTIVE ---- container: projects/123456789012 principal: serviceAccount:service-123456789012@gcp-ri-aiplatform.iam.gserviceaccount.com serviceProducer: aiplatform.googleapis.com state: ACTIVE ---- ... ---- container: projects/123456789012 principal: serviceAccount:service-123456789012@gcp-sa-vertex-vtc.iam.gserviceaccount.com role: roles/aiplatform.trainingClusterServiceAgent serviceProducer: aiplatform.googleapis.com state: ACTIVE ----
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base. Pour en savoir plus, lisez la documentation de référence du fournisseur Terraform.
Utilisez la ressource google_workload_identity_service_agent pour déclencher la création d'agents de service pour chaque point de terminaison et ressource que vous avez identifiés dans Identifier les agents de service à créer.
Par exemple, si vous souhaitez créer tous les agents de service au niveau du projet pour BigQuery pour le projet par défaut, vous pouvez ajouter le code suivant à votre configuration Terraform :
REST
Pour chaque point de terminaison pour lequel vous devez créer des agents de service, procédez comme suit :
Créez des agents de service pour chaque ressource que vous avez identifiée dans Identifier les agents de service à créer :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de ressource pour lequel vous souhaitez créer des agents de service. Utilisezprojects,foldersouorganizations. -
RESOURCE_NUMERIC_ID: ID numérique du Google Cloud projet, du dossier ou de l'organisation pour lequel vous souhaitez créer des agents de service. Par exemple,123456789012.Vous pouvez créer des agents de service pour une ressource à la fois. Si vous devez créer des agents de service pour plusieurs ressources, envoyez une requête pour chaque ressource.
-
ENDPOINT: point de terminaison de l'API pour lequel vous souhaitez créer un agent de service, par exempleaiplatform.googleapis.com.
Méthode HTTP et URL :
POST https://workloadidentity.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_NUMERIC_ID/locations/global/serviceProducers/ENDPOINT:generateServiceAgents
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient uneOperationqui indique l'état de votre requête. Exemple :{ "name": "projects/123456789012/locations/global/operations/operation-1775250941060-64e94d1baa76d-1aa958f3-07b2ea9c", "metadata": { "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.OperationMetadata", "createTime": "2026-04-03T21:15:41.367155118Z", "target": "projects/123456789012/locations/global/serviceProducers/bigquery.googleapis.com", "verb": "passthroughLro", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }-
Obtenez la réponse de l'opération terminée. Pour chaque rôle dans la réponse, notez l'adresse e-mail de l'agent de service auquel le rôle doit être attribué. Vous utiliserez ces informations pour attribuer des rôles aux agents de service.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
-
OPERATION_NAME: nom d'une opération generateServiceAgents. Copiez cette valeur dans le champnamed'une réponseserviceProducers.generateServiceAgents. Par exemple :projects/123456789012/locations/global/operations/operation-1775250941060-64e94d1baa76d-1aa958f3-07b2ea9c. PROJECT_ID: ID de votre projet Google Cloud . Les ID de projet sont des chaînes alphanumériques, telles quemy-project.
Méthode HTTP et URL :
GET https://workloadidentity.googleapis.com/v1/OPERATION_NAME
Pour envoyer votre requête, développez l'une des options suivantes :
Les opérations en cours renvoient une réponse semblable à ceci :
{ "name": "projects/123456789012/locations/global/operations/operation-1775258415970-64e968f44b91a-28fcf2f5-38367cfe", "metadata": { "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.OperationMetadata", "createTime": "2026-04-03T23:20:15.982631253Z", "target": "projects/123456789012/locations/global/serviceProducers/aiplatform.googleapis.com", "verb": "passthroughLro", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }Les opérations terminées renvoient une réponse contenant la liste des agents de service créés. Pour chaque agent de service, la réponse liste la ressource pour laquelle il a été créé, l'adresse e-mail de l'agent de service, le service auquel l'agent de service est associé et l'état de l'agent de service. Si l'agent de service se voit généralement attribuer un rôle spécifique, la réponse liste également ce rôle.
Le rôle indiqué n'est pas automatiquement attribué à l'agent de service. Pour chaque rôle de la réponse, enregistrez l'adresse e-mail de l'agent de service auquel le rôle doit être attribué. Vous utiliserez ces informations pour attribuer des rôles aux agents de service.
Vous trouverez ci-dessous un exemple tronqué de réponse pour la création d'agents de service pour
aiplatform.googleapis.com.{ "name": "projects/123456789012/locations/global/operations/operation-1775258415970-64e968f44b91a-28fcf2f5-38367cfe", "metadata": { "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.OperationMetadata", "createTime": "2026-04-03T23:20:15.982631253Z", "endTime": "2026-04-03T23:20:17.315225515Z", "target": "projects/123456789012/locations/global/serviceProducers/aiplatform.googleapis.com", "verb": "passthroughLro", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.workloadidentity.v1.GenerateServiceAgentsResponse", "serviceAgents": [ { "container": "projects/123456789012", "serviceProducer": "aiplatform.googleapis.com", "principal": "serviceAccount:service-123456789012@gcp-sa-aiplatform.iam.gserviceaccount.com", "role": "roles/aiplatform.serviceAgent", "state": "ACTIVE" }, { "container": "projects/123456789012", "serviceProducer": "aiplatform.googleapis.com", "principal": "serviceAccount:service-123456789012@gcp-ri-aiplatform.iam.gserviceaccount.com", "state": "ACTIVE" }, ... { "container": "projects/123456789012", "serviceProducer": "aiplatform.googleapis.com", "principal": "serviceAccount:service-123456789012@gcp-sa-vertex-vtc.iam.gserviceaccount.com", "role": "roles/aiplatform.trainingClusterServiceAgent", "state": "ACTIVE" } ] } }-
Attribuer des rôles aux agents de service
Une fois que Google Cloud a créé les agents de service nécessaires pour vos projets, dossiers et organisations, vous devez utiliser les adresses e-mail des agents de service pour leur attribuer des rôles.
Si vous avez demandé à Google Cloud de créer des agents de service, vous devez attribuer à ces agents les rôles qui leur sont généralement attribués automatiquement. Sinon, certains services risquent de ne pas fonctionner correctement. En effet, les agents de service créés à la demande d'un utilisateur ne reçoivent pas automatiquement de rôles.
Console
Utilisez la liste des rôles et des agents de service que vous avez créée dans Déclencher la création d'un agent de service pour identifier les agents de service auxquels des rôles doivent être attribués. Pour chaque agent de service qui a besoin d'un rôle, procédez comme suit :
Dans la console Google Cloud , accédez à la page IAM.
Sélectionnez un projet, un dossier ou une organisation pour lesquels vous avez créé l'agent de service.
Cliquez sur Accorder l'accès, puis saisissez l'adresse e-mail de l'agent de service.
Cliquez sur Sélectionner un rôle, puis saisissez le nom d'un rôle ou d'une autorisation pour filtrer les rôles à attribuer. Pour suivre le principe du moindre privilège, choisissez un rôle qui n'inclut que les autorisations dont votre compte principal a besoin.
Cliquez sur Enregistrer. Le rôle est attribué à l'agent de service sur la ressource.
gcloud
Utilisez la liste des rôles et des agents de service que vous avez créée dans Déclencher la création d'un agent de service pour identifier les agents de service auxquels des rôles doivent être attribués. Pour chaque agent de service qui a besoin d'un rôle, utilisez la commande add-iam-policy-binding pour attribuer le rôle à l'agent de service.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
RESOURCE_TYPE: type de ressource dont vous souhaitez gérer l'accès. Utilisezprojects,resource-manager foldersouorganizations. -
RESOURCE_ID: ID de votre projet Google Cloud , de votre dossier ou de votre organisation. Les ID de projet sont alphanumériques, commemy-project. Les ID de dossier et d'organisation sont numériques, comme123456789012. -
PRINCIPAL: adresse e-mail de l'agent de service auquel vous souhaitez accorder l'accès, précédée deserviceAccount:. Exemple :serviceAccount:service-0123456789012@gcp-sa-aiplatform-cc.iam.gserviceaccount.com. -
ROLE_NAME: nom du rôle que vous souhaitez attribuer à l'agent de service.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
Windows (PowerShell)
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ` --member=PRINCIPAL --role=ROLE_NAME ` --condition=CONDITION
Windows (cmd.exe)
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^ --member=PRINCIPAL --role=ROLE_NAME ^ --condition=CONDITION
La réponse contient la stratégie d'autorisation IAM mise à jour.
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base. Pour en savoir plus, lisez la documentation de référence du fournisseur Terraform.
Pour attribuer des rôles aux agents de service, procédez comme suit :
-
Pour chaque ressource
google_workload_identity_service_agent, accordez tous les rôles associés aux agents de service.Par exemple, si vous souhaitez accorder des rôles à tous les agents de service pour la ressource
google_workload_identity_service_agent.primary, vous pouvez ajouter le code suivant à votre configuration Terraform : -
Exécutez une commande
terraform applyciblée pour la ressourcegoogle_workload_identity_service_agentque vous avez ajoutée dans la section Déclencher la création de l'agent de service de cette page.Par exemple, si vous avez ajouté une ressource nommée
google_workload_identity_service_agent.primary, vous devez exécuter la commande suivante :terraform apply target="google_workload_identity_service_agent.primary"
L'exécution de cette commande garantit que la ressource
google_project_iam_memberpeut référencer les ressources de l'agent de service sans générer d'erreursKnown After Apply. -
Exécutez la commande
terraform planpour votre configuration Terraform. Cette commande affiche le plan d'exécution pour l'attribution de rôles aux agents de service. Si le plan d'exécution vous convient, exécutezterraform applypour l'appliquer.
REST
Utilisez la liste des rôles et des agents de service que vous avez créée dans Déclencher la création d'un agent de service pour identifier les agents de service auxquels des rôles doivent être attribués. Pour attribuer des rôles aux agents de service, utilisez le modèle lecture-modification-écriture pour mettre à jour la stratégie d'autorisation de la ressource :
Lisez la stratégie d'autorisation actuelle en appelant
getIamPolicy.Avant d'utiliser les données de requête, effectuez les remplacements suivants :
API_VERSION: version de l'API à utiliser. Pour les projets et les organisations, utilisezv1. Pour les dossiers, utilisezv2.RESOURCE_TYPE: type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeurprojects,foldersouorganizations.RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. Les ID de projet sont des chaînes alphanumériques, telles quemy-project. Les ID de dossier et d'organisation sont numériques, tels que123456789012.POLICY_VERSION: version de la stratégie à renvoyer. Les requêtes doivent spécifier la version de stratégie la plus récente, qui est la version 3. Pour plus d'informations, consultez la section Spécifier une version de stratégie lors de l'obtention d'une stratégie.
Méthode HTTP et URL :
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:getIamPolicy
Corps JSON de la requête :
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient la stratégie d'autorisation de la ressource. Exemple :
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] } ] }Pour chaque agent de service auquel vous souhaitez attribuer un rôle, créez une liaison de rôle qui lui accorde le rôle requis. Par exemple, la liaison de rôle suivante accorde à l'agent de service de code personnalisé AI Platform le rôle Agent de service de code personnalisé Vertex AI (
roles/aiplatform.customCodeServiceAgent) :{ "role": "roles/aiplatform.customCodeServiceAgent", "members": [ "serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com", ] }Si la stratégie d'autorisation comporte déjà une liaison de rôle pour le rôle requis, ajoutez l'agent de service à la liste
memberspour cette liaison de rôle.Écrivez la stratégie d'autorisation mise à jour en appelant
setIamPolicy.Avant d'utiliser les données de requête, effectuez les remplacements suivants :
API_VERSION: version de l'API à utiliser. Pour les projets et les organisations, utilisezv1. Pour les dossiers, utilisezv2.RESOURCE_TYPE: type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeurprojects,foldersouorganizations.RESOURCE_ID: ID de votre projet Google Cloud, de votre organisation ou de votre dossier. Les ID de projet sont des chaînes alphanumériques, telles quemy-project. Les ID de dossier et d'organisation sont numériques, tels que123456789012.-
POLICY: représentation JSON de la stratégie que vous souhaitez définir. Pour en savoir plus sur le format d'une stratégie, consultez la documentation de référence sur les stratégies.
Méthode HTTP et URL :
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
Corps JSON de la requête :
{ "policy": POLICY }Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient la stratégie d'autorisation mise à jour.
Étapes suivantes
- Affichez la liste de tous les agents de service.
- Découvrez d'autres façons d'attribuer des rôles aux comptes principaux.
- Découvrez comment créer des comptes de service gérés par l'utilisateur pouvant servir d'identités pour vos charges de travail.
- Découvrez les bonnes pratiques d'utilisation de Terraform surGoogle Cloud.
- Découvrez tous les exemples Terraform.Google Cloud