Use o plug-in Google Analyze Code Security para Jenkins (em inglês) 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 recursos do Google Cloud .
Para mais informações sobre a validação de IaC, consulte Validar sua IaC em relação às políticas da sua organização Google Cloud .
A validação de IaC só funciona com projetos independentes do Jenkins.
Antes de começar
Conclua estas tarefas para começar a usar a validação de IaC com o Jenkins.
Ativar o nível Premium ou Enterprise do Security Command Center
Verifique se o nível Premium ou Enterprise do Security Command Center está ativado no nível da organização.
Ao ativar o Security Command Center, as APIs securityposture.googleapis.com
e securitycentermanagement.googleapis.com
são ativadas.
Criar uma conta de serviço
Crie uma conta de serviço que possa ser usada com o plug-in do Google Analyze Code Security para Jenkins.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Security Posture Shift-Left Validator role to the service account.
To grant the role, find the Select a role list, then select Security Posture Shift-Left Validator.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
Para mais informações sobre permissões de validação de IaC, consulte IAM para ativações no nível da organização.
Definir suas políticas
Defina suas políticas da organização e 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 Manage Jenkins > Manage Plugins.
- Na guia Disponível, pesquise google-analyze-code-security.
- Conclua as etapas de instalação.
- Clique em Manage Jenkins > Configure System.
- Na seção Segurança do código do Google Analyze, clique em Adicionar credencial.
- Em ID da organização, insira o ID da organização Google Cloudque inclui os recursos do Terraform que você quer criar ou 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 freestyle do Jenkins, acesse a página Configuration.
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 init
Crie um arquivo de plano do Terraform.
terraform plan -out=TF_PLAN_FILE
Substitua
TF_PLAN_FILE
pelo 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_FILE
Substitua
TF_PLAN_JSON_FILE
pelo nome do arquivo de plano do Terraform, no formato JSON. Por exemplo,mytfplan.json
.
Adicionar o plug-in ao seu projeto do Jenkins
- No console do Jenkins, no projeto freestyle do Jenkins, acesse a página Configuration.
- Em Etapas de build, clique em Adicionar etapa de build > Executar verificação de código durante o build.
- Digite o ID da sua organização.
- Forneça o caminho para o arquivo de plano do Terraform no formato JSON.
Opcional: defina os critérios de falha da 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 quantas questões de cada gravidade são permitidas e como elas são agregadas (AND ou OR).
Clique em Falha na violação de recurso.
Se quiser que a build falhe apenas se o número de problemas de todos os níveis de gravidade for atingido, selecione AND. Se quiser que a build falhe quando o número de problemas de qualquer nível de gravidade for atingido, selecione OR. Por exemplo, se quiser que a build falhe quando 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 da falha do build.
Se você não quiser especificar um critério de falha, selecione Ignorar violação de recurso.
Clique em Salvar.
Agora você pode executar o build para validar o arquivo de plano do Terraform.
Ver 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 ID do recurso do plano do Terraform que violou a regra.
- Se o build falhar, 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.