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

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

Avant de commencer

Effectuez ces tâches avant d'effectuer les autres tâches de cette page.

Activer le niveau Security Command Center Premium ou Enterprise

Vérifiez que le niveau Premium ou Enterprise de Security Command Center est activé au niveau de l'organisation.

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

Configurer les autorisations

Pour obtenir les autorisations nécessaires pour utiliser la stratégie de sécurité, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de la stratégie de sécurité (roles/securityposture.admin). 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.

Pour en savoir plus sur les rôles et les autorisations liés à l'état de sécurité, consultez la section IAM pour les activations au niveau de l'organisation.

Configurer Google Cloud CLI

Vous devez utiliser la version 461.0.0 ou ultérieure de Google Cloud CLI.

In the Google Cloud console, activate Cloud Shell.

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.

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 Emprunt d'identité d'un compte de service.

Activer les API

Activez le service de règles d'administration de l'organisation et les API du service d'évaluation de la 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 activer Security Command Center Enterprise et vous connecter à AWS pour la détection des failles.

Créer et déployer une stratégie

Pour commencer à utiliser une posture de sécurité, vous devez procéder comme suit:

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

Vous trouverez des instructions détaillées dans les sections suivantes.

Créer un fichier YAML de posture

Une posture consiste en un ou plusieurs ensembles de règles que vous déployez ensemble. Ces ensembles de règles incluent toutes les règles préventives et détectives que vous souhaitez inclure dans votre posture.

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

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

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

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

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

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

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

  6. Effectuez l'une des actions suivantes :

gcloud

  1. Examinez les modèles de posture prédéfinis pour déterminer ceux qui s'appliquent à votre environnement. Vous pouvez en appliquer certains sans apporter de modifications, mais d'autres nécessitent de personnaliser les règles en fonction de 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 posture 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/LOCATION/postureTemplates/POSTURE_TEMPLATE \
        --revision-id=REVISION_ID
    
    gcloud scc posture-templates describe \
    organizations/ORGANIZATION_ID/locations/global/postureTemplates/POSTURE_TEMPLATE \
    --revision-id=REVISION_ID

    Remplacez les valeurs suivantes :

    • ORGANIZATION_ID correspond à l'organisation dans laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.
    • LOCATION correspond à l'emplacement où vous souhaitez déployer et stocker la posture. Le seul emplacement accepté est global.
    • POSTURE_TEMPLATE est le nom du modèle de la posture prédéfinie, comme décrit dans la section Modèles de posture prédéfinis.
    • REVISION_ID correspond à la version de révision de la posture prédéfinie. Si vous n'incluez pas l'ID de révision, la dernière version de la stratégie prédéfinie s'affiche.

    Par exemple, pour afficher la posture prédéfinie de l'IA sécurisée, essentielles 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 posture sans apporter de modifications (par exemple, si vous avez utilisé l'un des modèles _essentials), vous pouvez créer la posture. Pour obtenir des instructions, consultez Créer une posture.
    • Si vous devez modifier l'un des ensembles de règles ou des règles, consultez Modifier un fichier YAML de posture.

Créer un fichier de posture 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 posture. Vous ne pouvez pas extraire de règles d'une organisation, d'un dossier ou d'un projet auxquels une posture est déjà appliquée.

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

Si vous avez connecté Security Command Center Enterprise à AWS, cette commande extrait également les détecteurs spécifiques à AWS (Preview).

  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 posture. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

      • POSTURE_ID est un nom alphanumérique unique pour votre posture au sein de votre organisation. POSTURE_ID est limité à 63 caractères.
    • WORKLOAD correspond au projet, au dossier ou à l'organisation à partir desquels 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 généré pour le modifier.

  3. Effectuez l'une des actions suivantes :

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

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

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

