Gérer une stratégie de sécurité

Cette page explique comment configurer et utiliser le service de stratégie de sécurité après avoir activé Security Command Center. Pour commencer, vous devez créer une stratégie qui inclut vos règles, organisées en ensembles de règles, puis déployer la stratégie à l'aide d'un déploiement de stratégie. Une fois qu'une stratégie est déployée, vous pouvez surveiller les écarts et l'affiner au fil du temps.

Vous ne pouvez pas utiliser la gestion de la stratégie de sécurité avec les activations au niveau du projet. Pour en savoir plus, consultez Fonctionnalités disponibles avec les activations au niveau du projet.

Avant de commencer

Effectuez ces tâches avant de passer aux autres tâches de cette page.

Activer Security Command Center

Vérifiez que vous avez activé Security Command Center au niveau de l'organisation.

Si vous souhaitez utiliser les détecteurs Security Health Analytics en tant que règles, sélectionnez le service Security Health Analytics lors du processus d'activation.

Configurer les autorisations

Autorisations de gérer les postures

Pour obtenir les autorisations nécessaires pour utiliser la stratégie, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de stratégie de sécurité (roles/securityposture.admin). Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

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

Pour en savoir plus sur les rôles et les autorisations de stratégie de sécurité, consultez IAM pour les activations au niveau de l'organisation.

Autorisations pour gérer les détecteurs Security Health Analytics

Pour activer ou désactiver un service, vous devez disposer de l'autorisation IAM suivante. Vous pouvez accorder cette autorisation au niveau de l'organisation, du dossier ou du projet.

securitycentermanagement.securityCenterServices.update

Demandez à votre administrateur de vous attribuer l'un des rôles suivants incluant cette autorisation ou d'ajouter l'autorisation au rôle personnalisé (si votre organisation utilise des rôles personnalisés).

Configurer la Google Cloud CLI

Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

gcloud init

Pour configurer la gcloud CLI afin qu'elle utilise l'emprunt d'identité d'un compte de service pour s'authentifier auprès des Google APIs plutôt que d'utiliser vos identifiants utilisateur, exécutez la commande suivante :

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Pour en savoir plus, consultez la section Emprunt d'identité d'un compte de service.

Activer les API

Activez les API du service de règles d'administration et du service de stratégie de sécurité :

gcloud services enable orgpolicy.googleapis.com  securityposture.googleapis.com

Configurer la connexion à AWS

Pour utiliser les détecteurs Security Health Analytics intégrés spécifiques à AWS, vous devez vous connecter à AWS pour collecter des données de configuration et de ressources.

Créer et déployer une stratégie

Pour commencer à utiliser une stratégie de sécurité, vous devez effectuer les opérations suivantes :

  • Créez un fichier YAML de stratégie qui définit les règles qui s'appliquent à votre stratégie de sécurité.
  • Créez une stratégie dans Google Cloud basée sur le fichier YAML de la stratégie.
  • Déployez la stratégie.

Les sections suivantes fournissent des instructions détaillées.

Créer un fichier YAML de stratégie

Une stratégie se compose d'un ou de plusieurs ensembles de règles que vous déployez ensemble. Ces ensembles de règles incluent toutes les règles de prévention et de détection que vous souhaitez inclure dans votre stratégie.

Pour créer votre stratégie, effectuez l'une des opérations suivantes :

Pour en savoir plus sur les champs que vous pouvez utiliser dans une stratégie, consultez les pages de référence Posture et PolicySet.

Créer un fichier de stratégie à partir d'un modèle de stratégie prédéfini

Vous pouvez utiliser un modèle de stratégie prédéfini pour créer un fichier de stratégie.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Modèles, cliquez sur le modèle que vous souhaitez utiliser.

  4. Sur la page Détails du modèle, cliquez sur Créer une stratégie.

  5. Attribuez un nom unique à la stratégie, puis cliquez sur Créer. La page Détails de la stratégie s'ouvre.

  6. Effectuez l'une des actions suivantes :

