Convalida il tuo IaC in base ai criteri dell'organizzazione Google Cloud

Questo documento descrive come convalidare la tua infrastruttura come codice (IaC) rispetto a organizzazione norme e Security Health Analytics rilevatori che hai definito nella tua organizzazione Google Cloud. IaC consente di creare e gestire gestire le risorse cloud utilizzando linguaggi come Terraform, il deployment delle risorse usando un flusso di lavoro di sviluppo. La funzione di convalida IaC supporta solo i criteri dell'organizzazione e i rilevatori di Security Health Analytics.

La convalida di IaC ti consente di determinare se la risorsa nuova o modificata le definizioni violano le norme esistenti applicate ai tuoi Risorse Google Cloud (ad esempio cluster, bucket o istanza). Puoi definire questi criteri utilizzando le le posture, ma IaC di convalida analizza il codice in base a tutti i criteri presenti dell'organizzazione Google Cloud. Convalida IaC aiuta gli sviluppatori a identificare e risolvere eventuali problemi di sicurezza nell'IaC degli asset o delle risorse prima che vengano applicati ai tuoi nell'ambiente Google Cloud.

La funzionalità di convalida IaC supporta i file del piano Terraform. Puoi convalidare il tuo Piano Terraform utilizzando Google Cloud CLI oppure puoi integrare nel tuo sviluppatore di azioni Cloud Build, Jenkins o GitHub nel tuo flusso di lavoro.

Prima di iniziare

Completa queste attività per iniziare a utilizzare la convalida IaC.

Attiva il livello Premium o Enterprise di Security Command Center

Verifica che il livello Premium o Enterprise di Security Command Center viene attivato a livello di organizzazione.

L'attivazione di Security Command Center abilita securityposture.googleapis.com e securitycentermanagement.googleapis.com API.

Configurare le autorizzazioni

  1. Assicurati di disporre dei seguenti ruoli nell'organizzazione: Security Posture Shift-Left Validator

    Verifica i ruoli

    1. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM
    2. Seleziona l'organizzazione.
    3. Nella colonna Entità, individua la riga contenente il tuo indirizzo email.

      Se il tuo indirizzo email non è in questa colonna, significa che non disponi di alcun ruolo.

    4. Nella colonna Ruolo per la riga contenente il tuo indirizzo email, controlla se l'elenco dei ruoli include quelli richiesti.

    Concedi i ruoli

    1. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM
    2. Seleziona l'organizzazione.
    3. Fai clic su Concedi l'accesso.
    4. Nel campo Nuove entità, inserisci il tuo indirizzo email.
    5. Nell'elenco Seleziona un ruolo, scegli un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ciascun ruolo aggiuntivo.
    7. Fai clic su Salva.

Per ulteriori informazioni sulle autorizzazioni di convalida IaC, consulta IAM per livello di organizzazione attivazioni.

Configura Google Cloud CLI

Nella console Google Cloud, attiva Cloud Shell.

Attiva Cloud Shell

Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

Per configurare gcloud CLI in modo da utilizzare la rappresentazione degli account di servizio per l'autenticazione Le API di Google, invece delle credenziali utente, esegui il comando seguente:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Per ulteriori informazioni, vedi Furto d'identità degli account di servizio.

Definisci i criteri

Definisci i criteri dell'organizzazione e i rilevatori di Security Health Analytics. Per definire utilizzando una strategia di sicurezza, completa le attività in Creare eseguire il deployment della postura.

Crea il tuo codice Terraform

Usa i flussi di lavoro e gli strumenti per sviluppatori per creare un file Terraform che includa gli asset Google Cloud che vuoi creare o modificare.

Considera quanto segue:

  • Compila l'attributo padre (il progetto, la cartella o l'organizzazione) di ogni risorsa o asset nella configurazione di Terraform.
  • Modifica gli asset e le norme separatamente. La L'API non supporta la convalida dei file del piano Terraform che modificano entrambi asset e norme.
  • Utilizza solo tipi di asset e norme supportati. Per un elenco delle i tipi di risorse e le norme, consulta Tipi di asset supportati e norme per la convalida IaC.
  • Consulta le limitazioni per la convalida IaC.
  • Non includere informazioni sensibili come password o altri dati personali identificabili nel file del piano Terraform. Se la convalida rileva campi contrassegnati come sensibili nelle modifiche apportate alle risorse, campi vengono rimossi.

Dopo aver creato il codice Terraform, puoi eseguire il report di convalida IaC. Tu puoi utilizzare gcloud CLI, Cloud Build, Jenkins o GitHub Azioni.

Utilizza Google Cloud CLI per creare un report di convalida IaC

Per creare un report di convalida IaC, completa quanto segue:

  1. In gcloud CLI, esegui terraform init.

    Verifica di eseguire il provider Terraform versione 5.5 o successiva. Se necessario, esegui l'upgrade alla versione più recente del provider Google:

    terraform init -upgrade
    
  2. Converti il file del piano Terraform in formato JSON:

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

    Sostituisci quanto segue:

    • TF_PLAN_FILENAME: il nome di Terraform del piano di controllo.
    • TF_PLAN_JSON_FILENAME: il nome del file che conterrà il piano Terraform in formato JSON.
  3. Crea il report di convalida IaC:

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

    Sostituisci quanto segue:

    • PARENT: l'organizzazione Google Cloud in per creare il report Convalida IaC. Il formato è organizations/ORGANIZATION_ID/locations/LOCATION. LOCATION è global.
    • TF_PLAN_JSON_FILENAME: il percorso del file JSON contenente il piano IaC da convalidare.

    Ad esempio, per creare un report di convalida IaC nel organizations/3589215982/locations/global organizzazione con un piano IaC incluso in planFile.json, esegui questo comando:

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

    Questo comando restituisce i dettagli dell'operazione per la creazione della convalida IAC report. Per ottenere informazioni sull'operazione, consulta Visualizza le informazioni su un'operazione di deployment della postura.

Passaggi successivi