Utiliser des contraintes

Ce guide explique comment créer une règle d'administration avec une contrainte particulière. Les contraintes utilisées dans les exemples de cette page ne sont pas des contraintes réelles mais des exemples génériques utilisés à des fins éducatives.

Pour plus d'informations sur les contraintes et les problèmes qu'elles résolvent, consultez la liste de toutes les contraintes du service de règles d'administration.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour gérer des règles d'administration, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'administration (roles/orgpolicy.policyAdmin) dans l'organisation. 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.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Utiliser des contraintes de listes avec une règle d'administration

Vous pouvez définir, sur votre ressource Organisation, une règle d'administration utilisant une contrainte de liste pour refuser l'accès à un service particulier. Le processus suivant explique comment définir une règle d'administration à l'aide de Google Cloud CLI. Pour obtenir des instructions sur l'affichage et la définition des règles d'administration d'administration à l'aide de la console Google Cloud, consultez la page Créer et gérer des règles.

Les règles d'administration qui utilisent des contraintes de liste ne peuvent pas contenir plus de 500 valeurs autorisées ou refusées individuelles, et ne peuvent pas dépasser 32 ko. Si une règle d'administration est créée ou mise à jour pour contenir plus de 500 valeurs ou pour avoir une taille supérieure à 32 ko, elle ne peut pas être enregistrée, et la requête renvoie une erreur.

Configurer l'application sur la ressource Organisation

Pour configurer l'application d'une règle à une organisation à l'aide de gcloud CLI, procédez comme suit:

  1. Obtenez la règle actuelle pour la ressource Organisation en utilisant la commande describe. Cette commande renvoie la règle directement appliquée à cette ressource :

    gcloud org-policies describe \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID: identifiant unique de la ressource d'organisation. L'ID d'organisation est au format décimal et ne peut pas comporter de zéros non significatifs.

    • LIST_CONSTRAINT: contrainte de liste pour le service que vous souhaitez appliquer. Par exemple, la contrainte constraints/gcp.restrictNonCmekServices limite les services pouvant créer des ressources sans clés de chiffrement gérées par le client (CMEK).

    Vous pouvez également appliquer la règle d'administration à un dossier ou à un projet avec les options --folder ou --project, ainsi que l'ID de dossier et l'ID de projet, respectivement.

    La réponse renvoie la règle d'administration actuelle, le cas échéant. Exemple :

    name: projects/841166443394/policies/gcp.resourceLocations
    spec:
      etag: BwW5P5cEOGs=
      inheritFromParent: true
      rules:
      - condition:
          expression: resource.matchTagId("tagKeys/1111", "tagValues/2222")
        values:
          allowedValues:
          - in:us-east1-locations
      - condition:
          expression: resource.matchTag("123/env", "prod")
        values:
          allowedValues:
          - in:us-west1-locations
      - values:
          deniedValues:
          - in:asia-south1-locations
      updateTime: '2021-01-19T12:00:51.095Z'
    

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Définissez la règle sur l'organisation à l'aide de la commande set-policy. Cette opération écrase toute règle associée à la ressource.

    1. Créez un fichier temporaire /tmp/policy.yaml pour stocker la règle :

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      spec:
        rules:
        - values:
            deniedValues:
            - VALUE_A
      
    2. Exécutez la commande set-policy :

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Affichez la règle actuellement en vigueur en utilisant describe --effective. Cela renvoie la règle d'administration telle qu'elle est évaluée à ce stade de la hiérarchie des ressources (héritage inclus).

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Le résultat de la commande sera le suivant :

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      etag: BwVJi0OOESU=
      rules:
      - values:
          deniedValues:
          - VALUE_A
    

    Étant donné que cette règle d'administration a été définie au niveau de l'organisation, toutes les ressources enfants autorisant l'héritage en hériteront.

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Configurer l'application sur une sous-arborescence hiérarchique

Les contraintes de listes prennent des valeurs explicitement définies pour déterminer les ressources qui doivent être autorisées ou refusées. Certaines contraintes peuvent également accepter des valeurs qui utilisent le préfixe under:, qui spécifie une sous-arborescence ayant cette ressource pour racine. L'utilisation du préfixe under: sur une valeur autorisée ou refusée force la règle d'administration à agir sur cette ressource et sur tous ses enfants. Pour en savoir plus sur les contraintes autorisant l'utilisation du préfixe under:, consultez la page Contraintes en matière de règles d'administration.

