Gérer les contrôles cloud

Compliance Manager inclut de nombreux contrôles cloud intégrés que vous pouvez ajouter à des frameworks et déployer dans votre environnement. Si nécessaire, vous pouvez créer et gérer vos propres contrôles cloud personnalisés, et mettre à jour les contrôles cloud intégrés.

Avant de commencer

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

Configurer les autorisations

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.

Afficher les contrôles cloud

Suivez les étapes ci-dessous pour afficher les contrôles cloud intégrés et les contrôles cloud personnalisés que vous avez déjà créés.

Console

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

    Accéder

  2. Sélectionnez votre organisation ou votre projet.

  3. Dans l'onglet Configurer, cliquez sur Commandes cloud. Les contrôles cloud disponibles s'affichent.

    Le tableau de bord inclut des informations sur les frameworks qui incluent le contrôle cloud et le nombre de ressources (organisation, dossiers et projets) auxquelles le contrôle cloud est appliqué.

  4. Pour afficher les détails d'un contrôle cloud, cliquez sur son nom.

CLI

Vous pouvez afficher des informations sur un contrôle cloud spécifique ou lister tous les contrôles cloud de votre organisation.

Afficher les détails d'un contrôle cloud

Pour afficher les détails d'un contrôle cloud spécifique, exécutez la commande gcloud compliance-manager cloud-controls describe :

gcloud compliance-manager cloud-controls describe CLOUD_CONTROL \
   --location=LOCATION \
   --organization=ORGANIZATION \
   [--major-revision-id=MAJOR_REVISION_ID]

Remplacez les valeurs suivantes :

  • CLOUD_CONTROL : nom du contrôle cloud

  • ORGANIZATION : ID d'organisation

  • LOCATION : région dans laquelle le contrôle cloud est stocké

  • MAJOR_REVISION_ID est une option facultative qui spécifie la version du contrôle cloud à afficher. Si vous n'incluez pas l'option, la dernière version est renvoyée.

Par exemple, pour afficher un contrôle cloud nommé builtin-block-external-ip-addresses-for-vm-access et portant le numéro de révision majeure 1, exécutez la commande suivante :

gcloud compliance-manager cloud-controls describe \
   builtin-block-external-ip-addresses-for-vm-access \
   --organization=3589215982 \
   --location=global \
   --major-revision-id=1

Pour en savoir plus, consultez gcloud compliance-manager cloud-controls describe.

Obtenir la liste des contrôles cloud

Pour obtenir la liste des contrôles cloud de votre organisation, exécutez la commande gcloud compliance-manager cloud-controls list :

gcloud compliance-manager cloud-controls list \
   --location=LOCATION \
   --organization=ORGANIZATION

Remplacez les valeurs suivantes :

  • ORGANIZATION : ID d'organisation

  • LOCATION : région dans laquelle les contrôles cloud sont stockés.

Par exemple, pour afficher tous les contrôles cloud de l'organisation 3589215982 et stockés dans l'emplacement global, exécutez la commande suivante :

gcloud compliance-manager cloud-controls list \
   --organization=3589215982 \
   --location=global

Pour en savoir plus sur les options facultatives, consultez gcloud compliance-manager cloud-controls list.

Créer un contrôle cloud personnalisé

Lorsque vous créez un contrôle cloud personnalisé, vous appliquez une règle à n'importe quel type de ressource de l'inventaire des éléments cloud.

Console

Lorsque vous utilisez la console, vous pouvez créer des contrôles cloud personnalisés avec une règle qui s'applique à un type de ressource de l'inventaire des éléments cloud.

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

    Accéder

  2. Sélectionnez votre organisation ou votre projet.

  3. Dans l'onglet Configurer, cliquez sur Commandes cloud. La liste des contrôles cloud disponibles s'affiche.

  4. Créez un contrôle cloud, soit avec Gemini, soit manuellement :

Utiliser Gemini

  1. Demandez à Gemini de générer un contrôle cloud pour vous. En fonction de votre prompt, Gemini fournit un identifiant unique, un nom, une logique de détection associée et des étapes de correction possibles.

  2. Examinez les recommandations et apportez les modifications nécessaires.

  3. Enregistrez votre contrôle cloud personnalisé.

Créer manuellement

  1. Dans le champ ID du contrôle cloud, indiquez un identifiant unique pour votre contrôle.

  2. Saisissez un nom et une description pour aider les utilisateurs de votre organisation à comprendre l'objectif du contrôle cloud personnalisé.

  3. Facultatif : sélectionnez les catégories du contrôle. Cliquez sur Continuer.

  4. Sélectionnez un type de ressource disponible pour votre contrôle cloud personnalisé. Le Gestionnaire de conformité est compatible avec tous les types de ressources. Pour trouver le nom d'une ressource, consultez Types d'assets.

  5. Fournissez la logique de détection de votre contrôle cloud au format CEL (Common Expression Language).

    Les expressions CEL vous permettent de définir comment vous souhaitez évaluer les propriétés d'une ressource. Pour en savoir plus et voir des exemples, consultez Écrire des règles pour les contrôles cloud personnalisés. Cliquez sur Continuer.

    Si votre règle d'évaluation n'est pas valide, une erreur s'affiche.

  6. Sélectionnez un niveau de gravité approprié pour les résultats.

  7. Rédigez vos instructions de correction de manière à ce que les administrateurs et les personnes chargées de répondre aux incidents dans votre organisation puissent résoudre les résultats du contrôle cloud. Cliquez sur Continuer.

  8. Vérifiez vos entrées, puis cliquez sur Créer.