resource "google_securityposture_posture" "posture_example" {
  posture_id  = "<POSTURE_ID>"
  parent      = "organizations/<ORGANIZATION_ID>"
  location    = "global"
  state       = "ACTIVE"
  description = "a new posture"
  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
          }
        }
      }
    }
    policies {
      policy_id = "canned_org_policy_for_service"
      constraint {
        org_policy_constraint {
          canned_constraint_id = "run.allowedVPCEgress"
          policy_rules {
            allow_all: true
            condition {
              expression: "!(parameters.denyAll or resource.location in parameters.deniedLocations) && (parameters.allowAll or resource.location in parameters.allowedLocations)"
            }
            parameters {
              fields {
                key: "denyAll"
                value {
                  bool_value: false
                }
              }
              fields {
                key: "allowAll"
                value {
                  bool_value: false
                }
              }
              fields {
                key: "deniedLocations"
                value {
                  null_value: NULL_VALUE
                }
              }
              fields {
                key: "allowedLocations"
                value {
                  string_value: "allowedLocations.all(location, location in [\342\200\230US\342\200\231, \342\200\230EU\342\200\231])"
                }
              }
            }
            resource_types {
              included: "run.googleapis.com/Service"
            }
          }
        }
      }
    }
  }
  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 = "aws_sha_builtin_module"
      constraint {
        security_health_analytics_module {
          module_name             = "S3_BUCKET_LOGGING_ENABLED"
          module_enablement_state = "ENABLED"
        }
      }
      description = "enable S3_BUCKET_LOGGING_ENABLED"
    }
    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 posture

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

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

  3. Vérifiez les 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 Posture.

    Exemple :

    name: organizations/3589215982/locations/global/posture/stagingAIPosture
    description: This posture applies to staging environments for Vertex AI.
    state: ACTIVE
    
  4. 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 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 stratégie ainotebooks.accessMode dans la stratégie prédéfinie étendue pour une IA sécurisée, ajoutez les modes d'accès autorisés sous policy_rules:

      - policy_id: Define access mode for Vertex AI Workbench notebooks and instances
        compliance_standards:
        - standard: NIST SP 800-53
          control: AC-3(3)
        - standard: NIST SP 800-53
          control: AC-6(1)
        constraint:
          org_policy_constraint:
            canned_constraint_id: ainotebooks.accessMode
            policy_rules:
            - values:
                allowed_values: 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 liées aux règles d'administration supplémentaires, comme indiqué dans la section Contraintes liées aux 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 console Google 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 allowed_values par la liste appropriée de projets:

      - policy_id: Define projects with trusted images.
        compliance_standards:
        - standard:
          control:
        constraint:
          org_policy_constraint:
            canned_constraint_id: compute.trustedImageProjects
            policy_rules:
            - values:
                allowed_values:
                - 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 la section 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:

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

      Par exemple, ajoutez un module personnalisé Security Health Analytics pour détecter si les ensembles de données Vertex AI sont chiffrés:

      - policy_id: CMEK key is use for Vertex AI DataSet
        compliance_standards:
        - standard: NIST SP 800-53
          control: SC-12
        - standard: NIST SP 800-53
          control: SC-13
        constraint:
          security_health_analytics_custom_module:
            display_name: "vertexAIDatasetCMEKDisabled"
            config:
              customOutput: {}
              predicate:
                expression: "!has(resource.encryptionSpec)"
              resource_selector:
                resource_types:
                - 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."
            module_enablement_state: ENABLED
      

      Par exemple, pour Security Command Center Enterprise, ajoutez un détecteur Security Health Analytics spécifique à AWS (Preview):

      - policy_set_id: AWS policy set
        description:  Policy set containing AWS built-in SHA modules for securing S3 buckets.
        policies:
        - policy_id: S3 bucket replication enabled
          compliance_standards:
          - 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.
      
        - policy_id: S3 bucket logging enabled
          compliance_standards:
          - 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: 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 posture au niveau de l'organisation.

  5. Importez votre fichier d'état dans un dépôt de sources contrôlé par version 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 d'état de conformité dans Security Command Center que vous pouvez déployer. Si vous avez créé une posture à partir d'un modèle de posture prédéfini à l'aide de la console Google Cloud, la ressource de posture est créée automatiquement.

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

  3. Cliquez sur Créer une posture. Vous pouvez créer une posture en partant d'une posture ou d'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 des détails sur la posture, comme son nom et sa description.
    3. Cliquez sur Sélectionner une posture. Vous pouvez créer une posture basée sur une posture existante ou un modèle.
      • Sélectionnez Posture pour créer une posture à partir d'une posture existante. Sélectionnez une posture dans la liste des postures affichées, puis une ou plusieurs révisions dans la liste des révisions disponibles pour la posture sélectionnée.
      • Sélectionnez Modèle pour créer une posture à l'aide d'un modèle, puis sélectionnez un ou plusieurs modèles dans la liste affichée.
    4. Cliquez sur Enregistrer. Dans la section Ensembles de règles, vous pouvez afficher la liste des ensembles de règles associés à la posture 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 posture 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 des détails sur la posture, comme 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 posture, qui affiche des informations sur la posture que vous avez créée. Vous pouvez voir les ensembles de règles associés à cette posture.