gcloud

  1. Examinez les modèles de stratégie prédéfinis pour déterminer ceux qui s'appliquent à votre environnement. Vous pouvez appliquer certaines d'entre elles sans apporter de modifications, mais d'autres nécessitent de personnaliser les règles pour les adapter à votre environnement.
  2. Utilisez l'une des méthodes suivantes pour copier les fichiers YAML dans votre propre éditeur de texte :

    • Copiez le fichier YAML à partir du contenu de référence dans les modèles de stratégie prédéfinis.
    • Exécutez la commande gcloud scc posture-templates describe pour copier le fichier YAML.
    gcloud scc posture-templates describe \
        organizations/ORGANIZATION_ID/locations/global/postureTemplates/POSTURE_TEMPLATE \
        --revision-id=REVISION_ID
    

    Remplacez les valeurs suivantes :

    • ORGANIZATION_ID est l'organisation dans laquelle vous avez activé Security Command Center.
    • POSTURE_TEMPLATE est le nom du modèle de stratégie prédéfini, comme décrit dans Modèles de stratégie prédéfinis.
    • REVISION_ID est la version de révision du modèle de stratégie prédéfini. Si vous n'incluez pas l'ID de révision, la dernière version du modèle de stratégie prédéfini s'affiche.

    Par exemple, pour afficher le modèle de stratégie prédéfini pour les éléments essentiels de l'IA sécurisée sous l'organisation 3589215982, exécutez la commande suivante :

    gcloud scc posture-templates describe \
        organizations/3589215982/locations/global/postureTemplates/secure_ai_essential \
        --revision-id=v.1.0
    
  3. Effectuez l'une des actions suivantes :

    • Si vous pouvez utiliser la stratégie sans apporter de modifications (par exemple, si vous avez utilisé l'un des modèles _essentials), vous pouvez créer la stratégie. Pour obtenir des instructions, consultez Créer une stratégie.
    • Si vous devez modifier l'un des ensembles de règles ou l'une des règles, suivez la procédure Modifier un fichier YAML de stratégie.

Créer un fichier de stratégie en extrayant des règles d'un environnement existant

Vous pouvez extraire les règles (règles d'administration, y compris les règles personnalisées et tous les détecteurs Security Health Analytics, y compris les détecteurs personnalisés) que vous avez configurées dans un projet, un dossier ou une organisation existants pour créer un fichier de stratégie. Vous ne pouvez pas extraire les règles d'une organisation, d'un dossier ou d'un projet auquel une stratégie est déjà appliquée.

Cette commande n'extrait que les règles que vous avez précédemment configurées pour l'organisation, le dossier ou le projet. Elle n'extrait pas les règles des dossiers ou de l'organisation parents.

Si vous vous êtes connecté à AWS, cette commande extrait également les détecteurs spécifiques à AWS (aperçu).

  1. Exécutez la commande gcloud scc postures extract pour extraire les règles d'administration et les détecteurs Security Health Analytics existants dans votre environnement.

    gcloud scc postures extract POSTURE_NAME \
        --workload=WORKLOAD
    

    Remplacez les valeurs suivantes :

    • POSTURE_NAME est le nom de ressource relatif de la stratégie. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

      • POSTURE_ID est un nom alphanumérique pour votre stratégie, qui est unique pour votre organisation. POSTURE_ID est limité à 63 caractères.
    • WORKLOAD est le projet, le dossier ou l'organisation dont vous extrayez les règles. La charge de travail est l'une des suivantes :

    • projects/PROJECT_NUMBER

    • folder/FOLDER_ID

    • organizations/ORGANIZATION_ID

    Par exemple, pour extraire des règles du dossier 3589215982 de l'organisation 6589215984, exécutez la commande suivante :

    gcloud scc postures extract \
      organizations/6589215984/locations/global/postures/myStagingPosture \
      workload=folder/3589215982 > posture.yaml
    
  2. Ouvrez le fichier posture.yaml obtenu pour le modifier.

  3. Effectuez l'une des actions suivantes :

    • Si vous pouvez utiliser la stratégie sans apporter de modifications (par exemple, si vous avez utilisé l'un des modèles _essentials), vous pouvez créer la stratégie. Pour obtenir des instructions, consultez Créer une stratégie.
    • Si vous devez modifier l'un des ensembles de règles ou l'une des règles, suivez la procédure Modifier un fichier YAML de stratégie.

Créer une ressource Terraform avec des définitions de règles

Vous pouvez créer une configuration Terraform pour créer une ressource de stratégie.

Par exemple, vous pouvez créer une ressource de stratégie qui inclut des contraintes de règles d'administration intégrées et personnalisées, ainsi que des détecteurs Security Health Analytics intégrés et personnalisés. La gestion de la stratégie pour les détecteurs Security Health Analytics intégrés spécifiques à AWS est en preview.

resource "google_securityposture_posture" "posture1"{
  posture_id  = "posture_example"
  parent      = "organizations/123456789"
  location    = "global"
  state       = "ACTIVE"
  description = "a new posture"
  policy_sets {
    policy_set_id = "list_constraint_policy_set"
    description   = "set of org policies with a list constraint"
    policies {
      policy_id = "resource_locations_policy"
      constraint {
        org_policy_constraint {
          canned_constraint_id = "gcp.resourceLocations"
          policy_rules {
            values {
              allowed_values = ["in:us-locations"]
            }
          }
        }
      }
    }
  }
  policy_sets {
    policy_set_id = "org_policy_set"
    description   = "set of org policies"
    policies {
      policy_id = "canned_org_policy"
      constraint {
        org_policy_constraint {
          canned_constraint_id = "storage.uniformBucketLevelAccess"
          policy_rules {
            enforce = true
            condition {
            	description = "condition description"
            	expression  = "resource.matchTag('org_id/tag_key_short_name,'tag_value_short_name')"
            	title       = "a CEL condition"
            }
          }
        }
      }
    }
    policies {
      policy_id = "custom_org_policy"
      constraint {
        org_policy_constraint_custom {
          custom_constraint {
            name           = "organizations/123456789/customConstraints/custom.disableGkeAutoUpgrade"
            display_name   = "Disable GKE auto upgrade"
            description    = "Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced."
            action_type    = "ALLOW"
            condition      = "resource.management.autoUpgrade == false"
            method_types   = ["CREATE", "UPDATE"]
            resource_types = ["container.googleapis.com/NodePool"]
          }
          policy_rules {
            enforce = true
            condition {
            	description = "condition description"
            	expression = "resource.matchTagId('tagKeys/key_id','tagValues/value_id')"
            	title = "a CEL condition"
            }
          }
        }
      }
    }
  }
  policy_sets {
    policy_set_id = "sha_policy_set"
    description   = "set of sha policies"
    policies {
      policy_id = "sha_builtin_module"
      constraint {
        security_health_analytics_module {
          module_name             = "BIGQUERY_TABLE_CMEK_DISABLED"
          module_enablement_state = "ENABLED"
        }
      }
      description = "enable BIGQUERY_TABLE_CMEK_DISABLED"
    }
    policies {
      policy_id = "sha_custom_module"
      constraint {
        security_health_analytics_custom_module {
          display_name = "custom_SHA_policy"
          config {
            predicate {
              expression = "resource.rotationPeriod > duration('2592000s')"
            }
            custom_output {
              properties {
                name = "duration"
                value_expression {
                  expression = "resource.rotationPeriod"
                }
              }
            }
            resource_selector {
              resource_types = ["cloudkms.googleapis.com/CryptoKey"]
            }
            severity       = "LOW"
            description    = "Custom Module"
            recommendation = "Testing custom modules"
          }
          module_enablement_state = "ENABLED"
        }
      }
    }
  }

}

Pour en savoir plus, consultez google_securityposture_posture.

Modifier un fichier YAML de stratégie

Pour modifier un fichier YAML de stratégie, procédez comme suit :

  1. Ouvrez votre fichier YAML de stratégie dans un éditeur de texte.
  2. Vérifiez les valeurs name, description et state au début du fichier.

    name: organizations/ORGANIZATION_ID/locations/global/posture/POSTURE_ID
    description: DESCRIPTION
    state: STATE
    

    Pour en savoir plus sur ces champs, consultez la documentation de référence sur Posture.

    Exemple :

    name: organizations/3589215982/locations/global/posture/stagingAIPosture
    description: This posture applies to staging environments for Vertex AI.
    state: ACTIVE
    
  3. Personnalisez les règles du fichier pour répondre à vos besoins.

    Pour en savoir plus sur les champs que vous pouvez utiliser, consultez la documentation de référence sur PolicySet.

    1. Examinez les règles existantes et leurs valeurs. Pour les règles qui nécessitent des informations spécifiques à votre environnement, définissez les valeurs de manière appropriée. Par exemple, pour la règle ainotebooks.accessMode dans la stratégie prédéfinie pour une IA sécurisée, étendue, ajoutez les modes d'accès autorisés sous policyRules :

      - policyId: Define access mode for Vertex AI Workbench notebooks and instances
        complianceStandards:
        - standard: NIST SP 800-53
          control: AC-3(3)
        - standard: NIST SP 800-53
          control: AC-6(1)
        constraint:
          orgPolicyConstraint:
            cannedConstraintId: ainotebooks.accessMode
            policyRules:
            - values:
                allowedValues: service-account
        description: This list constraint defines the modes of access allowed to Vertex AI Workbench notebooks and instances where enforced. The allow or deny list can specify multiple users with the service-account mode or single-user access with the single-user mode. The access mode to be allowed or denied must be listed explicitly.
      
    2. Ajoutez des contraintes de règles d'administration supplémentaires, comme indiqué dans Contraintes de règles d'administration. Si vous définissez une règle d'administration personnalisée, assurez-vous que le fichier YAML inclut la définition de la contrainte personnalisée. Vous ne pouvez pas utiliser une contrainte personnalisée que vous avez créée à l'aide d'autres méthodes (par exemple, à l'aide de la consoleGoogle Cloud ).

      Par exemple, vous pouvez définir la contrainte compute.trustedImageProjects pour définir les projets pouvant être utilisés pour le stockage d'images et l'instanciation de disques. Si vous copiez cet exemple, veillez à remplacer allowedValues par une liste de projets appropriée :

      - policyId: Define projects with trusted images.
        complianceStandards:
        - standard:
          control:
        constraint:
          orgPolicyConstraint:
            cannedConstraintId: compute.trustedImageProjects
            policyRules:
            - values:
                allowedValues:
                - project1
                - project2
                - projectN
        description: This is a complete list of projects from which images can be used.
      
    3. Ajoutez des détecteurs Security Health Analytics supplémentaires, tels que ceux décrits dans Résultats de Security Health Analytics. Par exemple, ajoutez un détecteur Security Health Analytics pour créer un résultat si un projet n'utilise pas de clé API pour l'authentification :

      - policyId: API Key Exists
        constraint:
          securityHealthAnalyticsModule:
            moduleEnablementState: ENABLED
            moduleName: API_KEY_EXISTS
      

      Autre exemple : ajoutez un module personnalisé Security Health Analytics pour détecter si les ensembles de données Gemini Enterprise Agent Platform sont chiffrés :

      - policyId: CMEK key is used for Vertex AI DataSet
        complianceStandards:
        - standard: NIST SP 800-53
          control: SC-12
        - standard: NIST SP 800-53
          control: SC-13
        constraint:
          securityHealthAnalyticsCustomModule:
            displayName: "vertexAIDatasetCMEKDisabled"
            config:
              customOutput: {}
              predicate:
                expression: "!has(resource.encryptionSpec)"
              resourceSelector:
                resourceTypes:
                - aiplatform.googleapis.com/Dataset
              severity: CRITICAL
              description: "When enforced, this detector finds whether a dataset is not encrypted using CMEK."
              recommendation: "Restore the SHA module. See https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview."
            moduleEnablementState: ENABLED
      

      Autre exemple : pour le niveau de service Enterprise (obsolète), ajoutez un détecteur Security Health Analytics spécifique à AWS (preview) :

      - policySetId: AWS policy set
        description:  Policy set containing AWS built-in SHA modules for securing S3 buckets.
        policies:
        - policyId: S3 bucket replication enabled
          complianceStandards:
          - standard: NIST 800-53 R5
            control: SI-13(5)
          constraint:
            securityHealthAnalyticsModule:
              moduleEnablementState: ENABLED
              moduleName: S3_BUCKET_REPLICATION_ENABLED
          description: This control checks whether an Amazon S3 bucket has Cross-Region Replication enabled. The control fails if the bucket does not have Cross-Region Replication enabled or if Same-Region Replication is also enabled.
      
        - policyId: S3 bucket logging enabled
          complianceStandards:
          - standard: NIST 800-53 R5
            control: SI-7(8)
          - standard: PCI DSS 3.2.1
            control: 10.3.1
          constraint:
            securityHealthAnalyticsModule:
              moduleEnablementState: ENABLED
              moduleName: S3_BUCKET_LOGGING_ENABLED
          description: The AWS S3 Server Access Logging feature records access requests to storage buckets which is useful for security audits. By default, server access logging is not enabled for S3 buckets.
      

      Si vous ajoutez un détecteur spécifique à AWS, vous devez déployer la stratégie au niveau de l'organisation.

  4. Importez votre fichier de stratégie dans un dépôt source avec contrôle des versions afin de pouvoir suivre les modifications que vous y apportez au fil du temps.

Créer une stratégie

Effectuez cette tâche pour créer une ressource de stratégie dans Security Command Center que vous pouvez déployer. Si vous avez créé une stratégie à partir d'un modèle de stratégie prédéfini à l'aide de la console Google Cloud , la ressource de stratégie est créée automatiquement.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Cliquez sur Créer une stratégie. Vous pouvez créer une stratégie en commençant par une stratégie ou un modèle existants, ou en utilisant les règles appliquées à une ressource.

    Créer une stratégie à l'aide d'une stratégie ou d'un modèle existants

    1. Sélectionnez Commencer avec une stratégie existante ou un modèle (parcourir les stratégies).
    2. Spécifiez les détails de la stratégie, comme son nom et sa description.
    3. Cliquez sur Sélectionner une stratégie. Vous pouvez créer une stratégie basée sur une stratégie existante ou sur un modèle.
      • Sélectionnez Stratégie pour créer une stratégie à l'aide d'une stratégie existante. Sélectionnez une stratégie dans la liste des stratégies affichées, puis sélectionnez une ou plusieurs révisions dans la liste des révisions disponibles pour la stratégie sélectionnée.
      • Sélectionnez Modèle pour créer une stratégie à l'aide d'un modèle, puis sélectionnez un ou plusieurs modèles dans la liste des modèles affichés.
    4. Cliquez sur Enregistrer. Dans la section Ensembles de règles, vous pouvez afficher la liste des ensembles de règles associés à la stratégie sélectionnée.
    5. Sélectionnez les règles dans la liste des ensembles de règles. Vous pouvez également modifier la règle et la déplacer vers un autre ensemble de règles sur cette page. Vous ne pouvez pas créer une stratégie avec deux règles portant le même nom dans le même ensemble de règles.
    6. Cliquez sur Créer.

    Créer une stratégie à l'aide des règles appliquées à une ressource

    1. Sélectionnez Commencer avec une stratégie appliquée à une ressource (parcourir les ressources).
    2. Spécifiez les détails de la stratégie, tels que son nom et sa description.
    3. Cliquez sur Sélectionner des ressources.
    4. Sélectionnez une ressource dans la liste des ressources affichées, puis cliquez sur Créer.

    Vous êtes redirigé vers la page Détails de la stratégie, qui affiche des informations sur la stratégie que vous avez créée. Vous pouvez voir les ensembles de règles associés à cette stratégie.

gcloud

  1. Exécutez la commande gcloud scc postures create pour créer une stratégie à l'aide du fichier posture.yaml.

    gcloud scc postures create POSTURE_NAME \
        --posture-from-file=POSTURE_FROM_FILE
    

    Remplacez les valeurs suivantes :

    • POSTURE_NAME est le nom de ressource relatif de la stratégie. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

      • POSTURE_ID est un nom alphanumérique pour votre stratégie, qui est unique pour votre organisation. POSTURE_ID est limité à 63 caractères.

    Par exemple, pour créer une stratégie avec l'ID posture-example-1 sous l'organisation organizations/3589215982, exécutez la commande suivante :

    gcloud scc postures create \
        organizations/3589215982/locations/global/postures/posture-example-1 \
        --posture-from-file=posture.yaml
    

    Si le processus de création de la stratégie échoue, supprimez la stratégie, corrigez l'erreur, puis réessayez.

  2. Pour vérifier que la stratégie a bien été créée, consultez Afficher une stratégie.

Pour appliquer cette stratégie à votre environnement, vous devez déployer la stratégie.

Terraform

Si vous avez créé une configuration Terraform pour la ressource de stratégie, vous devez la provisionner à l'aide de votre pipeline d'infrastructure as code.

Pour en savoir plus, consultez Terraform sur Google Cloud.

Déployer une stratégie

Après avoir créé une stratégie, vous la déployez sur un projet, un dossier ou une organisation afin de pouvoir appliquer les règles et leurs définitions à des ressources spécifiques de votre organisation et de surveiller les écarts. Vous ne pouvez déployer qu'une seule stratégie sur un projet, un dossier ou une organisation.

Vérifiez que l'état de votre stratégie est ACTIVE.

Lorsque vous déployez la stratégie, les actions suivantes se produisent :

  • Les définitions des règles d'administration et des détecteurs Security Health Analytics sont appliquées.
  • Une nouvelle contrainte personnalisée est créée pour chaque règle d'administration personnalisée définie dans la stratégie. Cela est vrai même si vous avez créé la stratégie à partir d'un modèle ou de règles extraites, et que vous n'avez pas modifié ces règles. L'ID de contrainte inclut l'ID de révision de stratégie en tant que suffixe. Si tous les déploiements de la stratégie sont supprimés, le suffixe est remplacé par un UUID aléatoire.
  • Une contrainte personnalisée est créée pour chaque détecteur Security Health Analytics personnalisé défini dans la stratégie. Cela est vrai même si vous avez créé la stratégie à partir d'un modèle ou de règles extraites, et que vous n'avez pas modifié ces règles.
  • L'état par défaut des modules personnalisés est défini sur Activé.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous souhaitez déployer.

  4. Sur la page Détails de la stratégie, sélectionnez la révision de la stratégie. La révision de stratégie que vous sélectionnez doit être à l'état actif.

  5. Cliquez sur Appliquer aux ressources.

  6. Cliquez sur Sélectionner pour sélectionner l'organisation, le dossier ou le projet sur lequel vous souhaitez déployer la stratégie.

  7. Cliquez sur Appliquer la stratégie.

gcloud

Exécutez la commande gcloud scc posture-deployments create pour déployer une stratégie sur un projet, un dossier ou une organisation.

gcloud scc posture-deployments create POSTURE_DEPLOYMENT_NAME \
    --posture-name=POSTURE_NAME \
    --posture-revision-id=POSTURE_REVISION_ID \
    --target-resource=TARGET_RESOURCE

Remplacez les valeurs suivantes :

  • POSTURE_DEPLOYMENT_NAME est le nom de ressource relatif du déploiement de la stratégie. Le format est le suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

  • LOCATION est global.

  • POSTURE_ID est un nom alphanumérique pour votre stratégie, qui est unique pour votre organisation.

  • --posture-name=POSTURE_NAME est le nom de la stratégie que vous déployez. Le format est le suivant : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

Si votre stratégie inclut un détecteur spécifique à AWS, vous devez la déployer au niveau de l'organisation (bêta).

Par exemple, pour déployer une stratégie, exécutez la commande suivante :

gcloud scc posture-deployments create \
  organizations/3589215982/locations/global/postureDeployments/postureDeployment123 \
  --posture-name=organizations/3589215982/locations/global/postures/StagingAIPosture \
  --posture-revision-id=version1 \
  --target-resource=projects/4589215982

Vous pouvez afficher les informations d'état une fois la commande terminée. Si le processus de création du déploiement de la stratégie échoue, supprimez le déploiement, corrigez l'erreur, puis réessayez.

Terraform

Vous pouvez créer une ressource Terraform pour déployer une stratégie.

resource "google_securityposture_posture_deployment" "posture_deployment_example" {
  posture_deployment_id          = "<POSTURE_DEPLOYMENT_ID>"
  parent = "organizations/<ORGANIZATION_ID>"
  location = "global"
  description = "a new posture deployment"
  target_resource = "<TARGET_RESOURCE>"
  posture_id = "<POSTURE_NAME>"
  posture_revision_id = "<POSTURE_REVISION_ID>"
}

Pour en savoir plus, consultez google_securityposture_posture_deployment.

Afficher les informations sur la stratégie et le déploiement de la stratégie

Vous pouvez afficher des informations sur la stratégie et son déploiement, par exemple :

  • Quelles postures sont déployées et où elles sont appliquées dans la hiérarchie des ressources (organisations, projets et dossiers)
  • Les révisions et l'état des postures
  • Détails opérationnels d'un déploiement de stratégie

Afficher une stratégie

Vous pouvez afficher des informations sur une stratégie (telles que son état et ses définitions de règles).

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous souhaitez afficher. Les détails de la stratégie s'affichent.

gcloud

Exécutez la commande gcloud scc postures describe pour afficher une stratégie que vous avez créée.

gcloud scc postures describe POSTURE_NAME \
    --revision-id=REVISION_ID

Remplacez les valeurs suivantes :

  • POSTURE_NAME est le nom de ressource relatif de la stratégie. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

  • POSTURE_ID est un nom alphanumérique pour votre stratégie, qui est unique pour votre organisation.

  • revision-id=REVISION_ID est un flag facultatif qui spécifie la version de la stratégie à afficher. Si vous n'incluez pas l'option, la dernière version est renvoyée.

Par exemple, pour afficher une stratégie nommée organizations/3589215982/locations/global/postures/posture-example-1 et dont l'ID de révision est abcdefgh, exécutez la commande suivante :

gcloud scc postures describe \
    organizations/3589215982/locations/global/postures/posture-example-1 \
    --revision-id=abcdefgh

Afficher des informations sur une opération de déploiement de stratégie

Exécutez la commande gcloud scc posture-operations describe pour afficher les détails d'une opération de déploiement de stratégie.

gcloud scc posture-operations describe OPERATION_NAME

Où OPERATION_NAME est le nom de ressource relatif de l'opération. Le format est le suivant : organizations/ORGANIZATION_ID/locations/global/operations/OPERATION_ID. Vous pouvez obtenir le OPERATION_ID à l'aide de l'argument --async lorsque vous exécutez la commande de stratégie.

Par exemple, pour afficher une opération d'analyse nommée organizations/3589215982/locations/global/operations/operation-1694515698847-605272e4bcd7c-f93dade6-067467ae, exécutez la commande suivante :

gcloud scc posture-operations describe \
    organizations/3589215982/locations/global/operations/operation-1694515698847-605272e4bcd7c-f93dade6-067467ae

Afficher des informations sur un déploiement de stratégie

Vous pouvez voir où une stratégie est déployée, ainsi que l'état du déploiement.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous avez déployée.

  4. Accédez à l'onglet Ressources pour afficher les projets, les dossiers et l'organisation sur lesquels la stratégie est déployée, ainsi que l'état du déploiement.

gcloud

Exécutez la commande gcloud scc posture-deployments describe pour afficher des informations sur une stratégie déployée.

gcloud scc posture-deployments describe POSTURE_DEPLOYMENT_NAME

Où POSTURE_DEPLOYMENT_NAME est le nom de ressource relatif du déploiement de stratégie. Le format est le suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

  • LOCATION est global.
  • POSTURE_DEPLOYMENT_ID est un nom unique pour le déploiement de la stratégie.

Par exemple, pour afficher les détails d'un déploiement de stratégie nommé organizations/3589215982/locations/global/postureDeployments/Posture-deployment-example-1, exécutez la commande suivante :

gcloud scc posture-deployments describe \
    organizations/3589215982/locations/global/postureDeployments/Posture-deployment-example-1

Mettre à jour une stratégie et un déploiement de stratégie

Vous pouvez modifier les éléments suivants :

  • État de la stratégie.
  • Définitions des règles dans une stratégie.
  • Organisation, dossiers ou projets sur lesquels une stratégie est déployée.

Mettre à jour les définitions de règles dans une stratégie

Vous devrez peut-être mettre à jour une stratégie lorsque vous activez d'autres services Google Cloud , déployez des ressources supplémentaires ou avez besoin de règles supplémentaires pour répondre à des exigences de conformité nouvelles ou changeantes. Si vous mettez à jour une révision de stratégie déployée, cette tâche crée une révision de stratégie. Sinon, la révision de la stratégie que vous spécifiez lorsque vous exécutez la commande de mise à jour est mise à jour.

  1. Ouvrez un fichier YAML dans un éditeur de texte. Ajoutez les champs que vous souhaitez mettre à jour, ainsi que leurs valeurs. Si vous mettez à jour des ensembles de règles, assurez-vous que votre fichier inclut tous les ensembles de règles que vous souhaitez inclure dans la stratégie, y compris ceux qui existent déjà. Pour obtenir des instructions, consultez Modifier un fichier YAML de stratégie.
  2. Exécutez la commande gcloud scc postures update pour mettre à jour la stratégie.

    gcloud scc postures update POSTURE_NAME \
        --posture-from-file=POSTURE_FROM_FILE \
        --revision-id=POSTURE_REVISION_ID \
        --update-mask=UPDATE_MASK
    

    Remplacez les valeurs suivantes :

    • POSTURE_NAME est le nom de ressource relatif de la stratégie. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

      • POSTURE_ID est un nom alphanumérique pour votre stratégie, qui est unique pour votre organisation.
    • POSTURE_FROM_FILE est le chemin d'accès relatif ou absolu au fichier posture.yaml qui inclut vos modifications.

      • POSTURE_ID est un nom alphanumérique pour votre stratégie, qui est unique pour votre organisation.
    • POSTURE_FROM_FILE est le chemin d'accès relatif ou absolu au fichier posture.yaml qui inclut vos modifications.

    • --revision-id=REVISION_ID est la révision de la stratégie que vous souhaitez déployer. Si la stratégie est déjà déployée, le service de stratégie de sécurité crée automatiquement une version de la stratégie avec un ID de révision différent et inclut l'ID de révision dans le résultat.

    • --update-mask=UPDATE_MASK est la liste des champs que vous souhaitez mettre à jour, au format séparé par une virgule. Cet argument est facultatif. Vous pouvez définir UPDATE_MASK sur l'une des valeurs suivantes :

      • * ou non spécifié : appliquez les modifications que vous avez apportées aux ensembles de règles et à la description de la stratégie.
      • policy_sets : appliquez les modifications que vous avez apportées aux ensembles de règles uniquement.
      • description : appliquez les modifications que vous avez apportées à la description de la stratégie uniquement.
      • policy_sets, description : appliquez les modifications que vous avez apportées aux ensembles de règles et à la description de la stratégie.
      • state : applique uniquement le changement d'état.

    Par exemple, pour mettre à jour une stratégie nommée posture-example-1 sous l'organisation organizations/3589215982/locations/global et l'ID de révision défini sur abcd1234, exécutez la commande suivante :

    gcloud scc postures update \
        organizations/3589215982/locations/global/posture-example-1 \
        --posture-from-file=posture.yaml --revision-id=abcd1234 --update-mask=policy_sets
    

    Si le processus de mise à jour de la stratégie échoue, corrigez l'erreur, puis réessayez.

  3. Pour vérifier que la stratégie a bien été mise à jour, consultez Afficher une stratégie.

Modifier l'état d'une stratégie

L'état d'une stratégie détermine si elle peut être déployée dans un projet, un dossier ou une organisation.

Une stratégie peut avoir les états suivants :

  • DRAFT : la révision de la stratégie n'est pas prête pour le déploiement. Vous ne pouvez pas déployer une révision de stratégie à l'état DRAFT.
  • ACTIVE : la révision de la stratégie est disponible pour le déploiement. Vous pouvez modifier l'état de ACTIVE à DRAFT ou DEPRECATED.
  • DEPRECATED : une révision de stratégie DEPRECATED ne peut pas être déployée sur une ressource. Vous devez supprimer tous les déploiements de stratégie existants avant de pouvoir abandonner une révision de stratégie. Si vous souhaitez redéployer une révision de stratégie que vous avez abandonnée, vous devez remplacer son état par ACTIVE.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous souhaitez mettre à jour.

  4. Sur la page Détails de la stratégie, cliquez sur Modifier.

  5. Sélectionnez l'état de la stratégie, puis cliquez sur Enregistrer.

gcloud

Pour modifier l'état d'une stratégie, exécutez la commande gcloud scc postures update. Vous ne pouvez pas mettre à jour l'état de la stratégie en même temps que d'autres champs. Pour savoir comment exécuter la commande gcloud scc postures update, consultez Modifier un fichier YAML de stratégie.

Mettre à jour un déploiement de stratégie

Mettez à jour un déploiement de stratégie sur un projet, un dossier ou une organisation pour déployer une nouvelle stratégie ou une nouvelle révision d'une stratégie.

Si la révision de la stratégie que vous mettez à jour inclut une contrainte d'organisation personnalisée qui a été supprimée à l'aide de la console Google Cloud , vous ne pouvez pas mettre à jour le déploiement de la stratégie à l'aide du même ID de stratégie. Le service de règles d'administration empêche la création de contraintes d'administration personnalisées portant le même nom. Vous devez créer une version de la stratégie ou utiliser un autre ID de stratégie.

De plus, les résultats des déploiements de règles supprimés lors du processus de mise à jour seront désactivés.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous souhaitez mettre à jour.

  4. Sur la page Détails de la stratégie, sélectionnez la révision de la stratégie.

  5. Cliquez sur Appliquer aux ressources.

  6. Cliquez sur Sélectionner pour sélectionner l'organisation, le dossier ou le projet sur lequel vous souhaitez déployer la stratégie. Si un message indiquant que le déploiement existe déjà s'affiche, supprimez le déploiement avant de réessayer.

gcloud

Exécutez la commande gcloud scc posture-deployments update pour déployer une stratégie.

gcloud scc posture-deployments update POSTURE_DEPLOYMENT_NAME \
    --description=DESCRIPTION \
    --update-mask=UPDATE_MASK \
    --posture-id=POSTURE_ID \
    --posture-revision-id=POSTURE_REVISION_ID

Remplacez les valeurs suivantes :

  • POSTURE_DEPLOYMENT_NAME est le nom de ressource relatif du déploiement de la stratégie. Le format est le suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

    • POSTURE_DEPLOYMENT_ID est un nom unique pour le déploiement de la stratégie.
  • --description=DESCRIPTION est la description facultative de la stratégie déployée.

  • --posture-id=POSTURE_ID est le nom de votre stratégie, qui est unique pour votre organisation. Il a le format suivant : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_NAME.

  • --posture-revision-id=POSTURE_REVISION_ID est la révision de la stratégie que vous souhaitez déployer. Vous pouvez l'obtenir à partir de la réponse que vous recevez lorsque vous créez la stratégie ou affichez la stratégie.

  • --update-mask=UPDATE_MASK est la liste des champs que vous souhaitez mettre à jour, au format séparé par une virgule. Cet argument est facultatif.

Par exemple, pour mettre à jour un déploiement de stratégie avec les critères suivants :

  • Organisation : organizations/3589215982/locations/global
  • ID du déploiement de la stratégie : postureDeploymentexample
  • ID de la stratégie : StagingAIPosture
  • Révision : version2

Exécutez la commande suivante :

gcloud scc posture-deployments update \
    organizations/3589215982/locations/global/postureDeployments/postureDeploymentexample \
    --posture-id=organizations/3589215982/locations/global/postures/StagingAIPosture \
    --posture-revision-id=version2

Vous pouvez afficher les informations d'état une fois la commande terminée. Si le processus de mise à jour du déploiement de la stratégie échoue, supprimez le déploiement, corrigez l'erreur, puis réessayez.

Surveiller la dérive de la stratégie

Vous pouvez surveiller une stratégie déployée pour détecter les écarts par rapport aux règles que vous avez définies dans la stratégie de sécurité. Une dérive est une modification apportée à une règle en dehors d'une stratégie. Par exemple, une dérive se produit lorsqu'un administrateur modifie une définition de stratégie dans la console au lieu de mettre à jour le déploiement de la stratégie.

Le service de stratégie de sécurité crée des résultats que vous pouvez consulter dans la console Google Cloud ou gcloud CLI chaque fois qu'une dérive se produit.

Console

Pour toutes les postures, vous pouvez surveiller la dérive à l'aide de la page Résultats.

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

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Utilisez les options de filtrage suivantes pour examiner les résultats de la stratégie :

    • Dans le volet Filtres rapides, sélectionnez le résultat Non-respect de la stratégie. Vous pouvez également saisir le filtre suivant dans Aperçu de la requête :

      state="ACTIVE" AND NOT mute="MUTED" AND finding_class="POSTURE_VIOLATION"
      
    • Pour afficher les résultats liés aux modules personnalisés Security Health Analytics qui s'appliquent spécifiquement aux charges de travail Gemini Enterprise Agent Platform, exécutez la requête de filtre suivante :

      state="ACTIVE" AND NOT mute="MUTED" AND resource.type:"aiplatform"
      
    • Pour afficher les résultats liés à l'écart par rapport aux règles d'administration Gemini Enterprise Agent Platform que vous avez appliquées dans une stratégie, exécutez la requête de filtre suivante :

        state="ACTIVE" AND NOT mute="MUTED" AND
        (category="SECURITY_POSTURE_POLICY_DRIFT" OR
        category="SECURITY_POSTURE_POLICY_DELETE" OR
        category="SECURITY_POSTURE_DETECTOR_DRIFT" OR
        category="SECURITY_POSTURE_DETECTOR_DELETE")
        AND contains(risks, risk_category = "AI_WORKLOAD_AT_RISK")
      
  4. Pour afficher les détails d'un résultat, cliquez dessus.

gcloud

Dans la gcloud CLI, pour afficher les résultats de dérive, exécutez la commande suivante :

gcloud scc findings list ORGANIZATION_ID \
    --filter="category=\"SECURITY_POSTURE_DRIFT\""

où ORGANIZATION_ID est l'ID de l'organisation.

Vous pouvez exporter ces résultats de la même manière que vous exportez d'autres résultats depuis Security Command Center. Pour en savoir plus, consultez la page Exporter des données de Security Command Center.

Corriger les résultats de la stratégie

Pour en savoir plus sur la résolution de chaque résultat, consultez Résultats du service de stratégie de sécurité. Vous pouvez également mettre à jour le déploiement de la stratégie avec les mêmes ID et révision de stratégie.

Générer un résultat de dérive à des fins de test

Après avoir déployé une stratégie, vous pouvez surveiller les écarts par rapport à vos règles. Pour voir les résultats de dérive en action dans un environnement de test, procédez comme suit :

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

    Accéder à la page "Règle d'administration"

  2. Sélectionnez une organisation.

  3. Modifiez l'une des règles que vous avez définies dans la stratégie déployée. Par exemple, si vous utilisez une stratégie de sécurité d'IA prédéfinie, vous pouvez modifier la règle Limiter l'accès des adresses IP publiques sur les nouveaux notebooks et instances Vertex AI Workbench.

  4. Après avoir modifié la règle, cliquez sur Définir la règle.

  5. Accédez à la page Résultats.

    Accéder aux résultats

  6. Sélectionnez une organisation.

  7. Dans le volet Filtres rapides, dans la section Nom à afficher pour la source, sélectionnez Stratégie de sécurité. Un résultat lié à votre modification devrait s'afficher dans un délai de cinq minutes.

  8. Pour afficher les détails du résultat, cliquez dessus.

Supprimer un déploiement de stratégie

Vous pouvez supprimer un déploiement de stratégie s'il n'a pas été déployé correctement, si vous n'avez plus besoin d'une stratégie particulière ou si vous ne souhaitez plus qu'une stratégie particulière soit attribuée à un projet, un dossier ou une organisation. Pour supprimer un déploiement de stratégie, celui-ci doit se trouver dans l'un des états suivants :

  • ACTIVE
  • CREATE_FAILED
  • UPDATE_FAILED
  • DELETE_FAILED

Pour vérifier l'état d'un déploiement de stratégie, consultez Afficher des informations sur un déploiement de stratégie.

Lorsque vous supprimez un déploiement de stratégie, vous supprimez la stratégie de la ressource (votre organisation, dossier ou projet) à laquelle vous l'avez attribuée. Cela désactive également les résultats associés.

Le résultat pour les différents types de règles est le suivant :

  • Lorsque vous supprimez un déploiement de stratégie qui inclut des règles d'administration personnalisées, ces règles sont supprimées. Toutefois, la contrainte personnalisée continue d'exister.
  • Lorsque vous supprimez un déploiement de stratégie incluant des détecteurs Security Health Analytics intégrés, l'état final des modules Security Health Analytics dépend de l'organisation, du dossier ou du projet sur lequel le déploiement existait.

    • Si vous avez déployé une stratégie sur un dossier ou un projet, les détecteurs Security Health Analytics intégrés héritent de leur état de l'organisation ou du dossier parent.
    • Si vous avez déployé une stratégie au niveau de l'organisation, les détecteurs Security Health Analytics intégrés reviennent à l'état par défaut. Pour obtenir une description des états par défaut, consultez Activer et désactiver des détecteurs.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous souhaitez supprimer de la ressource à laquelle elle est attribuée.

  4. Sur la page Détails de la stratégie, sélectionnez la révision de la stratégie, puis accédez à Ressources.

  5. Dans la liste des ressources où la révision de stratégie active actuelle est déployée, cliquez sur Supprimer.

gcloud

Exécutez la commande gcloud scc posture-deployments delete pour supprimer un déploiement de stratégie.

gcloud scc posture-deployments delete POSTURE_DEPLOYMENT_NAME

POSTURE_DEPLOYMENT_NAME est le nom de ressource relatif du déploiement de la stratégie. Le format est le suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

  • POSTURE_DEPLOYMENT_ID est le nom unique du déploiement de la stratégie.

Par exemple, pour supprimer un déploiement de stratégie nommé organizations/3589215982/locations/global/postureDeployments/posture-deployment-example-1, exécutez la commande suivante :

gcloud scc posture-deployments delete \
    organizations/3589215982/locations/global/postureDeployments/posture-deployment-example-1

Supprimer une stratégie

Lorsque vous supprimez une stratégie, vous supprimez également toutes les révisions. Vous ne pouvez pas supprimer une stratégie si l'une de ses révisions est déployée. Vous devez supprimer tous les déploiements de stratégie avant de pouvoir effectuer cette tâche.

Console

  1. Dans la console Google Cloud , accédez à la page Gestion de la stratégie.

    Accéder à la gestion des postures

  2. Sélectionnez une organisation.

  3. Dans l'onglet Postures, cliquez sur la posture que vous souhaitez supprimer.

  4. Sur la page Détails de la stratégie, cliquez sur Supprimer.

gcloud

Exécutez la commande gcloud scc postures delete pour supprimer une stratégie.

 gcloud scc postures delete POSTURE_NAME

POSTURE_NAME est le nom de ressource relatif de la stratégie.

Par exemple, organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID. L'ID de stratégie est un nom alphanumérique unique pour votre stratégie au sein de votre organisation.

Par exemple, pour supprimer une stratégie nommée organizations/3589215982/locations/global/postures/posture-example-1, exécutez la commande suivante :

 gcloud scc postures delete \
     organizations/3589215982/locations/global/postures/posture-example-1

Étapes suivantes