CLI

Lorsque vous utilisez la gcloud CLI, vous pouvez créer un contrôle cloud personnalisé avec un maximum de trois règles. Chaque règle ne peut s'appliquer qu'à un seul type de ressource.

Pour créer un contrôle cloud personnalisé, exécutez la commande gcloud compliance-manager cloud-controls create :

gcloud compliance-manager cloud-controls create CLOUD_CONTROL \
   --location=LOCATION \
   --organization=ORGANIZATION \
   [--display-name=DISPLAY_NAME] \
   [--description=DESCRIPTION] \
   [--categories=[CATEGORIES,...]] \
   [--finding-category=FINDING_CATEGORY] \
   [--parameter-spec=[defaultValue=DEFAULTVALUE],[description=DESCRIPTION],[displayName=DISPLAYNAME],[isRequired=ISREQUIRED],[name=NAME],[substitutionRules=SUBSTITUTIONRULES],[validation=VALIDATION],[valueType=VALUETYPE]] \
   [--remediation-steps=REMEDIATION_STEPS] \
   [--rules=[celExpression=CELEXPRESSION],[description=DESCRIPTION],[ruleActionTypes=RULEACTIONTYPES]] \
   [--severity=SEVERITY] \
   [--supported-cloud-providers=[SUPPORTED_CLOUD_PROVIDERS,…]] \
   [--supported-target-resource-types=[SUPPORTED_TARGET_RESOURCE_TYPES,…]]