gcloud

  1. Exécutez la commande gcloud scc postures create pour créer une posture à 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 posture. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

      • POSTURE_ID est un nom alphanumérique de votre posture qui est propre à votre organisation. POSTURE_ID est limité à 63 caractères.

    Par exemple, pour créer une posture 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 posture échoue, supprimez la posture, corrigez l'erreur, puis réessayez.

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

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

Terraform

Si vous avez créé une configuration Terraform pour la ressource de posture, vous devez la provisionner à l'aide de votre pipeline Infrastructure as Code.

Pour en savoir plus, consultez Terraform sur Google Cloud.

Déployer une stratégie

Une fois que vous avez créé une posture, 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 surveiller les écarts. Vous ne pouvez déployer qu'une seule posture sur un projet, un dossier ou une organisation.

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

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

  • Les définitions des règles d'administration et des détecteurs Security Health Analytics sont appliquées.
  • La contrainte personnalisée pour les règles d'administration personnalisées est créée avec un ID de contrainte pour inclure l'ID de révision de la posture en tant que suffixe à l'ID de contrainte que vous avez défini dans la posture.
  • 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 Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

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

  4. Sur la page Détails de la posture, sélectionnez la révision de la posture. La révision de la posture 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 lesquels vous souhaitez déployer la posture.

  7. Cliquez sur Appliquer la posture.

gcloud

Exécutez la commande gcloud scc posture-deployments create pour déployer une posture 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 posture. Il a le format suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

  • LOCATION est global.

  • POSTURE_ID est un nom alphanumérique de votre posture qui est propre à votre organisation.

  • --posture-name=POSTURE_NAME correspond au nom de la posture que vous déployez. Il a le format suivant : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

Si votre posture inclut un détecteur spécifique à AWS, vous devez la déployer au niveau de l'organisation (Aperçu).

Par exemple, pour déployer une posture, 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 des informations d'état à mesure que la commande est exécutée. Si le processus de création du déploiement de posture échoue, supprimez le déploiement, corrigez l'erreur, puis réessayez.

Terraform

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

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.

Après avoir créé la ressource Terraform, provisionnez-la à l'aide de votre pipeline Infrastructure as Code.

Afficher des informations sur la posture et le déploiement de la posture

Vous pouvez afficher des informations sur la posture et le déploiement de la posture, par exemple:

  • Les postures déployées et leur emplacement 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 posture

Afficher une posture

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

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Sélectionnez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

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

gcloud

Exécutez la commande gcloud scc postures describe pour afficher une posture 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 posture. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

  • LOCATION est global.

  • POSTURE_ID est un nom alphanumérique de votre posture qui est propre à votre organisation.

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

Par exemple, pour afficher une posture portant le nom organizations/3589215982/locations/global/postures/posture-example-1 et l'ID de révision 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 de l'opération de déploiement de la posture.

gcloud scc posture-operations describe OPERATION_NAME

OPERATION_NAME est le nom de la ressource relative de l'opération. Il a le format suivant : organizations/ORGANIZATION_ID/locations/global/operations/OPERATION_ID. Vous pouvez obtenir OPERATION_ID à l'aide de l'argument --async lorsque vous exécutez la commande de posture.

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 de sécurité

Vous pouvez voir où une posture est déployée, ainsi que son état.

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

  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 auxquels la posture 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 posture déployée.

gcloud scc posture-deployments describe
POSTURE_DEPLOYMENT_NAME

