Créer et attribuer des rôles aux agents de service

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'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer les API

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

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 :

  1. 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 list ré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 contiennent googleapis.com, mais pas sandbox :

      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 est unlimited.

    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.list de 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. Utilisez projects, folders ou organizations.
    • 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 que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
    • 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.

  2. 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 :

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

    2. 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_NUMBER Chaque projet dans lequel vous utiliserez le service
      FOLDER_NUMBER Chaque dossier dans lequel vous utiliserez le service
      ORGANIZATION_NUMBER Chaque organisation dans laquelle vous utiliserez le service
    3. 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 exemple aiplatform.googleapis.com.
  • RESOURCE_TYPE : type de ressource pour lequel vous souhaitez créer des agents de service. Utilisez project, folder ou organization.
  • 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 :

data "google_project" "default" {
}

# Create all project-level bigquery.googleapis.com service agents
resource "google_workload_identity_service_agent" "primary" {
  parent = "projects/${data.google_project.default.number}/locations/global/serviceProducers/bigquery.googleapis.com"
}

REST

Pour chaque point de terminaison pour lequel vous devez créer des agents de service, procédez comme suit :

  1. 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. Utilisez projects, folders ou organizations.
    • 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 exemple aiplatform.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 une Operation qui 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
    }
    

  2. 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 champ name d'une réponse serviceProducers.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 que my-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 :

  1. Dans la console Google Cloud , accédez à la page IAM.

    Accéder à IAM

  2. Sélectionnez un projet, un dossier ou une organisation pour lesquels vous avez créé l'agent de service.

  3. Cliquez sur  Accorder l'accès, puis saisissez l'adresse e-mail de l'agent de service.

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

  5. 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. Utilisez projects, resource-manager folders ou organizations.

  • RESOURCE_ID : ID de votre projet Google Cloud , de votre dossier ou de votre organisation. Les ID de projet sont alphanumériques, comme my-project. Les ID de dossier et d'organisation sont numériques, comme 123456789012.

  • PRINCIPAL : adresse e-mail de l'agent de service auquel vous souhaitez accorder l'accès, précédée de serviceAccount:. 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 :

  1. 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 :

    # Grant roles to BigQuery service agents for project
    resource "google_project_iam_member" "service_agents" {
      for_each = {
        for i, agent in google_workload_identity_service_agent.primary.service_agents :
        i => agent if try(agent.role, "") != ""
      }
      project = data.google_project.default.project_id
      role    = each.value.role
      member  = each.value.principal
    }
  2. Exécutez une commande terraform apply ciblée pour la ressource google_workload_identity_service_agent que 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_member peut référencer les ressources de l'agent de service sans générer d'erreurs Known After Apply.

  3. Exécutez la commande terraform plan pour 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écutez terraform apply pour 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 :

  1. 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, utilisez v1. Pour les dossiers, utilisez v2.
    • RESOURCE_TYPE : type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeur projects, folders ou organizations.
    • 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 que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
    • 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"
          ]
        }
      ]
    }
    

  2. 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 members pour cette liaison de rôle.

  3. É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, utilisez v1. Pour les dossiers, utilisez v2.
    • RESOURCE_TYPE : type de ressource dont vous souhaitez gérer la stratégie. Utilisez la valeur projects, folders ou organizations.
    • 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 que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
    • 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