Remplacez les valeurs suivantes :

  • CLOUD_CONTROL : nom alphanumérique unique du contrôle cloud

  • ORGANIZATION : ID d'organisation

  • LOCATION : région dans laquelle le contrôle cloud est stocké

  • DISPLAY_NAME : nom lisible par l'humain du contrôle cloud

  • DESCRIPTION : description facultative de l'objectif du contrôle cloud

  • CATEGORIES,… : paramètre facultatif qui définit les catégories auxquelles le contrôle cloud appartient. Pour obtenir la liste des catégories autorisées, consultez gcloud compliance-manager cloud-controls create.

  • FINDING_CATEGORY : valeur qui s'affiche dans le tableau de bord des résultats de Security Command Center lorsque le contrôle cloud génère un résultat.

  • --parameter-spec=[defaultValue=DEFAULTVALUE], \
     [description=DESCRIPTION], \
     [displayName= DISPLAYNAME], \
     [isRequired=ISREQUIRED], \
     [name=NAME], \
     [substitutionRules=SUBSTITUTIONRULES], \
     [validation=VALIDATION], \
     [valueType=VALUETYPE]...]
    

    correspond aux informations facultatives sur les paramètres du contrôle cloud, au format suivant :

    • DEFAULTVALUE : données appliquées si un utilisateur ne personnalise pas le paramètre lors du déploiement d'un framework. Les types de valeurs acceptés sont boolValue, numberValue, stringListValue ou stringValue.

    • DESCRIPTION : description facultative du contrôle

    • ISREQUIRED : true si le contrôle nécessite la définition d'un paramètre

    • NAME : nom du paramètre

    • SUBSTITUTIONRULES : comment et où le Gestionnaire de conformité injecte la valeur personnalisée du paramètre. Spécifiez le chemin d'accès ciblé dans la règle à l'aide d'une notation par point proto (par exemple, rules[0].org_policy_constraint...). Choisissez l'une des options suivantes :

      • attributeSubstitutionRule lorsque vous souhaitez injecter la valeur du paramètre directement dans un champ structurel de votre règle (par exemple, en remplissant une liste de valeurs limitées dans un modèle de règle de contrainte de règle d'administration).

      • placeholderSubstitutionRule lorsque votre règle utilise une chaîne de texte (ou une expression CEL). La chaîne doit contenir une variable d'espace réservé précédée de $ (par exemple, $deniedServices). Cette règle indique au compilateur de mapper le paramètre à cet espace réservé.

      L'exemple suivant crée un paramètre de liste nommé deniedServices avec le type STRINGLIST. Il utilise attributeSubstitutionRule pour ajouter des noms de services fournis par l'utilisateur (tels que compute.googleapis.com) directement dans une règle d'administration personnalisée structurelle (denied_values) lors du déploiement :

      --parameter-spec='name=deniedServices,isRequired=true,valueType=STRINGLIST,substitutionRules=[{attributeSubstitutionRule={attribute="rules[0].org_policy_constraint.policy_rules[0].values.denied_values"}}]'
    • VALIDATION est l'ensemble de valeurs autorisé. Choisissez l'une des options suivantes :

      • Utilisez allowedValues pour appliquer une liste d'autorisation statique. Par exemple, limitez les paramètres d'emplacement à des champs de chaîne spécifiques : validation={allowedValues={values=[{stringValue=us-central1},{stringValue=us-west1}]}}

      • Utilisez intRange pour appliquer des limites numériques aux entiers. Par exemple, définissez une durée de conservation comprise entre 1 et 365 : validation={intRange={min=1,max=365}}

      • Utilisez regexpPattern pour appliquer la correspondance d'expression régulière sur le texte de la chaîne, par exemple, pour exiger une dénomination alphanumérique stricte : validation={regexpPattern={pattern="^[a-z][-a-z0-9]*$"}}

    • VALUETYPE : type de données ou format de la valeur fournie par l'utilisateur pour ce paramètre. Les types de valeurs acceptés sont STRING, BOOLEAN, STRINGLIST, NUMBER et ONEOF.

    Vous pouvez également spécifier un fichier JSON ou YAML qui définit les paramètres. Par exemple, --parameter-spec=path_to_file.(yaml|json). Développez la section suivante pour afficher des exemples de fichiers JSON et YAML.

    Exemple de fichier JSON

      [
        {
          "name": "deniedServices",
          "displayName": "Services Requiring CMEK",
          "description": "List of service names that must use Customer-Managed Encryption Keys.",
          "isRequired": true,
          "valueType": "STRINGLIST",
          "substitutionRules": [
            {
              "attributeSubstitutionRule": {
                "attribute": "rules[0].org_policy_constraint.policy_rules[0].values.denied_values"
              }
            }
          ]
        }
      ]
          

    Exemple de fichier YAML

      - name: deniedServices
        displayName: "Services Requiring CMEK"
        description: "List of service names that must use Customer-Managed Encryption Keys."
        isRequired: true
        valueType: STRINGLIST
        substitutionRules:
        - attributeSubstitutionRule:
            attribute: "rules[0].org_policy_constraint.policy_rules[0].values.denied_values"
          
  • REMEDIATION_STEPS : étapes requises pour résoudre les résultats. Cette chaîne est limitée à 400 caractères.

  • --rules=[celExpression=CELEXPRESSION],[description=DESCRIPTION],[ruleActionTypes=RULEACTIONTYPES] est la règle que vous souhaitez appliquer, au format suivant :

    • CELEXPRESSION : expression CEL (Common Expression Language) de la règle. Pour en savoir plus sur l'écriture d'expressions CEL, consultez Écrire des règles pour les contrôles cloud personnalisés. Incluez les éléments suivants :

      • expression : expression CEL, avec un maximum de 1 000 caractères

      • resourceTypesValues : nom des ressources, au format SERVICE_NAME/type. Utilisez un tableau values pour lister tous les types de ressources auxquels vous souhaitez appliquer la règle (par exemple, values=[compute.googleapis.com/Instance]).

    • DESCRIPTION : description de la règle

    • RULEACTIONTYPES : action effectuée par la règle. Les valeurs acceptées sont rule-action-type-detective, rule-action-type-preventive et rule-action-type-audit.

    Par exemple, pour vérifier la période de rotation des clés Cloud Key Management Service, saisissez la commande suivante :

    --rules="[
      {
        \"celExpression\": {
          \"expression\": \"has(resource.data.rotationPeriod) && resource.data.rotationPeriod < duration('60h')\",
          \"resourceTypesValues\": {
            \"values\": [
              \"cloudkms.googleapis.com/CryptoKey\"
            ]
          }
        },
        \"description\": \"Check KMS key rotation period\",
        \"ruleActionTypes\": [
          \"rule-action-type-detective\"
        ]
      }
    ]"
    

    Vous pouvez également spécifier un fichier JSON ou YAML qui définit la règle. Par exemple, --rules=path_to_file.(yaml|json). Développez la section suivante pour afficher des exemples de fichiers JSON et YAML.

    Exemple de fichier JSON

      [
        {
          "celExpression": {
            "expression": "has(resource.data.rotationPeriod) && resource.data.rotationPeriod < duration('60h')",
            "resourceTypesValues": {
              "values": [
                "cloudkms.googleapis.com/CryptoKey"
              ]
            }
          },
          "description": "Check KMS key rotation period to ensure it is under 60 hours.",
          "ruleActionTypes": [
            "rule-action-type-detective"
          ]
        }
      ]
          

    Exemple de fichier YAML

      - celExpression:
          expression: "has(resource.data.rotationPeriod) && resource.data.rotationPeriod < duration('60h')"
          resourceTypesValues:
            values:
            - cloudkms.googleapis.com/CryptoKey
        description: "Check KMS key rotation period to ensure it is under 60 hours."
        ruleActionTypes:
        - rule-action-type-detective
          
  • SEVERITY : niveau de criticité du contrôle cloud. Les valeurs acceptées sont critical, high, medium et low.

  • SUPPORTED_CLOUD_PROVIDERS,… : fournisseurs de services cloud auxquels ce contrôle cloud s'applique. La seule valeur acceptée est gcp.

  • SUPPORTED_TARGET_RESOURCE_TYPES,… : types de ressources (organisation, dossier, projet ou dossier compatible avec les applications dans App Hub) compatibles avec le contrôle cloud. Les valeurs acceptées sont target-resource-crm-type-folder, target-resource-crm-type-org, target-resource-crm-type-project et target-resource-type-application.

Par exemple, pour créer un contrôle cloud qui applique des emplacements de ressources, exécutez la commande suivante :

  gcloud compliance-manager cloud-controls create \
     restrict-resource-locations \
     --organization=3589215982 \
     --location=global \
     --display-name="Restrict Resource Locations" \
     --description="Enforces checks to ensure resources are only deployed in approved cloud regions." \
     --severity=high \
     --finding-category="LOCATION_VIOLATION" \
     --supported-cloud-providers="gcp" \
     --supported-target-resource-types="target-resource-crm-type-project" \
     --parameter-spec='name=allowedLocations,isRequired=true,valueType=STRINGLIST,substitutionRules=[{placeholderSubstitutionRule={attribute="rules[0].cel_expression.expression"}}]' \
     --rules="[{\"celExpression\": {\"expression\": \"resource.location in \$allowedLocations\", \"resourceTypesValues\": {\"values\": [\"compute.googleapis.com/Instance\"]}}, \"description\": \"Check Compute Engine instance locations\", \"ruleActionTypes\": [\"rule-action-type-detective\"]}]"