POSTURE_DEPLOYMENT_NAME est le nom de la ressource relatif au déploiement de la posture. Il a le format 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 posture.

Par exemple, pour afficher les détails d'un déploiement de posture 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 posture et un déploiement de posture

Vous pouvez modifier les éléments suivants:

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

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

Vous devrez peut-être mettre à jour une posture lorsque vous activerez d'autres services Google Cloud, déploierez des ressources supplémentaires ou devrez appliquer des règles supplémentaires pour répondre à de nouvelles exigences de conformité ou à des exigences en constante évolution. Si vous mettez à jour une révision de posture déployée, cette tâche crée une nouvelle révision de posture. Sinon, la révision de la posture 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 l'état de conformité, y compris les ensembles de règles existants. Pour obtenir des instructions, consultez la section Modifier un fichier YAML de posture.
  2. Exécutez la commande gcloud scc postures update pour mettre à jour la posture.

    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 posture. Exemple : organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID.

      • POSTURE_ID est un nom alphanumérique de votre posture qui est propre à votre organisation.
    • POSTURE_FROM_FILE est le chemin d'accès relatif ou absolu au fichier posture.yaml qui inclut vos modifications.

      • LOCATION est global.
      • POSTURE_ID est un nom alphanumérique unique à votre organisation pour votre posture.
    • 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 posture que vous souhaitez déployer. Si la posture est déjà déployée, le service de posture de sécurité crée automatiquement une nouvelle version de la posture avec un ID de révision différent et inclut l'ID de révision dans la sortie.

    • --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 l'état.
      • policy_sets: appliquez uniquement les modifications que vous avez apportées aux ensembles de règles.
      • description: appliquez uniquement les modifications que vous avez apportées à la description de la posture.
      • policy_sets, description: appliquez les modifications que vous avez apportées aux ensembles de règles et à la description de l'état de conformité.
      • state: appliquez uniquement le changement d'état.

    Par exemple, pour mettre à jour une posture nommée posture-example-1 sous l'organisation organizations/3589215982/locations/global et dont l'ID de révision est 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 posture échoue, corrigez l'erreur, puis réessayez.

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

Modifier l'état d'une stratégie

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

Une posture 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 posture dont l'état est DRAFT.
  • ACTIVE: la révision de l'état de conformité est disponible pour le déploiement. Vous pouvez modifier l'état de ACTIVE en DRAFT ou DEPRECATED..
  • DEPRECATED: une révision de la posture DEPRECATED ne peut pas être déployée sur une ressource. Vous devez supprimer tous les déploiements de posture existants avant de pouvoir abandonner une révision de la posture. Si vous souhaitez redéployer une révision de posture que vous avez abandonnée, vous devez définir son état sur ACTIVE.

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

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

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

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

gcloud

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

Mettre à jour un déploiement de posture

Mettez à jour un déploiement de posture sur un projet, un dossier ou une organisation pour déployer une nouvelle posture ou une nouvelle version d'une posture.

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

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 Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

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

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

  5. Cliquez sur Appliquer aux ressources.

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

gcloud

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

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 posture. Il a le format suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

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

  • --posture-id=POSTURE_ID est le nom de votre posture qui est unique à 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 posture que vous souhaitez déployer. Vous pouvez l'obtenir à partir de la réponse que vous recevez lorsque vous créez la posture ou affichez la posture.

  • --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 posture avec les critères suivants:

  • Organisation : organizations/3589215982/locations/global
  • ID de déploiement de la stratégie: postureDeploymentexample
  • ID de la posture: 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 des informations d'état à mesure que la commande est exécutée. Si le processus de mise à jour du déploiement de la posture échoue, supprimez le déploiement, corrigez l'erreur, puis réessayez.

Surveiller la dérive de la posture

Vous pouvez surveiller une posture déployée pour détecter les écarts par rapport aux règles définies dans la posture de sécurité. Une dérive est une modification d'une stratégie qui se produit en dehors d'une posture. 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 posture.

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

Console

Si vous avez créé une posture qui s'applique aux charges de travail Vertex AI, vous pouvez surveiller la dérive de deux manières: depuis la page Findings (Résultats) et depuis la page Overview (Vue d'ensemble). Pour toutes les autres postures, vous pouvez surveiller la dérive depuis la page Résultats.

