Valider votre IaC par rapport aux règles de votre organisation Google Cloud

Ce document explique comment valider votre Infrastructure as Code (IaC) par rapport à la organisation règles et Security Health Analytics détecteurs que vous avez définies dans votre organisation Google Cloud. L'IaC vous permet de créer gérer vos ressources cloud à l'aide de langages tels que Terraform, et déployer les ressources à l'aide d'un workflow de développement. Fonctionnalité de validation IaC n'est compatible qu'avec les règles d'administration et les détecteurs Security Health Analytics.

La validation de votre IaC vous permet de déterminer si votre ressource (nouvelle ou modifiée) ne respectent pas les règles existantes qui s'appliquent à votre Ressources Google Cloud (par exemple, un cluster, un bucket ou une instance) Vous pouvez définir ces stratégies à l'aide des méthodes de sécurité d'assistance, mais l'IaC de validation analyse votre code par rapport à toutes les règles organisation Google Cloud. Validation IaC permet à vos développeurs d'identifier et de résoudre les problèmes de sécurité dans l'IaC la configuration des éléments ou des ressources avant leur application environnement Google Cloud.

La fonctionnalité de validation IaC est compatible avec les fichiers de plan Terraform. Vous pouvez valider "terraform plan" à l'aide de la Google Cloud CLI, ou vous pouvez intégrer dans votre environnement de développement Cloud Build, Jenkins ou GitHub Actions le workflow de ML.

Avant de commencer

Effectuez ces tâches pour commencer à utiliser la validation IaC.

Activer le niveau Premium ou Enterprise de Security Command Center

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

L'activation de Security Command Center active les securityposture.googleapis.com et API securitycentermanagement.googleapis.com.

Configurer les autorisations

  1. Assurez-vous que vous disposez du ou des rôles suivants au niveau de l'organisation : Security Posture Shift-Left Validator

    Vérifier les rôles

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

      Accéder à IAM
    2. Sélectionnez l'organisation.
    3. Dans la colonne Compte principal, recherchez la ligne qui contient votre adresse e-mail.

      Si votre adresse e-mail ne figure pas dans cette colonne, cela signifie que vous n'avez aucun rôle.

    4. Dans la colonne Rôle de la ligne contenant votre adresse e-mail, vérifiez si la liste des rôles inclut les rôles requis.

    Attribuer les rôles

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

      Accéder à IAM
    2. Sélectionnez l'organisation.
    3. Cliquez sur Accorder l'accès.
    4. Dans le champ Nouveaux comptes principaux, saisissez votre adresse e-mail.
    5. Dans la liste Sélectinoner un rôle, sélectionnez un rôle.
    6. Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.
    7. Cliquez sur Enregistrer.

Pour en savoir plus sur les autorisations de validation IaC, consultez IAM au niveau de l'organisation ou d'activations.

Configurer la Google Cloud CLI

Vous pouvez utiliser les exemples gcloud CLI de cette page dans l'un des environnements de développement suivants :

  • Cloud Shell : pour utiliser un terminal en ligne avec gcloud CLI déjà configuré, activez Cloud Shell.

    En bas de cette page, une session Cloud Shell démarre et affiche une invite de ligne de commande. L'initialisation de la session peut prendre quelques secondes.

  • Shell local : pour utiliser gcloud CLI dans un environnement de développement local, installez et initialisez gcloud CLI.

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.

Définir vos règles

Définissez vos règles d'administration et vos détecteurs Security Health Analytics. Pour définir à l'aide d'une stratégie de sécurité, effectuez les tâches décrites dans la section Créer et déployer un de sécurité.

Créer votre code Terraform

Utilisez vos workflows et vos outils de développement pour créer un fichier Terraform qui inclut les éléments Google Cloud que vous souhaitez créer ou modifier.

Réfléchissez aux éléments suivants :

  • Renseignez l'attribut parent (projet, dossier ou organisation). de chaque ressource ou élément de la configuration Terraform.
  • Modifiez les éléments et les règles séparément. La L'API ne prend pas en charge la validation des fichiers de plan Terraform qui modifient à la fois éléments et règles en même temps.
  • Utilisez uniquement des types d'éléments et des règles compatibles. Pour obtenir la liste des règles et types d'éléments, consultez Règles et types d'éléments compatibles pour la validation IaC
  • Consultez les limites de validation IaC.
  • N'incluez pas d'informations sensibles comme des mots de passe ni d'autres informations des informations identifiables dans votre fichier de plan Terraform. Si la validation rencontre des champs marqués comme sensibles dans les modifications de ressources, la sont supprimés.

Après avoir créé votre code Terraform, vous pouvez exécuter le rapport de validation IaC. Toi vous pouvez utiliser la gcloud CLI, Cloud Build, Jenkins ou GitHub les actions.

Utiliser la Google Cloud CLI pour créer un rapport de validation IaC

Pour créer un rapport de validation IaC, procédez comme suit:

  1. Dans la gcloud CLI, exécutez terraform init.

    Vérifiez que vous exécutez la version 5.5 ou ultérieure du fournisseur Terraform. Si , effectuez une mise à niveau vers la dernière version du fournisseur Google:

    terraform init -upgrade
    
  2. Convertissez le fichier de plan Terraform au format JSON:

    terraform plan -out TF_PLAN_FILENAME
    terraform show -json TF_PLAN_FILENAME > TF_PLAN_JSON_FILENAME.json
    

    Remplacez les éléments suivants :

    • TF_PLAN_FILENAME: nom de l'instance Terraform fichier de plan.
    • TF_PLAN_JSON_FILENAME: nom du fichier contiendra le plan Terraform au format JSON.
  3. Créez le rapport de validation de l'IaC:

    gcloud scc iac-validation-reports create PARENT \
      --tf-plan-file=TF_PLAN_JSON_FILENAME
    

    Remplacez les éléments suivants :

    • PARENT: organisation Google Cloud pour créer le rapport de validation IaC. Le format est le suivant : organizations/ORGANIZATION_ID/locations/LOCATION LOCATION est global.
    • TF_PLAN_JSON_FILENAME: chemin d'accès au fichier JSON contenant le plan IaC que vous souhaitez valider.

    Par exemple, pour créer un rapport de validation de l'IaC dans la section organizations/3589215982/locations/global organisation avec un forfait IaC inclus dans planFile.json, exécutez la commande suivante:

    gcloud scc iac-validation-reports create organizations/3589215982/locations/global --tf-plan-file=planFile.json
    

    Cette commande renvoie les détails de l'opération pour créer la validation IAC . Pour obtenir des informations sur l'opération, consultez Affichez les informations concernant une opération de déploiement de stratégie.

Étape suivante