Pour créer le même contrôle, mais utiliser des fichiers YAML pour définir les paramètres et les règles, exécutez la commande suivante :

     gcloud compliance-manager cloud-controls create \
     restrict-resource-locations \
     --organization=3589215982 \
     --location=global \
     --display-name="Restrict Resource Locations" \
     --description="Enforces checks to ensure resources are only deployed in approved cloud regions." \
     --severity=high \
     --finding-category="LOCATION_VIOLATION" \
     --supported-cloud-providers="gcp" \
     --supported-target-resource-types="target-resource-crm-type-project" \
     --parameter-spec=parameters.yaml \
     --rules=rules.yaml

Pour en savoir plus, consultez gcloud compliance-manager cloud-controls create.

Terraform

Lorsque vous utilisez Terraform, vous pouvez créer un contrôle cloud personnalisé avec un maximum de trois règles. Chaque règle ne peut s'appliquer qu'à un seul type de ressource.

L'exemple suivant montre comment créer un contrôle cloud personnalisé à l'aide de Terraform.

resource "google_cloud_security_compliance_cloud_control" "example" {
  parent              = "organizations/123456789"
  location            = "global"
  cloud_control_id    = "example-cloudcontrol"

  display_name      = "TF test CloudControl Name"
  description       = "A test cloud control for security compliance"
  categories        = ["CC_CATEGORY_INFRASTRUCTURE"]
  severity          = "HIGH"
  finding_category  = "SECURITY_POLICY"
  remediation_steps = "Review and update the security configuration according to best practices."

  supported_cloud_providers        = ["GCP"]

  rules {
    description         = "Ensure compute instances have secure boot enabled"
    rule_action_types   = ["RULE_ACTION_TYPE_DETECTIVE"]

    cel_expression {
      expression = "resource.data.shieldedInstanceConfig.enableSecureBoot == true"
      resource_types_values {
        values = ["compute.googleapis.com/Instance"]
      }
    }
  }

  parameter_spec {
    name         = "location"
    display_name = "Resource Location"
    description  = "The location where the resource should be deployed"
    value_type   = "STRING"
    is_required  = true

    default_value {
      string_value = "us-central1"
    }

    validation {
      regexp_pattern {
        pattern = "^[a-z]+-[a-z]+[0-9]$"
      }
    }
  }

  parameter_spec {
    name         = "enable_secure_boot"
    display_name = "Enable Secure Boot"
    description  = "Whether to enable secure boot for instances"
    value_type   = "BOOLEAN"
    is_required  = true

    default_value {
      bool_value = true
    }

    substitution_rules {
      attribute_substitution_rule {
        attribute = "rules[0].cel_expression.expression"
      }
    }

    validation {
      allowed_values {
        values {
          bool_value = true
        }
      }
    }
  }

  parameter_spec {
    name         = "max_instances"
    display_name = "Maximum Instances"
    description  = "Maximum number of instances allowed"
    value_type   = "NUMBER"
    is_required  = false

    default_value {
      number_value = 10
    }

    substitution_rules {
      placeholder_substitution_rule {
        attribute = "rules[0].description"
      }
    }

    validation {
      int_range {
        min = "1"
        max = "100"
      }
    }
  }

  parameter_spec {
    name         = "allowed_regions"
    display_name = "Allowed Regions"
    description  = "List of regions where resources can be deployed"
    value_type   = "STRINGLIST"
    is_required  = true

    default_value {
      string_list_value {
        values = ["us-central1", "us-east1", "us-west1"]
      }
    }

    validation {
      allowed_values {
        values {
          string_list_value {
            values = ["us-central1", "us-east1"]
          }
        }
        values {
          string_list_value {
            values = ["us-west1", "us-west2"]
          }
        }
      }
    }
  }

  parameter_spec {
    name         = "environment_type"
    display_name = "Environment Type"
    description  = "The type of environment"
    value_type   = "STRING"
    is_required  = true

    default_value {
      string_value = "production"
    }

    validation {
      allowed_values {
        values {
          string_value = "production"
        }
        values {
          string_value = "staging"
        }
        values {
          number_value = 1
        }
      }
    }
  }
}

Modifier un contrôle cloud personnalisé

Après avoir créé un contrôle cloud, vous pouvez modifier son nom, sa description, ses règles, ses étapes de correction et son niveau de gravité. Vous ne pouvez pas modifier la catégorie de contrôle cloud.

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

    Accéder

  2. Sélectionnez votre organisation ou votre projet.

  3. Dans l'onglet Configurer, cliquez sur Commandes cloud. La liste des commandes cloud disponibles s'affiche.

  4. Cliquez sur le contrôle cloud que vous souhaitez modifier.

  5. Sur la page Détails du contrôle cloud, vérifiez que le contrôle cloud n'est pas inclus dans un framework. Si nécessaire, modifiez le framework pour supprimer le contrôle cloud.

  6. Cliquez sur Modifier.

  7. Sur la page Modifier le contrôle cloud personnalisé, modifiez le nom et la description si nécessaire. Cliquez sur Continuer.

  8. Mettez à jour les règles, la gravité des résultats et les étapes de correction. Cliquez sur Continuer.

  9. Vérifiez vos modifications, puis cliquez sur Enregistrer.

Mettre à jour un contrôle cloud intégré vers une version plus récente

Google publie régulièrement des mises à jour de ses contrôles cloud intégrés à mesure que les services déploient de nouvelles fonctionnalités ou que de nouvelles bonnes pratiques émergent. Les mises à jour peuvent inclure de nouvelles commandes ou des modifications de commandes existantes.

