Neste documento, descrevemos como validar sua infraestrutura como código (IaC) com as políticas da organização e os detectores da Análise de integridade da segurança definidos na sua organização Google Cloud . Com a IaC, é possível criar e gerenciar seus recursos de nuvem usando linguagens como o Terraform para implantar os recursos usando um fluxo de trabalho de desenvolvimento. O recurso de validação da IaC aceita apenas políticas da organização e detectores da Análise de integridade da segurança.
A validação da IaC permite determinar se as definições de recursos novas ou modificadas violam as políticas atuais aplicadas aos recursosGoogle Cloud (por exemplo, cluster, bucket ou instância). É possível definir essas políticas usando posturas de segurança, mas o recurso de validação de IaC analisa o código e o compara com as políticas efetivas definidas em posturas implantadas na sua Google Cloud organização. A validação de IaC ajuda os desenvolvedores a identificar e corrigir problemas de segurança na configuração de IaC de recursos ou ativos antes que eles sejam aplicados ao seu Google Cloud ambiente.
O recurso de validação de IaC é compatível com arquivos de plano do Terraform. É possível validar seu plano do Terraform usando a Google Cloud CLI ou integrar o processo de validação ao fluxo de trabalho de desenvolvedor do Cloud Build, Jenkins ou GitHub Actions.
Antes de começar
Conclua estas tarefas para começar a usar a validação da IaC.
Ativar o nível Security Command Center Premium ou Enterprise
Verifique se o nível Security Command Center Premium ou Enterprise está ativado no nível da organização.
Configurar permissões
-
No console do Google Cloud , acesse a página IAM.
Acessar IAM - Selecione a organização.
-
Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.
- Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.
-
No console do Google Cloud , acesse a página IAM.
Acessar IAM - Selecione a organização.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o identificador de um usuário em um pool de identidades de força de trabalho. Saiba mais em Representar usuários do pool de força de trabalho nas políticas do IAM ou entre em contato com seu administrador.
- Clique em Selecionar um papel e pesquise o papel.
- Para conceder outros papéis, adicione-os clicando em Adicionar outro papel.
- Clique em Salvar.
Verifique se você tem os seguintes papéis na organização: Validador Shift-Left do Security Posture
Verificar os papéis
Conceder os papéis
Para mais informações sobre permissões de validação da IaC, consulte IAM para ativações no nível da organização.
Configurar a Google Cloud CLI
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initPara configurar a CLI gcloud e usar a identidade temporária de conta de serviço para autenticação nas APIs do Google, em vez de suas credenciais de usuário, execute o seguinte comando:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Saiba mais em Identidade temporária de conta de serviço.
Ativar APIs
Ative as APIs Security Posture e Security Center Management.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você
criou o projeto, provavelmente já tem essa permissão com o papel de
Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de
Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin).
Saiba como conceder papéis.
Definir suas políticas
Defina as políticas da organização e os detectores da Análise de integridade da segurança. Para definir essas políticas usando uma postura de segurança, conclua as tarefas em Criar e implantar uma postura.
Criar seu código do Terraform
Use seus fluxos de trabalho e ferramentas de desenvolvedor para criar um arquivo do Terraform que inclua os recursos Google Cloud que você quer criar ou modificar.
Considere o seguinte:
- Preencha o atributo pai (projeto, pasta ou organização) de cada recurso ou ativo na configuração do Terraform.
- Modifique recursos e políticas separadamente. A API não é compatível com a validação de arquivos de plano do Terraform que modificam recursos e políticas ao mesmo tempo.
- Use apenas tipos de recursos e políticas compatíveis. Para uma lista de tipos de recursos e políticas compatíveis, consulte Tipos de recursos e políticas compatíveis com a validação de IaC.
- Revise as limitações da validação de IaC.
- Não inclua informações sensíveis, como senhas ou outras informações de identificação pessoal, no arquivo de plano do Terraform. Se o recurso de validação encontrar campos marcados como sensíveis nas mudanças de recursos, eles serão removidos.
Depois de criar o código do Terraform, você pode executar o relatório de validação de IaC. Você pode usar a CLI gcloud, o Cloud Build, o Jenkins ou o GitHub Actions.
Usar a CLI do Google Cloud para criar um relatório de validação de IaC
Para criar um relatório de validação de IaC, faça o seguinte:
Na CLI gcloud, execute
terraform init.Verifique se você está executando a versão v5.5 ou mais recente do provedor Terraform. Se necessário, faça upgrade para a versão mais recente do provedor do Google:
terraform init -upgradeConverta o arquivo 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:
TF_PLAN_FILENAME: o nome do arquivo de plano do Terraform.TF_PLAN_JSON_FILENAME: o nome do arquivo que vai conter o plano do Terraform no formato JSON.
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:
PARENT: a organização Google Cloud em que o relatório de validação de IaC será criado. O formato éorganizations/ORGANIZATION_ID/locations/LOCATION.LOCATIONéglobal.TF_PLAN_JSON_FILENAME: o caminho para o arquivo JSON que contém o plano de IaC que você quer validar.
Por exemplo, para criar um relatório de validação de IaC na organização
organizations/3589215982/locations/globalcom um plano de IaC incluído emplanFile.json, execute o seguinte comando:gcloud scc iac-validation-reports create organizations/3589215982/locations/global --tf-plan-file=planFile.json
Esse comando retorna os detalhes da operação para criar o relatório de validação de IAC. Para mais informações sobre a operação, consulte Ver informações sobre uma operação de implantação de postura.
A seguir
- Confira o tutorial de exemplo.
- Integre a validação de IaC ao seu fluxo de trabalho do Cloud Build.
- Integre a validação da IaC com suas ações do GitHub ou seu projeto do Jenkins.
- Gerencie sua postura de segurança.