Você pode usar o plug-in Google Analyze Code Security para Jenkins para validar a infraestrutura como código (IaC) que faz parte do seu projeto do Jenkins. A validação da IaC permite determinar se as definições de recursos do Terraform violam as políticas da organização e os detectores da Análise de integridade da segurança aplicados aos seus Google Cloud recursos.
Para mais informações sobre a validação da IaC, consulte Validar sua IaC em relação às Google Cloud políticas da sua organização.
A validação da IaC só funciona com projetos de estilo livre do Jenkins.
Antes de começar
Conclua estas tarefas para começar a usar a validação da IaC com o Jenkins.
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.
Ativar o Security Command Center ativa as APIs securityposture.googleapis.com e securitycentermanagement.googleapis.com.
Criar uma conta de serviço
Crie uma conta de serviço que possa ser usada para o plug-in Google Analyze Code Security para Jenkins.
-
Verifique se você tem o papel do IAM de criador de contas de serviço
(
roles/iam.serviceAccountCreator) e o papel de administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin). Saiba como conceder papéis. -
No Google Cloud console, acesse a página Criar conta de serviço.
Acesse "Criar conta de serviço" - Selecione o projeto.
-
No campo Nome da conta de serviço, insira um nome. O Google Cloud console preenche o campo ID da conta de serviço com base nesse nome.
No campo Descrição da conta de serviço, insira uma descrição. Por exemplo,
Service account for quickstart. - Clique em Criar e continuar.
-
Conceda o papel Validador de mudança de postura de segurança à esquerda à conta de serviço.
Para conceder o papel, encontre a lista Selecionar um papel e clique em Validador de mudança de postura de segurança à esquerda.
- Clique em Continuar.
-
Clique em Concluído para terminar a criação da conta de serviço.
Não feche a janela do navegador. Você vai usá-lo na próxima etapa.
- No Google Cloud console, clique no endereço de e-mail da conta de serviço que você criou.
- Clique em Chaves.
- Clique em Adicionar chave e em Criar nova chave.
- Clique em Criar. O download de um arquivo de chave JSON é feito no seu computador.
- Clique em Fechar.
Crie uma conta de serviço:
Crie uma chave de conta de serviço:
Para mais informações sobre permissões de validação da IaC, consulte IAM para ativações no nível da organização.
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.
Instalar e configurar o plug-in
- No console do Jenkins, clique em Gerenciar Jenkins > Gerenciar plug-ins.
- Na guia Disponível, pesquise google-analyze-code-security.
- Conclua as etapas de instalação.
- Clique em Gerenciar Jenkins > Configurar sistema.
- Na seção Google Analyze Code Security, clique em Adicionar credencial.
- Em ID da organização, insira o ID da organização que inclui os recursos do Terraform que você quer criar ou Google Cloud modificar.
- Em Credencial do Security Command Center, adicione a chave da conta de serviço.
- Teste a conexão para verificar as credenciais da conta de serviço.
- Clique em Salvar.
Criar o arquivo JSON do plano do Terraform
Crie seu código do Terraform. Para instruções, consulte Criar seu código do Terraform.
Instale o plug-in do Terraform para Jenkins.
No console do Jenkins, no projeto de estilo livre do Jenkins, acesse a página Configuração.
Clique em Gerenciamento do código-fonte.
Em URL do repositório, insira o URL do código do Terraform que você criou.
Clique em Etapas de build.
Adicione as seguintes etapas:
Inicialize o Terraform:
terraform initCrie um arquivo de plano do Terraform.
terraform plan -out=TF_PLAN_FILESubstitua
TF_PLAN_FILEpelo nome do arquivo de plano do Terraform. Por exemplo,myplan.tfplan.Converta o arquivo de plano para o formato JSON:
terraform show -no-color -json TF_PLAN_FILE > TF_PLAN_JSON_FILESubstitua
TF_PLAN_JSON_FILEpelo nome do arquivo de plano do Terraform, no formato JSON. Por exemplo,mytfplan.json.
Adicionar o plug-in ao projeto do Jenkins
- No console do Jenkins, no projeto de estilo livre do Jenkins, acesse a página Configuração.
- Em Etapas de build, clique em Adicionar etapa de build > Realizar verificação de código durante o build.
- Insira o ID da organização.
- Forneça o caminho para o arquivo de plano do Terraform, no formato JSON.
Opcional: defina os critérios de falha do build. Os critérios de falha se baseiam no número de problemas de gravidade crítica, alta, média e baixa encontrados pela verificação de validação da IaC. É possível especificar quantos problemas de cada gravidade são permitidos e como eles são agregados (AND ou OR).
Clique em Falhar na violação de recursos.
Se você quiser que o build falhe somente se o número de problemas de todos os níveis de gravidade for atingido, selecione AND. Se você quiser que o build falhe se o número de problemas de qualquer nível de gravidade for atingido, selecione OR. Por exemplo, se você quiser que o build falhe se encontrar um problema crítico ou um problema de alta gravidade, defina o valor agregado como OR.
Indique o número de problemas nos vários níveis de gravidade que você quer permitir antes que o build falhe.
Se você não quiser especificar um critério de falha, selecione Ignorar violação de recursos.
Clique em Salvar.
Agora você pode executar o build para validar o arquivo de plano do Terraform.
Conferir o relatório de violação da IaC
No console do Jenkins, clique no fluxo de trabalho mais recente do seu build.
Clique em Status. Os seguintes arquivos HTML estão disponíveis como artefatos de build:
- Se o plug-in foi executado, o relatório de violação (
GoogleAnalyzeCodeSecurity_ViolationSummary.html)
O relatório agrupa as violações por gravidade. A seção de violação descreve qual regra não foi atendida e o código do recurso do plano do Terraform que violou a regra.
- Se o build falhou, um relatório de resumo de erros
- Se o plug-in foi executado, o relatório de violação (
Resolva todas as violações no código do Terraform antes de aplicá-lo.
A seguir
- Confira o plug-in Google Analyze Code Security.