Vous pouvez afficher les versions des contrôles cloud intégrés dans le tableau de bord des contrôles cloud, dans l'onglet Configurer ou sur la page d'informations du contrôle cloud.

Pour mettre à jour un contrôle cloud après avoir reçu une notification, vous devez mettre à jour les frameworks déployés qui incluent le contrôle cloud. Pour obtenir des instructions, consultez Mettre à jour un framework intégré vers une version plus récente.

Supprimer un contrôle cloud personnalisé

Supprimez un contrôle cloud lorsqu'il n'est plus nécessaire. Vous ne pouvez supprimer que les contrôles cloud que vous créez. Vous ne pouvez pas supprimer les contrôles cloud intégrés.

Console

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

    Accéder

  2. Sélectionnez votre organisation ou votre projet.

  3. Dans l'onglet Configurer, cliquez sur Commandes cloud. La liste des commandes cloud disponibles s'affiche.

  4. Cliquez sur le contrôle cloud que vous souhaitez supprimer.

  5. Sur la page Détails du contrôle cloud, vérifiez que le contrôle cloud n'est pas inclus dans un framework. Si nécessaire, modifiez le framework pour supprimer le contrôle cloud.

  6. Cliquez sur Supprimer.

  7. Dans la fenêtre Supprimer, lisez le message. Saisissez Delete, puis cliquez sur Confirmer.

CLI

Pour supprimer un contrôle cloud personnalisé, exécutez la commande gcloud compliance-manager cloud-controls delete :

gcloud compliance-manager cloud-controls delete CLOUD_CONTROL \
   --location=LOCATION \
   --organization=ORGANIZATION

Remplacez les valeurs suivantes :

  • CLOUD_CONTROL : nom du contrôle cloud

  • ORGANIZATION : ID d'organisation

  • LOCATION : région dans laquelle le contrôle cloud est stocké

Par exemple, pour supprimer un contrôle cloud nommé restrict-resource-locations, exécutez la commande suivante :

gcloud compliance-manager cloud-controls delete \
   restrict-resource-locations \
   --organization=3589215982 \
   --location=global

Pour en savoir plus, consultez gcloud compliance-manager cloud-controls delete.

Mappage des détecteurs Security Health Analytics aux contrôles cloud

Le tableau suivant montre comment les contrôles cloud de Compliance Manager sont mappés aux détecteurs Security Health Analytics.

Adresses

Adresses

Catégorie de résultat dans Security Health Analytics Nom du contrôle cloud dans le Gestionnaire de conformité

ACCESS_TRANSPARENCY_DISABLED

Activer Access Transparency

ADMIN_SERVICE_ACCOUNT

Bloquer les rôles d'administrateur pour les comptes de service

ALLOWED_INGRESS_ORG_POLICY

Configurer la contrainte de règle d'administration "Paramètres d'entrée autorisés pour Cloud Run"

ALLOWED_VPC_EGRESS_ORG_POLICY

Configurer la contrainte de règle d'administration "Paramètres de sortie VPC autorisés pour Cloud Run"

ALLOYDB_AUTO_BACKUP_DISABLED

Activer les sauvegardes automatiques AlloyDB sur un cluster

ALLOYDB_BACKUPS_DISABLED

Activer les sauvegardes AlloyDB sur le cluster

ALLOYDB_CMEK_DISABLED

Activer les CMEK pour les clusters AlloyDB

ALLOYDB_LOG_ERROR_VERBOSITY

Définir l'option de verbosité des erreurs dans les journaux pour les instances AlloyDB

ALLOYDB_LOG_MIN_ERROR_STATEMENT_SEVERITY

Définir l'option d'instruction d'erreur minimale des journaux pour les instances AlloyDB

ALLOYDB_LOG_MIN_MESSAGES

Définir l'option "log_min_messages" pour les instances AlloyDB

ALLOYDB_PUBLIC_IP

Bloquer les adresses IP publiques pour les instances de cluster AlloyDB

ALLOYDB_SSL_NOT_ENFORCED

Activer le chiffrement SSL sur les instances AlloyDB

ALPHA_CLUSTER_ENABLED

Désactiver les fonctionnalités alpha sur les clusters GKE

API_KEY_APIS_UNRESTRICTED

Restreindre les clés API aux API requises uniquement

API_KEY_APPS_UNRESTRICTED

Définir une restriction d'application sur les clés API

API_KEY_EXISTS

Exiger une clé API existante

API_KEY_NOT_ROTATED

Exiger la rotation de la clé API

AUDIT_CONFIG_NOT_MONITORED

Configurer des métriques et des alertes de journal pour les modifications de la journalisation d'audit

AUDIT_LOGGING_DISABLED

Implémenter la journalisation des événements pour les services Google Cloud

AUTO_BACKUP_DISABLED

Activer les sauvegardes automatiques pour les bases de données Cloud SQL

AUTO_REPAIR_DISABLED

Activer la réparation automatique pour les clusters GKE

AUTO_UPGRADE_DISABLED

Activer la mise à niveau automatique sur les clusters GKE

BIGQUERY_TABLE_CMEK_DISABLED

Activer les CMEK pour les tables BigQuery

BINARY_AUTHORIZATION_DISABLED

Exiger l'autorisation binaire sur un cluster

BUCKET_CMEK_DISABLED

Activer les CMEK pour les buckets Cloud Storage

BUCKET_IAM_NOT_MONITORED

Configurer des métriques de journaux et des alertes pour les modifications de stratégie IAM Cloud Storage