On appelle "chaîne de sous-arborescence hiérarchique" une valeur qui utilise le préfixe under:. Une chaîne de sous-arborescence hiérarchique spécifie le type de ressource à laquelle elle s'applique. Par exemple, l'utilisation d'une chaîne de sous-arborescence projects/PROJECT_ID lors de la définition de la contrainte constraints/compute.storageResourceUseRestrictions autorise ou refuse l'utilisation du stockage Compute Engine pour PROJECT_ID et tous ses enfants.

  1. Obtenez la règle actuelle pour la ressource Organisation en utilisant la commande describe :

    gcloud org-policies describe \
      LIST_CONSTRAINT \
      --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID est un identifiant unique pour la ressource d'organisation.

    • LIST_CONSTRAINT est la contrainte de liste pour le service que vous souhaitez appliquer.

    Vous pouvez également appliquer la règle d'administration à un dossier ou à un projet avec les options --folder ou --project, ainsi que l'ID de dossier et l'ID de projet, respectivement.

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Définissez la règle sur le projet à l'aide de la commande set-policy. Le préfixe under: définit la contrainte de sorte qu'elle refuse la ressource nommée et toutes ses ressources enfants.

    1. Créez un fichier temporaire /tmp/policy.yaml pour stocker la règle :

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      spec:
        rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
      
    2. Exécutez la commande set-policy :

      gcloud org-policies set-policy /tmp/policy.yaml
      

    Où :

    • under: est un préfixe qui signifie que ce qui suit est une chaîne de sous-arborescence.

    • folders/VALUE_A est l'ID de dossier de la ressource racine que vous souhaitez refuser. Cette ressource et tous ses enfants dans la hiérarchie des ressources seront refusés.

    Vous pouvez également appliquer le préfixe under: aux organisations et aux projets, comme dans les exemples suivants :

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Affichez la règle actuellement en vigueur à l'aide de la commande describe --effective.

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Le résultat de la commande sera le suivant :

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - values:
          deniedValues:
          - under:folders/VALUE_A
    

    La règle permet maintenant de refuser le dossier VALUE_A et toutes ses ressources enfants.

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Fusionner la règle d'organisation sur un projet

Vous pouvez définir une règle d'administration sur une ressource, qui fusionnera avec toute règle héritée de sa ressource parente. Cette règle fusionnée sera ensuite évaluée pour créer une nouvelle règle en vigueur basée sur les règles d'héritage.

  1. Obtenez la règle actuelle pour la ressource en utilisant la commande describe :

    gcloud org-policies describe \
      LIST_CONSTRAINT \
      --project=PROJECT_ID
    

    Remplacez les éléments suivants :

    • PROJECT_ID: identifiant unique de votre projet.

    • LIST_CONSTRAINT: contrainte de liste pour le service que vous souhaitez appliquer.

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Affichez la règle actuellement en vigueur à l'aide de la commande describe --effective :

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Le résultat de la commande comprend une valeur refusée héritée de la ressource Organisation :

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
    
  3. Définissez la règle sur le projet à l'aide de la commande set-policy.

    1. Créez un fichier temporaire /tmp/policy.yaml pour stocker la règle :

      name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
      spec:
        inheritFromParent: true
        rules:
        - values:
            deniedValues:
            - VALUE_B
            - VALUE_C
      
    2. Exécutez la commande set-policy :

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Utilisez à nouveau la commande describe --effective pour afficher la règle mise à jour :

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Le résultat de la commande inclura le résultat effectif de la fusion de la règle à partir de la ressource et du parent :

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - values:
          deniedValues:
            - VALUE_A
            - VALUE_B
            - VALUE_C
    

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Restaurer le comportement par défaut de la contrainte

Vous pouvez réinitialiser la règle pour qu'elle utilise le comportement par défaut de la contrainte à l'aide de la commande reset. Pour obtenir la liste de toutes les contraintes disponibles et de leurs valeurs par défaut, consultez la page Contraintes liées aux règles d'administration. L'exemple suivant suppose que le comportement par défaut des contraintes consiste à autoriser toutes les valeurs.

  1. Obtenez la règle en vigueur sur le projet pour afficher la règle fusionnée actuelle :

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'identifiant unique de votre projet. Le résultat de la commande sera le suivant :

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. Réinitialisez la règle d'administration à l'aide de la commande reset.

    gcloud org-policies reset LIST_CONSTRAINT \
        --project=PROJECT_ID
    
  3. Obtenez la règle en vigueur pour valider le comportement par défaut :

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Le résultat de la commande autorise toutes les valeurs :

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - allowAll: true
    

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Supprimer une règle d'administration

Vous pouvez supprimer une règle d'administration d'une ressource. Une ressource sans ensemble de règles d'administration héritera de toutes les règles de sa ressource parente. Si vous supprimez la règle d'administration sur la ressource d'organisation, la règle en vigueur sera le comportement par défaut de la contrainte.

