Cette page explique comment refuser l'accès aux comptes principaux en les empêchant d'utiliser des autorisations IAM (Identity and Access Management) spécifiques.
Dans IAM, vous refusez les accès avec des stratégies de refus. Chaque stratégie de refus est associée à une organisation, un dossier ou un projet Google Cloud. Une stratégie de refus contient des règles de refus, qui identifient les comptes principaux et liste les autorisations qu'ils ne peuvent pas utiliser.
Les stratégies de refus sont distinctes des stratégies d'autorisation, également appelées stratégies IAM. Une stratégie d'autorisation fournit un accès aux ressources en attribuant des rôles IAM aux comptes principaux.
Vous pouvez gérer les stratégies de refus avec la console Google Cloud, la CLI Google Cloud ou l'API REST IAM v2
.
Avant de commencer
Enable the IAM API.
Configurez l'authentification.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Go
Pour utiliser les exemples Go de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Node.js
Pour utiliser les exemples Node.js de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Consultez la présentation des stratégies de refus.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les stratégies de refus, demandez à votre administrateur de vous accorder les rôles IAM suivants sur l'organisation :
- Pour afficher les stratégies de refus : Examinateur des refus (
roles/iam.denyReviewer
) - Pour afficher, créer, mettre à jour et supprimer des stratégies de refus : Administrateur des refus (
roles/iam.denyAdmin
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour gérer les stratégies de refus. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour gérer les règles de refus :
-
Pour afficher les règles de refus :
-
iam.denypolicies.get
-
iam.denypolicies.list
-
-
Pour créer, mettre à jour et supprimer des règles de refus :
-
iam.denypolicies.create
-
iam.denypolicies.delete
-
iam.denypolicies.get
-
iam.denypolicies.update
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Identifier les autorisations à refuser
Avant de créer une stratégie de refus, vous devez choisir les autorisations que vous souhaitez refuser et les comptes principaux qui doivent se voir refuser ces autorisations.
Seules certaines autorisations peuvent être refusées. Pour obtenir la liste des autorisations que vous pouvez refuser, consultez la section Autorisations compatibles avec les stratégies de refus.
Dans certains cas, vous pouvez également utiliser des groupes d'autorisations pour refuser des ensembles d'autorisations. Pour en savoir plus, consultez la section Groupes d'autorisations.
Vous gérez les stratégies de refus avec l'API REST
v2
, qui nécessite un format spécial pour les noms d'autorisations. Par exemple, l'autorisation de créer un rôle personnalisé IAM est nommée comme suit :- API
v1
:iam.roles.create
- API
v2
:iam.googleapis.com/roles.create
Créer une stratégie de refus
Vous pouvez ajouter des stratégies de refus aux organisations, aux dossiers et aux projets. Chaque ressource peut comporter jusqu'à 500 stratégies de refus.
Les stratégies de refus contiennent des règles de refus qui spécifient les éléments suivants :
- Les autorisations à refuser.
- Les comptes principaux qui se voient refuser ces autorisations.
Facultatif : les comptes principaux exemptés du refus d'autorisations.
Par exemple, vous pouvez refuser une autorisation à un groupe, mais exclure des utilisateurs spécifiques appartenant à ce groupe.
Facultatif : une expression de condition qui spécifie quand les comptes principaux ne peuvent pas utiliser les autorisations. Dans les règles de refus, les expressions de condition ne peuvent utiliser que des fonctions pour les tags de ressources. Les autres fonctions et opérateurs ne sont pas acceptés.
Chaque ressource peut comporter jusqu'à 500 règles de refus pour l'ensemble des stratégies de refus qui lui sont associées.
Les stratégies de refus sont héritées via la hiérarchie des ressources. Par exemple, si vous refusez une autorisation au niveau de l'organisation, cette autorisation sera également refusée pour les dossiers et les projets de cette organisation, ainsi que pour les ressources spécifiques aux services de chaque projet.
Les stratégies de refus remplacent les stratégies d'autorisation. Si un compte principal dispose d'un rôle contenant une autorisation spécifique, mais qu'une stratégie de refus indique que le compte principal ne peut pas utiliser cette autorisation, alors il ne peut pas l'utiliser.
Console
Dans la console Google Cloud, accédez à l'onglet Refuser de la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
Cliquez sur
Créer une stratégie de refus.Dans la section Nom de la stratégie, définissez l'ID de la stratégie en effectuant l'une des opérations suivantes:
- Dans le champ Nom à afficher, saisissez un nom à afficher pour la stratégie. Si vous renseignez ce champ, le champ ID est automatiquement renseigné. Si vous souhaitez modifier l'ID de la stratégie, mettez à jour le texte dans le champ ID.
- Dans le champ ID, saisissez un ID pour la stratégie.
Dans la section Règles de refus, définissez les règles de refus de la stratégie. Chaque stratégie de refus doit comporter au moins une règle de refus. Pour ajouter des règles de refus supplémentaires, cliquez sur Ajouter une règle de refus.
Pour chaque règle de refus, procédez comme suit:
- Dans le champ Comptes principaux refusés, ajoutez un ou plusieurs comptes principaux dont vous souhaitez empêcher l'utilisation des autorisations spécifiées. Le compte principal peut être n'importe quel type de compte principal de la liste des identifiants principaux
v2
IAM, à l'exception des comptes principaux dont les ID commencent pardeleted:
. - Facultatif: Dans le champ Comptes principaux soumis à des exceptions, ajoutez les comptes principaux que vous souhaitez autoriser à utiliser les autorisations spécifiées, même s'ils sont inclus dans la section Comptes principaux refusés. Par exemple, vous pouvez utiliser ce champ afin de créer une exception pour des utilisateurs spécifiques faisant partie d'un groupe refusé.
Dans les sections Autorisations refusées, ajoutez les autorisations que vous souhaitez refuser. Les autorisations doivent être compatibles avec les stratégies de refus.
Dans certains cas, vous pouvez également utiliser des groupes d'autorisations pour refuser des ensembles d'autorisations. Pour en savoir plus, consultez la section Groupes d'autorisations.
Facultatif: Ajoutez des autorisations d'exception. Les autorisations d'exception sont des autorisations que vous ne souhaitez pas que cette règle de refus refuse, même si elles sont incluses dans la liste des autorisations refusées. Par exemple, vous pouvez utiliser ce champ pour créer des exceptions pour des autorisations spécifiques dans un groupe d'autorisations.
Pour ajouter des autorisations d'exception, cliquez sur Autorisations d'exception, puis sur
Ajouter une autre autorisation. Saisissez ensuite l'autorisation dans le champ Autorisation 1. Continuez à ajouter des autorisations jusqu'à ce que vous ayez ajouté toutes les autorisations que vous souhaitez exclure de la règle de refus.Facultatif: ajoutez une condition de refus pour spécifier quand les comptes principaux ne peuvent pas utiliser l'autorisation. Pour ajouter une condition de refus, cliquez sur
Ajouter une condition de refus, puis définissez les champs suivants:- Titre : facultatif Un bref résumé de l'objectif de la condition.
- Description : facultatif. Une description plus longue de la condition.
Expression de condition: vous pouvez ajouter une expression de condition à l'aide du Créateur de conditions ou de l'Éditeur de conditions. L'outil Créateur de conditions fournit une interface interactive permettant de sélectionner le type de condition, l'opérateur et d'autres informations applicables concernant l'expression. L'éditeur de conditions fournit une interface textuelle permettant de saisir manuellement une expression à l'aide de la syntaxe Common Expression Language (CEL).
Les conditions de refus doivent être basées sur des tags de ressources. Les autres fonctions et opérateurs ne sont pas compatibles.
- Dans le champ Comptes principaux refusés, ajoutez un ou plusieurs comptes principaux dont vous souhaitez empêcher l'utilisation des autorisations spécifiées. Le compte principal peut être n'importe quel type de compte principal de la liste des identifiants principaux
Cliquez sur Créer.
gcloud
Pour créer une stratégie de refus pour une ressource, commencez par créer un fichier JSON contenant la stratégie. Une stratégie de refus utilise le format suivant :
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Indiquez les valeurs suivantes :
POLICY_NAME
: le nom à afficher pour la stratégie de refus.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: les règles de refus de la stratégie. Chaque règle de refus peut contenir les champs suivants :-
deniedPermissions
: une liste des autorisations que les comptes principaux spécifiés ne peuvent pas utiliser. Les autorisations doivent être compatibles avec les stratégies de refus.Dans certains cas, vous pouvez également utiliser des groupes d'autorisations pour refuser des ensembles d'autorisations. Pour en savoir plus, consultez la section Groupes d'autorisations.
-
exceptionPermissions
: liste des autorisations que les comptes principaux spécifiés peuvent utiliser, même si ces autorisations sont incluses dansdeniedPermissions
. Par exemple, vous pouvez utiliser ce champ pour créer des exceptions pour des autorisations spécifiques dans un groupe d'autorisations. -
deniedPrincipals
: une liste des comptes principaux qui ne peuvent pas utiliser les autorisations spécifiées. Utilisez le format APIv2
pour les identifiants des comptes principaux. -
exceptionPrincipals
: facultatif. Une liste de comptes principaux pouvant utiliser les autorisations spécifiées, même si ces comptes principaux sont inclus dansdeniedPrincipals
. Par exemple, vous pouvez utiliser ce champ afin de créer une exception pour des utilisateurs spécifiques faisant partie d'un groupe refusé. Utilisez le format APIv2
pour les identifiants des comptes principaux. -
denialCondition
: facultatif. Une expression de condition qui spécifie quand les comptes principaux ne peuvent pas utiliser les autorisations. Elle contient les champs suivants :-
expression
: une expression de condition qui utilise la syntaxe CEL (Common Expression Language). L'expression doit utiliser les fonctions CEL pour évaluer les tags des ressources. Les autres fonctions et opérateurs ne sont pas compatibles. -
title
: facultatif. Un bref résumé de l'objectif de la condition. -
description
: facultatif. Une description plus longue de la condition.
-
Pour obtenir des exemples de règles de refus, consultez la section Cas d'utilisation courants.
-
Par exemple, la stratégie de refus suivante contient une règle de refus, qui refuse une autorisation à Lucian:
{ "displayName": "My deny policy.", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Exécutez ensuite la commande
gcloud iam policies create
:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Indiquez les valeurs suivantes :
-
POLICY_ID
: l'identifiant de la stratégie de refus. -
ATTACHMENT_POINT
: identifiant de la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. -
POLICY_FILE
: le chemin d'accès au fichier JSON contenant la stratégie de refus.
Par défaut, si cette commande aboutit, elle n'affiche aucun résultat. Pour afficher une réponse détaillée, ajoutez l'option
--format=json
à la commande.Par exemple, la commande suivante crée une stratégie de refus nommée
my-deny-policy
pour le projetmy-project
, à l'aide d'un fichier nommépolicy.json
:gcloud iam policies create my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
policies.createPolicy
crée une stratégie de refus pour une ressource.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. POLICY_ID
: un identifiant pour la stratégie de refus.POLICY_NAME
: le nom à afficher pour la stratégie de refus.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: les règles de refus de la stratégie. Chaque règle de refus peut contenir les champs suivants :-
deniedPermissions
: une liste des autorisations que les comptes principaux spécifiés ne peuvent pas utiliser. Les autorisations doivent être compatibles avec les stratégies de refus.Dans certains cas, vous pouvez également utiliser des groupes d'autorisations pour refuser des ensembles d'autorisations. Pour en savoir plus, consultez la section Groupes d'autorisations.
-
exceptionPermissions
: liste des autorisations que les comptes principaux spécifiés peuvent utiliser, même si ces autorisations sont incluses dansdeniedPermissions
. Par exemple, vous pouvez utiliser ce champ pour créer des exceptions pour des autorisations spécifiques dans un groupe d'autorisations. -
deniedPrincipals
: une liste des comptes principaux qui ne peuvent pas utiliser les autorisations spécifiées. Utilisez le format APIv2
pour les identifiants des comptes principaux. -
exceptionPrincipals
: facultatif. Une liste de comptes principaux pouvant utiliser les autorisations spécifiées, même si ces comptes principaux sont inclus dansdeniedPrincipals
. Par exemple, vous pouvez utiliser ce champ afin de créer une exception pour des utilisateurs spécifiques faisant partie d'un groupe refusé. Utilisez le format APIv2
pour les identifiants des comptes principaux. -
denialCondition
: facultatif. Une expression de condition qui spécifie quand les comptes principaux ne peuvent pas utiliser les autorisations. Elle contient les champs suivants :-
expression
: une expression de condition qui utilise la syntaxe CEL (Common Expression Language). L'expression doit utiliser les fonctions CEL pour évaluer les tags des ressources. Les autres fonctions et opérateurs ne sont pas compatibles. -
title
: facultatif. Un bref résumé de l'objectif de la condition. -
description
: facultatif. Une description plus longue de la condition.
-
Pour obtenir des exemples de règles de refus, consultez la section Cas d'utilisation courants.
-
Méthode HTTP et URL :
POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID
Corps JSON de la requête :
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2022-06-28T19:06:12.455151Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
La réponse identifie une opération de longue durée. Vous pouvez surveiller l'état de l'opération de longue durée pour savoir quand elle est terminée. Pour plus de détails, consultez la section Vérifier l'état d'une opération de longue durée sur cette page.
Lister les stratégies de refus
Une ressource peut comporter plusieurs stratégies de refus. Vous pouvez lister toutes les stratégies de refus associées à une ressource, puis afficher chaque stratégie de refus pour voir les règles de refus de chaque stratégie.
Console
Dans la console Google Cloud, accédez à l'onglet Refuser de la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
La console Google Cloud liste toutes les stratégies de refus qui s'appliquent à ce projet, dossier ou organisation. Cela inclut les stratégies de refus héritées d'autres ressources. Pour en savoir plus sur l'héritage des stratégies de refus, consultez la section Héritage des stratégies de refus.
gcloud
Pour lister les stratégies de refus attribuées à une ressource, exécutez la commande
gcloud iam policies list
:gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Indiquez la valeur suivante :
-
ATTACHMENT_POINT
: identifiant de la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement.
Par exemple, la commande suivante liste les stratégies de refus associées à une organisation dont l'ID numérique est
123456789012
:gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=json
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
policies.listPolicies
liste les stratégies de refus d'une ressource.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement.
Méthode HTTP et URL :
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "policies": [ { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-2", "uid": "8465d710-ea20-0a08-d92c-b2a3ebf766ab", "kind": "DenyPolicy", "displayName": "My second deny policy.", "createTime": "2022-06-05T19:21:53.595455Z", "updateTime": "2022-06-05T19:21:53.595455Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-3", "uid": "ee9f7c2f-7e8c-b05c-d4e5-e03bfb2954e0", "kind": "DenyPolicy", "displayName": "My third deny policy.", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z" } ] }
Afficher une stratégie de refus
Vous pouvez afficher une stratégie de refus pour voir les règles de refus qu'elle contient, y compris les autorisations refusées et les comptes principaux qui ne peuvent pas utiliser ces autorisations.
Console
Dans la console Google Cloud, accédez à l'onglet Refuser de la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
Dans la colonne ID de la stratégie, cliquez sur l'ID de la stratégie que vous souhaitez afficher.
La console Google Cloud affiche les détails de la stratégie de refus, y compris l'ID de la stratégie, la date de sa création et les règles de refus qu'elle contient.
gcloud
Pour obtenir la stratégie de refus pour une ressource, exécutez la commande
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Indiquez les valeurs suivantes :
-
POLICY_ID
: l'identifiant de la stratégie de refus. -
ATTACHMENT_POINT
: identifiant de la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement.
Par exemple, la commande suivante permet d'obtenir la stratégie de refus nommée
my-deny-policy
pour le projetmy-project
et l'enregistre dans un fichier nommépolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
policies.get
permet d'obtenir une stratégie de refus pour une ressource.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. POLICY_ID
: un identifiant pour la stratégie de refus.
Méthode HTTP et URL :
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Mettre à jour une stratégie de refus
Après avoir créé une stratégie de refus, vous pouvez mettre à jour les règles de refus qu'elle contient, ainsi que son nom à afficher.
Vous pouvez mettre à jour une stratégie de refus à l'aide de la console Google Cloud ou de l'une des méthodes de programmation suivantes:
- gcloud CLI
- L'API REST
- Bibliothèques clientes IAM
Mettre à jour une règle de refus à l'aide de la console Google Cloud
Dans la console Google Cloud, accédez à l'onglet Refuser de la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
Dans la colonne ID de la stratégie, cliquez sur l'ID de la stratégie que vous souhaitez modifier.
Cliquez sur
Modifier.Mettez à jour la stratégie de refus:
- Pour modifier le nom à afficher de la règle, modifiez le champ Nom à afficher.
- Pour modifier une règle de refus existante, cliquez sur la règle de refus, puis modifiez les comptes principaux de la règle, les comptes principaux soumis à des exceptions, les autorisations refusées, les autorisations d'exception ou la condition de refus.
- Pour supprimer une règle de refus, recherchez la règle de refus que vous souhaitez supprimer, puis cliquez sur Supprimer dans la ligne correspondante.
- Pour ajouter une règle de refus, cliquez sur Ajouter une règle de refus, puis créez une règle de refus comme vous le feriez pour créer une stratégie de refus.
Lorsque vous avez terminé de mettre à jour la stratégie de refus, cliquez sur Enregistrer.
Mettre à jour une stratégie de refus de manière programmatique
Pour mettre à jour une stratégie de refus à l'aide de gcloud CLI, de l'API REST ou des bibliothèques clientes IAM, utilisez le modèle read-modify-write:
- Lisez la version actuelle de la stratégie.
- Modifiez les informations de la stratégie si nécessaire.
- Écrivez la stratégie mise à jour.
Lire la stratégie de refus
gcloud
Pour obtenir la stratégie de refus pour une ressource, exécutez la commande
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Indiquez les valeurs suivantes :
-
POLICY_ID
: l'identifiant de la stratégie de refus. -
ATTACHMENT_POINT
: identifiant de la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement.
Par exemple, la commande suivante permet d'obtenir la stratégie de refus nommée
my-deny-policy
pour le projetmy-project
et l'enregistre dans un fichier nommépolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
policies.get
permet d'obtenir une stratégie de refus pour une ressource.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. POLICY_ID
: un identifiant pour la stratégie de refus.
Méthode HTTP et URL :
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Modifier la stratégie de refus
Pour modifier la stratégie de refus, vous devez modifier la copie de la stratégie que vous avez lue précédemment à partir d'IAM. Vous pouvez mettre à jour le nom à afficher ou ajouter, modifier ou supprimer des règles de refus. Les modifications ne prendront effet qu'après avoir écrit la stratégie mise à jour.
Par exemple, vous pouvez ajouter une autorisation à une règle de refus existante :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2021-10-05T19:22:26.770543Z", "updateTime": "2021-10-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Écrire la stratégie de refus mise à jour
Après avoir modifié la stratégie de refus localement, vous devez écrire la stratégie de refus mise à jour dans IAM.
Chaque stratégie de refus contient un champ
etag
qui identifie la version de la stratégie. Leetag
change chaque fois que vous mettez à jour la stratégie. Lorsque vous écrivez la stratégie mise à jour, leetag
de votre requête doit correspondre auetag
actuel stocké dans IAM. Si les valeurs ne correspondent pas, la requête échoue. Cette fonctionnalité permet d'éviter que les modifications simultanées ne s'écrasent les unes les autres.gcloud
Pour mettre à jour la stratégie de refus pour une ressource, exécutez la commande
gcloud iam policies update
:gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Indiquez les valeurs suivantes :
-
POLICY_ID
: l'identifiant de la stratégie de refus. -
ATTACHMENT_POINT
: identifiant de la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. -
POLICY_FILE
: le chemin d'accès au fichier JSON contenant la stratégie de refus.
Par défaut, si cette commande aboutit, elle n'affiche aucun résultat. Pour afficher une réponse détaillée, ajoutez l'option
--format=json
à la commande.Par exemple, la commande suivante met à jour une stratégie de refus nommée
my-deny-policy
pour le projetmy-project
, à l'aide d'un fichier nommépolicy.json
:gcloud iam policies update my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
policies.update
met à jour une stratégie de refus.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. POLICY_ID
: un identifiant pour la stratégie de refus.-
POLICY
: la stratégie de refus mise à jour.Par exemple, pour ajouter une autorisation à la stratégie présentée à l'étape précédente, remplacez
POLICY
par ce qui suit :{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Méthode HTTP et URL :
PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Corps JSON de la requête :
POLICY
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8b2d0ab2daf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T22:26:21.968687Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTgxNTIxNDE3NTYxNjQxODYxMTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T22:26:21.968687Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } }
La réponse identifie une opération de longue durée. Vous pouvez surveiller l'état de l'opération de longue durée pour savoir quand elle est terminée. Pour plus de détails, consultez la section Vérifier l'état d'une opération de longue durée sur cette page.
Supprimer une stratégie de refus
Si vous ne souhaitez plus appliquer les règles d'une stratégie de refus, vous pouvez supprimer la stratégie de refus.
Vous pouvez éventuellement spécifier le
etag
pour la version de stratégie que vous supprimez. Si vous spécifiez leetag
, il doit correspondre auetag
actuel stocké par IAM. Si les valeurs ne correspondent pas, la requête échoue. Vous pouvez utiliser cette fonctionnalité pour vous assurer de supprimer la stratégie souhaitée, plutôt qu'une version mise à jour de cette stratégie.Si vous omettez le
etag
dans la requête, IAM supprime la stratégie sans condition.Console
Dans la console Google Cloud, accédez à l'onglet Refuser de la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
Dans la colonne ID de la stratégie, cliquez sur l'ID de la stratégie que vous souhaitez supprimer.
Cliquez sur
Supprimer. Dans la boîte de dialogue de confirmation, cliquez sur Confirmer.
gcloud
Pour supprimer une stratégie de refus d'une ressource, exécutez la commande
gcloud iam policies delete
:gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies
Indiquez les valeurs suivantes :
-
POLICY_ID
: l'identifiant de la stratégie de refus. -
ATTACHMENT_POINT
: identifiant de la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement.
Vous pouvez éventuellement ajouter l'option
--etag=ETAG
. RemplacezETAG
par la valeuretag
actuelle pour la stratégie de refus.Par défaut, si cette commande aboutit, elle n'affiche aucun résultat. Pour afficher une réponse détaillée, ajoutez l'option
--format=json
à la commande.Par exemple, la commande suivante supprime une stratégie de refus nommée
my-deny-policy
du projetmy-project
:gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
policies.delete
supprime une stratégie de refus d'une ressource.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. POLICY_ID
: un identifiant pour la stratégie de refus.-
ETAG
: facultatif. Un identifiant pour la version de la stratégie. Si cette valeur est présente, elle doit correspondre à la valeuretag
actuelle de la stratégie.
Méthode HTTP et URL :
DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8223fe308bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T19:45:00.133311Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-07-05T19:45:00.133311Z", "deleteTime": "2022-07-05T19:45:00.133311Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
La réponse identifie une opération de longue durée. Vous pouvez surveiller l'état de l'opération de longue durée pour savoir quand elle est terminée. Pour plus de détails, consultez la section Vérifier l'état d'une opération de longue durée sur cette page.
Vérifier l'état d'une opération de longue durée
Lorsque vous utilisez l'API REST ou les bibliothèques clientes, toute méthode modifiant une stratégie de refus renvoie une opération de longue durée, ou LRO. L'opération de longue durée suit l'état de la requête et indique si la modification de la stratégie est terminée.
Go
Les exemples de code sur cette page montrent comment attendre la fin d'une opération de longue durée, puis accéder à son résultat.
Java
Les exemples de code sur cette page montrent comment attendre la fin d'une opération de longue durée, puis accéder à son résultat.
Node.js
Les exemples de code sur cette page montrent comment attendre la fin d'une opération de longue durée, puis accéder à son résultat.
Python
Les exemples de code sur cette page montrent comment attendre la fin d'une opération de longue durée, puis accéder à son résultat.
REST
La méthode
policies.operations.get
renvoie l'état d'une opération de longue durée.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
ENCODED_ATTACHMENT_POINT
: identifiant encodé au format URL pour la ressource à laquelle la règle de refus est associée. Pour savoir comment mettre en forme cette valeur, consultez la section Point de rattachement. -
OPERATION_ID
: l'identifiant pour l'opération. Vous recevez cet identifiant dans la réponse à votre requête d'origine, dans le nom de l'opération. Utilisez la valeur hexadécimale à la fin du nom de l'opération. Par exemple,89cb3e508bf1ff01
.
Méthode HTTP et URL :
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }
Si le champ
done
de l'opération n'est pas présent, continuez à surveiller son état en obtenant l'opération de façon répétée. Utilisez un intervalle exponentiel tronqué entre les tentatives pour introduire un délai entre chaque requête. Lorsque le champdone
est défini surtrue
, l'opération est terminée et vous pouvez cesser de l'obtenir.Étape suivante
- Identifiez les autorisations compatibles avec les stratégies de refus.
- Obtenez le format des identifiants des comptes principaux dans les stratégies de refus.
- Découvrez comment résoudre les problèmes d'accès avec des stratégies de refus.
- Apprenez-en plus sur les refus d'accès aux comptes principaux.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).