BUCKET_LOGGING_DISABLED

Exiger la journalisation des buckets Cloud Storage

BUCKET_POLICY_ONLY_DISABLED

Activer l'accès uniforme au niveau du bucket sur les buckets Cloud Storage

CLOUD_ASSET_API_DISABLED

Activer le service d'inventaire des éléments cloud

CLUSTER_LOGGING_DISABLED

Activer Cloud Logging sur les clusters GKE

CLUSTER_MONITORING_DISABLED

Activer Cloud Monitoring sur les clusters GKE

CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED

Activer l'accès privé à Google sur une instance

CLUSTER_SECRETS_ENCRYPTION_DISABLED

Activer le chiffrement sur les clusters GKE

CLUSTER_SHIELDED_NODES_DISABLED

Activer les nœuds GKE protégés sur un cluster

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

Bloquer les clés SSH au niveau du projet sur les instances Compute Engine

COMPUTE_SECURE_BOOT_DISABLED

Activer le démarrage sécurisé sur les instances Compute Engine

COMPUTE_SERIAL_PORTS_ENABLED

Bloquer les ports série pour les instances Compute Engine

CONFIDENTIAL_COMPUTING_DISABLED

Activer Confidential Computing pour les instances Compute Engine

COS_NOT_USED

Exiger Container-Optimized OS pour un cluster GKE

CUSTOM_ORG_POLICY_VIOLATION

Appliquer une règle d'administration personnalisée

CUSTOM_ROLE_NOT_MONITORED

Configurer des métriques de journaux et des alertes pour les modifications de rôles personnalisés

DATAPROC_CMEK_DISABLED

Exiger des clés CMEK sur les clusters Dataproc

DATAPROC_IMAGE_OUTDATED

Utiliser les dernières versions d'image sur les clusters Dataproc

DATASET_CMEK_DISABLED

Activer les CMEK pour les ensembles de données BigQuery

DEFAULT_NETWORK

Utiliser des réseaux avec des règles de pare-feu personnalisées

DEFAULT_SERVICE_ACCOUNT_USED

Utiliser des comptes de service personnalisés pour les instances Compute Engine

DISABLE_VPC_EXTERNAL_IP_V6_ORG_POLICY

Configurer la règle d'administration "Désactiver l'utilisation d'IPv6 à l'extérieur du VPC"

DISABLE_VPC_INTERNAL_IP_V6_ORG_POLICY

Configurer la règle d'administration "Désactiver l'utilisation d'IPv6 à l'extérieur du VPC"

DISABLED_SERIAL_PORT_ACCESS_ORG_POLICY

Configurer la règle d'administration "Désactiver la journalisation du port série des VM sur Stackdriver"

DISK_CMEK_DISABLED

Activer les CMEK sur les disques persistants Compute Engine

DISK_CSEK_DISABLED

Activer les CSEK sur les disques persistants Compute Engine

DNS_LOGGING_DISABLED

Activer la surveillance des journaux Cloud DNS

DNSSEC_DISABLED

Activer DNSSEC pour Cloud DNS

EGRESS_DENY_RULE_NOT_SET

Appliquer la règle de pare-feu "Refuser tout le trafic sortant"

ESSENTIAL_CONTACTS_NOT_CONFIGURED

Définir les contacts essentiels

FIREWALL_NOT_MONITORED

Configurer des métriques et des alertes de journal pour les modifications apportées au pare-feu du réseau VPC

FIREWALL_RULE_LOGGING_DISABLED

Activer la journalisation des règles de pare-feu

FLOW_LOGS_DISABLED

Activer les journaux de flux de sous-réseau

FULL_API_ACCESS

Limiter l'accès aux API Google Cloud pour les instances Compute Engine

HTTP_LOAD_BALANCER

Appliquer le trafic HTTPS uniquement

INSTANCE_OS_LOGIN_DISABLED

Exiger OS Login sur les instances Compute Engine

INTEGRITY_MONITORING_DISABLED

Activer la surveillance de l'intégrité sur les clusters GKE

INTRANODE_VISIBILITY_DISABLED

Activer la visibilité intranœud pour les clusters GKE

IP_ALIAS_DISABLED

Activer la plage d'alias d'adresses IP pour les clusters GKE

IP_FORWARDING_ENABLED

Empêcher le transfert IP sur les instances Compute Engine

KMS_KEY_NOT_ROTATED

Définir la période de rotation des clés Cloud KMS

KMS_PROJECT_HAS_OWNER

Non disponible

KMS_PUBLIC_KEY

Bloquer l'accès public aux clés Cloud KMS

KMS_ROLE_SEPARATION

Appliquer la séparation des tâches

LEGACY_AUTHORIZATION_ENABLED

Bloquer l'ancienne autorisation sur les clusters GKE

LEGACY_METADATA_ENABLED

Désactiver les anciens points de terminaison du serveur de métadonnées sur Compute Engine

LEGACY_NETWORK

Ne pas utiliser d'anciens réseaux

LOAD_BALANCER_LOGGING_DISABLED

Activer la journalisation de l'équilibreur de charge

LOCKED_RETENTION_POLICY_NOT_SET

Verrouiller les règles de conservation des buckets de stockage

LOG_NOT_EXPORTED

Configurer des récepteurs de journaux

MASTER_AUTHORIZED_NETWORKS_DISABLED

Activer les réseaux autorisés du plan de contrôle sur les clusters GKE

MFA_NOT_ENFORCED

Appliquer la validation en deux étapes