Les étapes suivantes décrivent comment supprimer une règle d'administration sur une organisation.

  1. Supprimez la règle sur la ressource Organisation à l'aide de la commande delete:

    gcloud org-policies delete \
      LIST_CONSTRAINT \
      --organization=ORGANIZATION_ID
    

    Remplacez ORGANIZATION_ID par l'identifiant unique de la ressource d'organisation. Le résultat de la commande sera le suivant:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Obtenez la règle en vigueur sur l'organisation pour valider qu'elle n'est pas appliquée :

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Le résultat de la commande sera le suivant :

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - allowAll: true
    

Les étapes suivantes décrivent comment supprimer une règle d'administration sur un projet :

  1. Supprimez la règle sur un projet à l'aide de la commande delete :

    gcloud org-policies delete \
      LIST_CONSTRAINT \
      --project=PROJECT_ID
    

    PROJECT_ID est l'identifiant unique de votre projet. Le résultat de la commande sera le suivant :

    Deleted policy
    [projects/PROJECT_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Obtenez la règle en vigueur sur le projet pour valider qu'elle n'est pas appliquée :

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Le résultat de la commande sera le suivant :

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
      - allowAll: true
    

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Utiliser des contraintes booléennes dans la règle d'administration

Configurer l'application sur la ressource Organisation

Vous pouvez définir une règle d'administration sur votre ressource Organisation pour appliquer une contrainte booléenne. Le processus suivant explique comment définir une règle d'administration à l'aide de la Google Cloud CLI. Pour obtenir des instructions sur l'affichage et la définition des règles d'administration d'administration à l'aide de la console Google Cloud, consultez la page Créer et gérer des règles.

  1. Obtenez la règle actuelle pour la ressource Organisation à l'aide de la commande describe :

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT \
      --organization=ORGANIZATION_ID
    

    Remplacez ORGANIZATION_ID par l'identifiant unique de la ressource d'organisation. Vous pouvez également appliquer la règle d'administration à un dossier ou à un projet avec les options --folder ou --project, ainsi que l'ID de dossier et l'ID de projet, respectivement.

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Définissez la règle sur le projet à l'aide de la commande set-policy.

    1. Créez un fichier temporaire /tmp/policy.yaml pour stocker la règle :

      name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
      spec:
        rules:
        - enforce: true
      
    2. Exécutez la commande set-policy :

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Affichez la règle actuellement en vigueur à l'aide de la commande describe --effective :

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Le résultat de la commande sera le suivant :

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
      - enforce: true
    

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Remplacer la règle d'administration pour un projet

Pour remplacer la règle d'administration d'un projet, définissez une règle qui désactive l'application de la contrainte booléenne à toutes les ressources de la hiérarchie située en dessous du projet.

  1. Obtenez la règle en vigueur sur la ressource pour montrer qu'elle est vide.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT \
      --project=PROJECT_ID
    

    PROJECT_ID est l'identifiant unique de votre projet.

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Obtenez la règle en vigueur sur le projet, qui confirme que la contrainte est appliquée à ce projet.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Le résultat de la commande sera le suivant :

    name: projects/PROJECT_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
      - enforce: true
    
  3. Définissez la règle sur le projet à l'aide de la commande set-policy.

    1. Créez un fichier temporaire /tmp/policy.yaml pour stocker la règle :

      name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
      spec:
        rules:
        - enforce: false
      
    2. Exécutez la commande set-policy :

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Obtenez la règle en vigueur pour montrer qu'elle n'est plus appliquée au projet.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Le résultat de la commande sera le suivant :

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
      - enforce: false
    

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Supprimer une règle d'administration

Vous pouvez supprimer une règle d'administration d'une ressource. Une ressource sans ensemble de règles d'administration héritera de toutes les règles de sa ressource parente. Si vous supprimez la règle d'administration sur la ressource d'organisation, la règle en vigueur sera le comportement par défaut des contraintes.

Les étapes suivantes décrivent comment supprimer une règle d'administration sur une organisation et un projet.

  1. Supprimez la règle de la ressource Organisation à l'aide de la commande delete :

    gcloud org-policies delete \
      BOOLEAN_CONSTRAINT \
      --organization=ORGANIZATION_ID
    

    Remplacez ORGANIZATION_ID par un identifiant unique de la ressource d'organisation. Le résultat de la commande sera le suivant:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  2. Obtenez la règle en vigueur sur l'organisation pour valider qu'elle n'est pas appliquée :

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. Supprimez la règle d'administration du projet à l'aide de la commande delete :

    gcloud org-policies delete \
      BOOLEAN_CONSTRAINT \
      --project=PROJECT_ID
    

    Le résultat de la commande sera le suivant :

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  4. Obtenez la règle en vigueur sur le projet pour valider qu'elle n'est pas appliquée :

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'identifiant unique de votre projet.

    Si aucune règle n'est définie, une erreur NOT_FOUND est renvoyée :

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.

Utiliser des contraintes gérées dans une règle d'administration

Les contraintes gérées sont des contraintes prédéfinies créées sur la plate-forme de règles d'administration personnalisées. Elles peuvent être utilisées de la même manière que les contraintes prédéfinies, mais peuvent utiliser Policy Simulator pour le service de règles d'administration et les règles d'administration de simulation pour déployer plus facilement les modifications de règles.

Afficher et identifier les contraintes gérées

Pour afficher les contraintes gérées disponibles pour votre organisation, procédez comme suit:

Console

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Dans le sélecteur de projet, sélectionnez le projet, le dossier ou l'organisation dont vous souhaitez afficher les règles d'administration#39;administration. La page Règles d'administration qui s'affiche affiche la liste des contraintes de règles d'administration disponibles pour cette ressource.

  3. Vous pouvez filtrer ou trier la liste des règles d'administration par type de contrainte pour trouver les contraintes gérées. Dans la liste, sélectionnez la contrainte gérée pour laquelle vous souhaitez afficher les détails. Sur la page Détails de la règle qui s'affiche, vous pouvez voir la source de cette règle d'administration, l'évaluation effective de la règle sur cette ressource et plus d'informations sur la contrainte.

gcloud

Pour lister les contraintes gérées et personnalisées appliquées dans les règles d'administration'administration d'une organisation, utilisez la commande org-policies list-custom-constraints.

gcloud org-policies list-custom-constraints \
  --organization=ORGANIZATION_ID

Remplacez ORGANIZATION_ID par l'ID de votre organisation.

Pour obtenir des informations sur une contrainte gérée spécifique pour une ressource, utilisez la commande org-policies describe-custom-constraint.

gcloud org-policies describe-custom-constraint CONSTRAINT_NAME \
    --organization=ORGANIZATION_ID

Remplacez les éléments suivants :

  • CONSTRAINT_NAME: nom de la contrainte gérée pour laquelle vous souhaitez obtenir des informations. Exemple : iam.managed.disableServiceAccountKeyUpload.

  • ORGANIZATION_ID : ID de votre organisation.

REST

Pour lister les contraintes gérées et personnalisées définies dans les règles d'administration'administration d'une organisation, utilisez la méthode organizations.customConstraints.list.

  GET https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/customConstraints

Remplacez ORGANIZATION_ID par l'ID de votre organisation.

Créer et mettre à jour des contraintes gérées

Les règles d'administration sont définies par les valeurs indiquées pour chaque contrainte gérée. Elles peuvent être configurées pour une ressource, héritées d'une ressource parente ou définies sur le comportement par défaut géré par Google.

Pour créer ou mettre à jour une règle basée sur une contrainte gérée, procédez comme suit:

Console

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

Accéder à la page Règles d'administration

  1. Dans le sélecteur de projets, sélectionnez le projet, le dossier ou l'organisation dont vous souhaitez modifier la règle d'administration. La page Règles d'administration qui s'affiche affiche une liste filtrable des contraintes de règles d'administration disponibles pour cette ressource.

  2. Dans la liste, sélectionnez la contrainte gérée pour laquelle vous souhaitez mettre à jour la règle d'administration. Sur la page Détails de la règle, vous pouvez voir la source de cette règle d'administration, l'évaluation effective de la règle sur cette ressource et plus d'informations sur la contrainte gérée.

  3. Pour mettre à jour la règle d'administration pour cette ressource, cliquez sur Gérer la règle.

  4. Sur la page Modifier la règle, sélectionnez Remplacer la règle parente.

  5. Sélectionnez Ajouter une règle.

  6. Sous Application, indiquez si l'application de cette règle d'administration doit être activée ou désactivée.

  7. Pour rendre la règle d'administration conditionnelle sur un tag, cliquez sur Ajouter une condition. Si vous ajoutez une règle conditionnelle à une règle d'administration, vous devez ajouter au moins une règle inconditionnelle, sinon la règle ne pourra pas être enregistrée. Pour en savoir plus, consultez Définir une règle d'administration avec des tags.

  8. Vous pouvez également prévisualiser l'impact de votre modification de règle d'administration avant son application en cliquant sur Tester les modifications. Pour en savoir plus sur le test des modifications apportées aux règles d'administration, consultez la section Tester les modifications apportées aux règles d'administration à l'aide de Policy Simulator.

  9. Pour appliquer la règle d'administration de l'organisation en mode simulation, cliquez sur Définir la règle de simulation. Pour en savoir plus, consultez la section Créer une règle d'administration en mode simulation.

  10. Une fois que vous avez vérifié que la règle d'administration de l'organisation en mode simulation fonctionne comme prévu, définissez la règle en cliquant sur Définir la règle.

gcloud

  1. Créez un fichier YAML pour définir la règle d'administration:

    name: RESOURCE_TYPE/RESOURCE_ID/policies/iam.managed.disableServiceAccountKeyCreation
    spec:
      rules:
      - enforce: ENFORCEMENT_STATE
    
    dryRunSpec:
      rules:
      - enforce: ENFORCEMENT_STATE
    

    Remplacez les éléments suivants :

    • RESOURCE_TYPE avec organizations, folders ou projects.

    • RESOURCE_ID avec l'ID de l'organisation, l'ID du dossier, l'ID du projet ou le numéro du projet, en fonction du type de ressource spécifié dans RESOURCE_TYPE.

    • ENFORCEMENT_STATE avec true pour appliquer cette règle d'administration lorsqu'elle est définie, ou false pour la désactiver lorsqu'elle est définie.

    Pour rendre la règle d'administration conditionnelle sur un tag, vous pouvez ajouter un bloc condition à rules. Si vous ajoutez une règle conditionnelle à une règle d'administration, vous devez ajouter au moins une règle inconditionnelle, sinon la règle ne pourra pas être enregistrée. Pour en savoir plus, consultez Définir une règle d'administration avec des tags.

  2. Exécutez la commande org-policies set-policy avec l'option dryRunSpec pour définir la stratégie d'administration en mode simulation:

     gcloud org-policies set-policy POLICY_PATH \
       --update-mask=dryRunSpec
    

    Remplacez POLICY_PATH par le chemin d'accès complet au fichier YAML de votre règle d'administration.

    Pour en savoir plus sur les règles d'administration en mode simulation, consultez la section Créer une règle d'administration en mode simulation.

  3. Utilisez la commande policy-intelligence simulate orgpolicy pour prévisualiser l'impact de la modification de la règle de votre organisation avant son application:

    gcloud policy-intelligence simulate orgpolicy \
      --organization=ORGANIZATION_ID \
      --policies=POLICY_PATH
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID par l'ID de votre organisation, par exemple 1234567890123. La simulation de modifications sur plusieurs organisations n'est pas possible.

    • POLICY_PATH par le chemin d'accès complet au fichier YAML de votre règle d'administration.

    Pour en savoir plus sur le test des modifications apportées aux règles d'administration, consultez la section Tester les modifications apportées aux règles d'administration à l'aide de Policy Simulator.

  4. Après avoir vérifié que la stratégie de l'organisation en mode simulation fonctionne comme prévu, définissez la stratégie en direct avec la commande org-policies set-policy et l'indicateur spec:

    gcloud org-policies set-policy POLICY_PATH \
      --update-mask=spec
    

    Remplacez POLICY_PATH par le chemin d'accès complet au fichier YAML de votre règle d'administration.

REST

Pour définir la règle d'administration, utilisez la méthode organizations.policies.create.

POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies

Corps JSON de la requête :

{
  "name": "RESOURCE_TYPE/RESOURCE_ID/policies/iam.managed.disableServiceAccountKeyCreation",
  "spec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"]
      }
    ]
  }
  "dryRunSpec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"]
      }
    ]
  }
}

Remplacez les éléments suivants :

  • RESOURCE_TYPE avec organizations, folders ou projects.

  • RESOURCE_ID avec l'ID de l'organisation, l'ID du dossier, l'ID du projet ou le numéro du projet, en fonction du type de ressource spécifié dans RESOURCE_TYPE.

  • ENFORCEMENT_STATE avec true pour appliquer cette règle d'administration lorsqu'elle est définie, ou false pour la désactiver lorsqu'elle est définie.

Pour rendre la règle d'administration conditionnelle sur un tag, vous pouvez ajouter un bloc condition à rules. Si vous ajoutez une règle conditionnelle à une règle d'administration, vous devez ajouter au moins une règle inconditionnelle, sinon la règle ne pourra pas être enregistrée. Pour en savoir plus, consultez Définir une règle d'administration avec des tags.

Pour en savoir plus sur les règles d'administration en mode simulation, consultez la section Créer une règle d'administration en mode simulation.

L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.