Pour surveiller la dérive depuis la page Résultats:

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

    Accéder

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

  3. Dans le volet Filtres rapides, sélectionnez le résultat Non-respect de la posture. 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"
    
  4. Pour afficher les détails d'un résultat, cliquez dessus.

Pour surveiller les dérives à partir de la page Vue d'ensemble (charges de travail Vertex AI uniquement) : 1. Dans la console Google Cloud, accédez à la page Présentation.

Accéder à la page "Présentation"

1. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center. 1. Examinez le volet Résultats concernant la charge de travail d'IA.

  • L'onglet Failles affiche toutes les failles liées aux modules personnalisés Security Health Analytics qui s'appliquent spécifiquement aux charges de travail Vertex AI.
  • L'onglet Écart de stratégie affiche tout écart lié aux règles d'organisation Vertex AI que vous avez appliquées dans une posture.
  • 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\""

ORGANIZATION_ID est l'ID de l'organisation.

Pour en savoir plus sur la résolution de ces problèmes, consultez la section Résultats du service de stratégie de sécurité. 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 les pages Options d'intégration et Exporter des données de Security Command Center.

Pour désactiver un résultat de dérive, vous pouvez mettre à jour le déploiement de la posture avec le même ID de posture et la même révision de posture.

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

Une fois que vous avez déployé une posture, 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ègle d'administration.

    Accéder à la règle d'administration

  2. Modifiez l'une des règles que vous avez définies dans l'état déployé. Par exemple, si vous utilisez une posture d'IA sécurisée 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.

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

  4. Accéder à la page Résultats

    Accéder

  5. Dans le volet Filtres rapides, dans la section Nom à afficher pour la source, sélectionnez Security Posture (Posture de sécurité). Un résultat lié à votre modification devrait s'afficher sous cinq minutes.

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

Supprimer un déploiement de stratégie

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

  • ACTIVE
  • CREATE_FAILED
  • UPDATE_FAILED
  • DELETE_FAILED

Pour vérifier l'état d'un déploiement de posture, consultez la section Afficher des informations sur un déploiement de posture.

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

Voici les résultats obtenus pour différents types de règles:

  • Lorsque vous supprimez un déploiement de posture 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 posture qui inclut des détecteurs intégrés de Security Health Analytics, l'état final des modules Security Health Analytics dépend de l'organisation, du dossier ou du projet sur lesquels le déploiement existait.

    • Si vous avez déployé une posture sur un dossier ou un projet, les détecteurs intégrés de Security Health Analytics 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 intégrés de Security Health Analytics reviennent à l'état par défaut. Pour en savoir plus sur les états par défaut, consultez la section Activer et désactiver des détecteurs.

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

  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 posture, sélectionnez la révision de la posture, puis accédez à Ressources.

  5. Dans la liste des ressources où la révision de posture 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 posture.

gcloud scc posture-deployments deletePOSTURE_DEPLOYMENT_NAME

POSTURE_DEPLOYMENT_NAME est le nom de ressource relatif du déploiement de la posture. Il a le format suivant : organizations/ORGANIZATION_ID/locations/global/postureDeployments/POSTURE_DEPLOYMENT_ID.

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

Par exemple, pour supprimer un déploiement de posture 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 posture si l'une de ses révisions est déployée. Vous devez supprimer tous les déploiements de posture avant de pouvoir effectuer cette tâche.

Console

  1. Dans la console Google Cloud, accédez à la page Posture Management (Gestion de la posture).

    Accéder à "Posture Management" (Gestion de la posture)

  2. Vérifiez que vous consultez l'organisation pour laquelle vous avez activé le niveau Premium ou Enterprise de Security Command Center.

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

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

gcloud

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

gcloud scc postures delete POSTURE_NAME

POSTURE_NAME est le nom de ressource relatif de la posture. Par exemple, organizations/ORGANIZATION_ID/locations/global/postures/POSTURE_ID. L'ID de posture est un nom alphanumérique unique à votre organisation.

Par exemple, pour supprimer une posture 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

Étape suivante