Neste documento, descrevemos como validar sua infraestrutura como código (IaC) contra a organização políticas e Análise de integridade da segurança de detecção definidos na sua organização do Google Cloud. A IaC permite criar e gerenciar seus recursos de nuvem usando linguagens como o Terraform para que seja implantar os recursos usando um fluxo de trabalho de desenvolvimento. O recurso de validação da IaC oferece suporte apenas às políticas da organização e aos detectores da Análise de integridade da segurança.
A validação da IaC permite determinar se o recurso novo ou modificado de serviço violam as políticas existentes aplicadas às suas Recursos do Google Cloud (por exemplo, cluster, bucket ou instância). Você pode defina essas políticas usando ferramentas de de segurança, mas a IaC o recurso de validação analisa seu código em relação a todas as políticas da organização do Google Cloud. Validação de IaC ajuda os desenvolvedores a identificar e corrigir problemas de segurança na IaC dos recursos antes de aplicá-los ao seu ambiente do Google Cloud.
O recurso de validação da IaC oferece suporte aos arquivos de plano do Terraform. É possível validar suas plano do Terraform usando a Google Cloud CLI ou integre a validação do Cloud Build, Jenkins ou GitHub Actions de desenvolvimento de software.
Antes de começar
Conclua estas tarefas para começar a usar a validação de IaC.
Ative o nível Premium ou Enterprise do Security Command Center
Verifique se o nível Premium ou Enterprise do Security Command Center é ativado no nível da organização.
Ativar o Security Command Center ativa os securityposture.googleapis.com
e
APIs do securitycentermanagement.googleapis.com
.
Configurar permissões
-
Verifique se você tem os seguintes papéis na organização: Security Posture Shift-Left Validator
Verificar os papéis
-
No console do Google Cloud, abra a página IAM.
Acessar IAM - Selecionar uma organização.
-
Na coluna Principal, encontre a linha que contém seu endereço de e-mail.
Caso seu endereço de e-mail não esteja nessa coluna, isso significa que você não tem papéis.
- Na coluna Papel da linha com seu endereço de e-mail, verifique se a lista de papéis inclui os papéis necessários.
Conceder os papéis
-
No console do Google Cloud, abra a página IAM.
Acesse o IAM - Selecionar uma organização.
- Clique em CONCEDER ACESSO.
- No campo Novos participantes, digite seu endereço de e-mail.
- Na lista Selecionar um papel, escolha um.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Save.
-
Para mais informações sobre permissões de validação de IaC, consulte IAM para nível de organização ativações.
Configurar a Google Cloud CLI
É possível usar as amostras da CLI do gcloud nesta página de um dos seguintes ambientes de desenvolvimento:
-
Cloud Shell: para usar um terminal on-line com a CLI gcloud já configurada, ative o Cloud Shell.
Na parte de baixo desta página, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. A inicialização da sessão pode levar alguns segundos.
-
Shell local: para usar a CLI da gcloud em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud.
Para configurar a CLI da gcloud para usar a representação da 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
Para mais informações, consulte Representação da conta de serviço.
Defina suas políticas
Defina as políticas da organização e os detectores da Análise de integridade da segurança. Para definir usando uma postura de segurança, conclua as tarefas em Criar e implantar um de segurança.
crie seu código do Terraform
Use os fluxos de trabalho e as ferramentas do desenvolvedor para criar um arquivo do Terraform que inclua os recursos do Google Cloud que você quer criar ou modificar.
Considere o seguinte:
- Preencha o atributo pai (o projeto, a pasta ou a organização) de cada recurso ou ativo na configuração do Terraform.
- Modifique recursos e políticas separadamente. O A API não oferece suporte à validação de arquivos do Terraform plan que modificam tanto e as políticas deles ao mesmo tempo.
- Use apenas políticas e tipos de recursos compatíveis. Para uma lista de dispositivos com suporte tipos de recursos e políticas, consulte Políticas e tipos de recursos compatíveis com a validação de IaC.
- Analise as limitações da validação de IaC.
- Não inclua informações sensíveis, como senhas ou outros informações identificáveis no arquivo do Terraform plan. Se a validação encontrar campos marcados como confidenciais nas alterações de recurso, o são removidos.
Depois de criar o código do Terraform, execute o relatório de validação de IaC. Você usar a CLI gcloud, Cloud Build, Jenkins ou GitHub Ações.
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 o provedor Terraform versão 5.5 ou posterior. Se necessário, faça o upgrade para a versão mais recente do provedor do Google:
terraform init -upgrade
Converta o arquivo do Terraform plan 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 Terraform arquivo de plano de serviço.TF_PLAN_JSON_FILENAME
: o nome do arquivo que contém 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
Substitua:
PARENT
: a organização do Google Cloud no para criar o relatório de validação de IaC. O formato éorganizations/ORGANIZATION_ID/locations/LOCATION
:LOCATION
églobal
.TF_PLAN_JSON_FILENAME
: o caminho para o arquivo JSON que contenha o plano de IaC que você quer validar.
Por exemplo, para criar um relatório de validação de IaC na seção
organizations/3589215982/locations/global
organização com 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 a validação do IAC no relatório. Para informações sobre a operação, consulte Conferir informações sobre uma operação de implantação de postura.
A seguir
- Revise o tutorial de amostra.
- Integre a validação da IaC ao fluxo de trabalho do Cloud Build.
- Integre a validação de IaC às ações do GitHub (link em inglês) ou ao projeto do Jenkins (link em inglês).
- Gerencie sua postura de segurança.