NETWORK_NOT_MONITORED

Configurer des métriques de journaux et des alertes pour les modifications du réseau VPC

NETWORK_POLICY_DISABLED

Activer les règles de réseau sur les clusters GKE

NODEPOOL_BOOT_CMEK_DISABLED

Activer les CMEK sur les disques de démarrage des pools de nœuds GKE

NODEPOOL_SECURE_BOOT_DISABLED

Activer le démarrage sécurisé pour les nœuds GKE protégés

NON_ORG_IAM_MEMBER

Bloquer les autorisations IAM pour les utilisateurs externes

OBJECT_VERSIONING_DISABLED

Activer la gestion des versions d'objets sur les buckets

OPEN_CASSANDRA_PORT

Bloquer l'accès générique aux ports Cassandra

OPEN_CISCOSECURE_WEBSM_PORT

Bloquer l'accès générique aux ports CiscoSecure/WebSM

OPEN_DIRECTORY_SERVICES_PORT

Bloquer l'accès générique aux ports des services d'annuaire

OPEN_DNS_PORT

Bloquer l'accès générique aux ports DNS à partir de toutes les adresses IP

OPEN_ELASTICSEARCH_PORT

Bloquer l'accès générique aux ports Elasticsearch depuis toutes les adresses IP

OPEN_FIREWALL

Bloquer les règles de pare-feu trop permissives

OPEN_FTP_PORT

Bloquer l'accès générique aux ports FTP

OPEN_GROUP_IAM_MEMBER

Restreindre les comptes Google Groupes ouverts

OPEN_HTTP_PORT

Bloquer l'accès générique aux ports HTTP

OPEN_LDAP_PORT

Bloquer l'accès générique aux ports LDAP

OPEN_MEMCACHED_PORT

Bloquer l'accès générique aux ports Memcached

OPEN_MONGODB_PORT

Bloquer l'accès générique aux ports MongoDB

OPEN_MYSQL_PORT

Bloquer l'accès générique aux ports MySQL

OPEN_NETBIOS_PORT

Bloquer l'accès générique aux ports NetBIOS depuis toutes les adresses IP

OPEN_ORACLEDB_PORT

Bloquer l'accès générique aux ports de base de données Oracle

OPEN_POP3_PORT

Bloquer l'accès générique aux ports du serveur POP3

OPEN_POSTGRESQL_PORT

Bloquer l'accès générique aux ports du serveur PostgreSQL à partir de toutes les adresses IP

OPEN_RDP_PORT

Bloquer l'accès générique au port RDP

OPEN_REDIS_PORT

Bloquer l'accès générique aux ports du serveur Redis depuis toutes les adresses IP

OPEN_SMTP_PORT

Bloquer l'accès générique aux ports du serveur SMTP

OPEN_SSH_PORT

Bloquer l'accès générique au port SSH

OPEN_TELNET_PORT

Bloquer l'accès générique aux ports du serveur Telnet

ORG_POLICY_CONFIDENTIAL_VM_POLICY

Activer la contrainte de règle d'administration Confidential VM

ORG_POLICY_LOCATION_RESTRICTION

Appliquer la restriction d'emplacement

OS_LOGIN_DISABLED

Activer OS Login pour toutes les instances au niveau du projet

OVER_PRIVILEGED_ACCOUNT

Utiliser des comptes de service avec le moins de privilèges pour les clusters GKE

OVER_PRIVILEGED_SCOPES

Créer des clusters GKE avec des droits limités

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

Bloquer les rôles d'administrateur pour les comptes de service

OWNER_NOT_MONITORED

Configurer des métriques de journal et des alertes pour les attributions et les modifications du rôle de propriétaire de projet

POD_SECURITY_POLICY_DISABLED

Activer les PodSecurityPolicies pour les clusters GKE

PRIMITIVE_ROLES_USED

Limiter les anciens rôles IAM

PRIVATE_CLUSTER_DISABLED

Activer les clusters privés pour GKE

PRIVATE_GOOGLE_ACCESS_DISABLED

Activer l'accès privé à Google pour les sous-réseaux VPC

PUBLIC_BUCKET_ACL

Limiter l'accès public aux buckets Cloud Storage

PUBLIC_COMPUTE_IMAGE

Restreindre l'accès public aux images Compute

PUBLIC_DATASET

Limiter l'accès public aux ensembles de données BigQuery

PUBLIC_IP_ADDRESS

Restreindre les adresses IP publiques aux instances Compute Engine

PUBLIC_LOG_BUCKET

Limiter l'accès public aux buckets Cloud Storage

PUBLIC_SQL_INSTANCE

Limiter l'accès public aux instances de base de données Cloud SQL

PUBSUB_CMEK_DISABLED

Chiffrer un sujet Pub/Sub avec une CMEK

REDIS_ROLE_USED_ON_ORG

Attribuer un rôle Redis au niveau du projet

RELEASE_CHANNEL_DISABLED

Abonner un cluster GKE à un canal de publication

REQUIRE_OS_LOGIN_ORG_POLICY

Activer OS Login

REQUIRE_VPC_CONNECTOR_ORG_POLICY

Définir la sortie du connecteur VPC pour les fonctions Cloud Run

RESTRICT_AUTHORIZED_NETWORKS_ORG_POLICY

Activer la contrainte de règle d'administration "Limiter le nombre de réseaux autorisés sur les instances Cloud SQL"

ROUTE_NOT_MONITORED

Configurer des métriques et des alertes de journal pour les modifications de route VPC

RSASHA1_FOR_SIGNING

