Valide a sua IaC em relação às políticas da organização Google Cloud

Este documento descreve como validar a sua infraestrutura como código (IaC) em relação às políticas da organização e aos detetores do Security Health Analytics que definiu na sua Google Cloud organização. A IaC permite-lhe criar e gerir os seus recursos na nuvem através de linguagens como o Terraform, para que possa implementar os recursos através de um fluxo de trabalho de desenvolvimento. A funcionalidade de validação de IaC suporta apenas políticas da organização e detetores do Security Health Analytics.

A validação da IaC permite-lhe determinar se as definições de recursos novos ou modificados violam as políticas existentes aplicadas aos seus recursos (por exemplo, cluster, contentor ou instância).Google Cloud Pode definir estas políticas através de posturas de segurança, mas a funcionalidade de validação de IaC analisa o código e compara-o com as políticas eficazes definidas em posturas implementadas na sua organização. Google Cloud A validação de IaC ajuda os seus programadores a identificar e corrigir quaisquer problemas de segurança na configuração de IaC de recursos antes de serem aplicados ao seu ambienteGoogle Cloud .

A funcionalidade de validação de IaC suporta ficheiros de plano do Terraform. Pode validar o seu plano do Terraform através da Google Cloud CLI ou integrar o processo de validação no seu fluxo de trabalho de programador do Cloud Build, Jenkins ou GitHub Actions.

Antes de começar

Conclua estas tarefas para começar a usar a validação de IaC.

Ative o nível Premium ou o nível Enterprise do Security Command Center

Verifique se o nível Premium ou nível Enterprise do Security Command Center está ativado ao nível da organização.

A ativação do Security Command Center ativa as APIs securityposture.googleapis.com e securitycentermanagement.googleapis.com.

Configure as autorizações

  1. Make sure that you have the following role or roles on the organization: Security Posture Shift-Left Validator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the organization.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione a organização.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.

    Para mais informações sobre as autorizações de validação de IaC, consulte o artigo IAM para ativações ao nível da organização.

    Configure a CLI do Google Cloud

    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.

    Para configurar a CLI gcloud para usar a representação de contas de serviço para autenticar em APIs Google, em vez das suas credenciais de utilizador, execute o seguinte comando:

    gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

    Para mais informações, consulte o artigo Roubo de identidade de contas de serviço.

    Defina as suas políticas

    Defina as suas políticas organizacionais e os detetores do Security Health Analytics. Para definir estas políticas através de uma postura de segurança, conclua as tarefas em Crie e implemente uma postura.

    Crie o seu código Terraform

    Use os seus fluxos de trabalho e ferramentas de programador para criar um ficheiro Terraform que inclua os Google Cloud recursos que quer criar ou modificar.

    Considere o seguinte:

    • Preencha o atributo principal (o projeto, a pasta ou a organização) de todos os recursos ou recursos no ficheiro de configuração do Terraform.
    • Modificar recursos e políticas separadamente. A API não suporta a validação de ficheiros de planos do Terraform que modificam ativos e políticas em simultâneo.
    • Use apenas tipos de recursos e políticas suportados. Para ver uma lista dos tipos de recursos e políticas compatíveis, consulte o artigo Tipos de recursos e políticas compatíveis para validação de IaC.
    • Reveja as limitações da validação de IaC.
    • Não inclua informações confidenciais, como palavras-passe ou outras informações de identificação pessoal, no seu ficheiro de plano do Terraform. Se a funcionalidade de validação encontrar campos marcados como confidenciais nas alterações de recursos, os campos são removidos.

    Depois de criar o código do Terraform, pode executar o relatório de validação da IaC. Pode usar a CLI gcloud, o Cloud Build, o Jenkins ou as ações do GitHub.

    Use a Google Cloud CLI para criar um relatório de validação de IaC

    Para criar um relatório de validação de IaC, conclua o seguinte:

    1. Na CLI gcloud, execute terraform init.

      Verifique se está a usar a versão v5.5 ou posterior do fornecedor Terraform. Se for necessário, atualize para a versão mais recente do fornecedor Google:

      terraform init -upgrade
      
    2. Converta o ficheiro de plano do Terraform para o formato JSON:

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

      Substitua o seguinte:

      • TF_PLAN_FILENAME: o nome do ficheiro do plano do Terraform.
      • TF_PLAN_JSON_FILENAME: o nome do ficheiro que vai conter o plano do Terraform no formato JSON.
    3. Crie o relatório de validação de IaC:

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

      Substitua o seguinte:

      • PARENT: A organização na qual criar o relatório de validação de IaC. Google Cloud O formato é organizations/ORGANIZATION_ID/locations/LOCATION. LOCATION é global.
      • TF_PLAN_JSON_FILENAME: o caminho para o ficheiro JSON que contém o plano de IaC que quer validar.

      Por exemplo, para criar um relatório de validação de IaC na organização organizations/3589215982/locations/global com um plano de IaC incluído em planFile.json, execute o seguinte comando:

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

      Este comando devolve os detalhes da operação para criar o relatório de validação do IAC. Para obter informações sobre a operação, consulte o artigo Veja informações sobre uma operação de implementação de postura.

    O que se segue?