Éviter RSASHA1 pour la signature DNSSEC

S3_BUCKET_ACCESS_LOGGING_ENABLED_CLOUDTRAIL_S3_BUCKET

Non disponible

S3_BUCKETS_CONFIGURED_BLOCK_PUBLIC_ACCESS_BUCKET_AND_ACCOUNT_SETTINGS

Non disponible

SERVICE_ACCOUNT_KEY_NOT_ROTATED

Exiger la rotation des clés de compte de service

SERVICE_ACCOUNT_ROLE_SEPARATION

Appliquer la séparation des tâches

SHIELDED_VM_DISABLED

Activer les VM protégées pour les instances Compute Engine

SKIP_DEFAULT_NETWORK_CREATION_ORG_POLICY

Limiter la création de réseaux par défaut pour les instances Compute Engine

SQL_CMEK_DISABLED

Activer les CMEK pour les bases de données Cloud SQL

SQL_CONTAINED_DATABASE_AUTHENTICATION

Désactiver le flag d'authentification de la base de données autonome pour SQL Server

SQL_CROSS_DB_OWNERSHIP_CHAINING

Désactiver l'option de chaînage de propriété entre les bases de données pour SQL Server

SQL_EXTERNAL_SCRIPTS_ENABLED

Désactiver l'option de scripts externes pour SQL Server

SQL_INSTANCE_NOT_MONITORED

Configurer des métriques et des alertes de journal pour les modifications de configuration Cloud SQL

SQL_LOCAL_INFILE

Désactiver l'option de fichier INFILE local pour MySQL

SQL_LOG_CHECKPOINTS_DISABLED

Activer l'option "Log Checkpoints" pour PostgreSQL

SQL_LOG_CONNECTIONS_DISABLED

Activer l'option de journalisation des connexions pour PostgreSQL

SQL_LOG_DISCONNECTIONS_DISABLED

Activer l'option de journalisation des déconnexions pour PostgreSQL

SQL_LOG_DURATION_DISABLED

Activer l'option de durée de journalisation pour l'instance PostgreSQL

SQL_LOG_ERROR_VERBOSITY

Activer l'option de niveau de détail des erreurs de journal pour PostgreSQL

SQL_LOG_EXECUTOR_STATS_ENABLED

Désactiver l'option de statistiques de l'exécuteur de journaux pour PostgreSQL

SQL_LOG_HOSTNAME_ENABLED

Désactiver l'option de journalisation du nom d'hôte pour PostgreSQL

SQL_LOG_LOCK_WAITS_DISABLED

Activer l'option d'attente des verrouillages de journaux pour l'instance PostgreSQL

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

Désactiver l'option d'instruction de durée minimale de journalisation pour PostgreSQL

SQL_LOG_MIN_ERROR_STATEMENT

Activer l'option d'instruction d'erreur minimale des journaux pour PostgreSQL

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

Activer l'option d'instruction d'erreur minimale des journaux pour PostgreSQL

SQL_LOG_MIN_MESSAGE

Activer l'option "log_min_messages" pour PostgreSQL

SQL_LOG_PARSER_STATS_ENABLED

Désactiver l'option de statistiques de l'analyseur de journaux pour PostgreSQL

SQL_LOG_PLANNER_STATS_ENABLED

Désactiver l'option de statistiques du planificateur de journaux pour PostgreSQL

SQL_LOG_STATEMENT

Activer l'option d'instruction de journalisation pour PostgreSQL

SQL_LOG_STATEMENT_STATS_ENABLED

Désactiver l'option de journalisation des statistiques d'instructions pour PostgreSQL

SQL_LOG_TEMP_FILES

Activer l'option "Log Temp Files" pour l'instance PostgreSQL

SQL_NO_ROOT_PASSWORD

Appliquer un mot de passe pour la base de données MySQL

SQL_PUBLIC_IP

Bloquer les adresses IP publiques pour les instances Cloud SQL

SQL_REMOTE_ACCESS_ENABLED

Désactiver l'option d'accès à distance pour SQL Server

SQL_SKIP_SHOW_DATABASE_DISABLED

Activer l'option "Ignorer l'affichage de la base de données" pour MySQL

SQL_TRACE_FLAG_3625

Activer l'indicateur de base de données de trace 3625 pour SQL Server

SQL_USER_CONNECTIONS_CONFIGURED

Ne pas utiliser l'option "connexions utilisateur" pour SQL Server

SQL_USER_OPTIONS_CONFIGURED

Ne pas utiliser l'option "user options" pour SQL Server

SQL_WEAK_ROOT_PASSWORD

Appliquer des mots de passe sécurisés pour les instances Cloud SQL

SSL_NOT_ENFORCED

Appliquer SSL pour toutes les connexions de base de données entrantes

TOO_MANY_KMS_USERS

Limiter à trois le nombre d'utilisateurs des clés cryptographiques KMS

UNIFORM_BUCKET_LEVEL_ACCESS_ORG_POLICY

Définir l'accès uniforme au niveau du bucket pour les buckets Cloud Storage

USER_MANAGED_SERVICE_ACCOUNT_KEY

Restreindre les clés de compte de service gérées par l'utilisateur

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

Activer les journaux de flux pour un sous-réseau VPC

WEAK_SSL_POLICY

Restreindre les règles SSL non sécurisées pour les instances Compute Engine

WEB_UI_ENABLED

Ne pas utiliser l'UI Web Kubernetes

WORKLOAD_IDENTITY_DISABLED

Activer Workload Identity Federation for GKE sur les clusters

Étapes suivantes