Puedes usar el complemento Google Analyze Code Security para Jenkins para validar la infraestructura como código (IaC) que forma parte de tu proyecto de Jenkins. La validación de la IaC te permite determinar si tus definiciones de recursos de Terraform violan las políticas de la organización existentes y los detectores de Security Health Analytics que se aplican a tus recursos de Google Cloud.
Para obtener más información sobre la validación de la IaC, consulta Valida la IaC con las políticas de la organización de Google Cloud.
La validación de IaC solo funciona con Jenkins freestyle proyectos.
Antes de comenzar
Completa estas tareas para comenzar a usar la validación de IaC con Jenkins.
Activa el nivel Premium o Enterprise de Security Command Center
Verifica que el Nivel Premium o Enterprise de Security Command Center se activa a nivel de la organización.
La activación de Security Command Center habilita el securityposture.googleapis.com
y
APIs de securitycentermanagement.googleapis.com
.
Crea una cuenta de servicio
Crea una cuenta de servicio que puedas usar para el complemento Google Analyze Code Security de 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 obtener más información sobre los permisos de validación de IaC, consulta IAM para el nivel de organización activaciones.
Define tus políticas
Define las políticas de tu organización y los detectores de Security Health Analytics. Para definir estas políticas con una postura de seguridad, completa las tareas de Crea e implementa una postura.
Instala y configura el complemento
- En la consola de Jenkins, haz clic en Manage Jenkins > Manage Plugins.
- En la pestaña Available, busca google-analyze-code-security.
- Completa los pasos de instalación.
- Haz clic en Administrar Jenkins > Configurar sistema.
- En la sección Google Analyze Code Security, haz clic en Agregar credencial.
- En ID de la organización, ingresa el ID de la organización para el ID de Google Cloud. organización que incluya los recursos de Terraform que deseas crear o modificar.
- En Credencial de Security Command Center, agrega la clave de la cuenta de servicio.
- Prueba la conexión para verificar las credenciales de la cuenta de servicio.
- Haz clic en Guardar.
Crea tu archivo JSON de Terraform plan
Crea tu código de Terraform. Para obtener instrucciones, consulta Crea tu código de Terraform.
Instala el complemento de Terraform para Jenkins.
En la consola de Jenkins, en tu proyecto de estilo libre de Jenkins, ve a la página Configuration.
Haz clic en Administración del código fuente.
En URL del repositorio, ingresa la URL del código de Terraform que creaste.
Haz clic en Build steps.
Agrega los siguientes pasos:
Inicializa Terraform mediante este comando:
terraform init
Crea un archivo de plan de Terraform.
terraform plan -out=TF_PLAN_FILE
Reemplaza
TF_PLAN_FILE
por el nombre del archivo de plan de Terraform. Por ejemplo,myplan.tfplan
Convierte el archivo del plan al formato JSON:
terraform show -no-color -json TF_PLAN_FILE > TF_PLAN_JSON_FILE
Reemplaza
TF_PLAN_JSON_FILE
por el nombre de Terraform plan, en formato JSON. Por ejemplo,mytfplan.json
Agrega el complemento a tu proyecto de Jenkins
- En la consola de Jenkins, en tu proyecto de estilo libre de Jenkins, dirígete a Página Configuración
- En Pasos de compilación, haz clic en Agregar paso de compilación > Realizar análisis de código durante la compilación.
- Ingresa el ID de tu organización.
- Proporciona la ruta de acceso al archivo de plan de Terraform en formato JSON.
Configura los criterios de error de compilación (opcional). Los criterios de fracaso se basan en la cantidad de problemas críticos, de gravedad alta, media y baja que la IaC de análisis de validación. Puedes especificar la cantidad de problemas de cada gravedad están permitidos y cómo se agregan los problemas (ya sea Y o O).
Haz clic en Error en incumplimiento de activo.
Si deseas que la compilación falle solo si el recuento de problemas de todas se alcanza el nivel de gravedad, selecciona Y. Si deseas que la compilación falle si se alcanza el recuento de problemas de cualquier nivel de gravedad, selecciona O. Por ejemplo, si deseas que la compilación falle si encuentra un problema grave o uno de gravedad alta, establece el valor agregado en O.
Indica la cantidad de problemas en los diferentes niveles de gravedad que deseas permitir antes de que falle la compilación.
Si no quieres especificar un criterio de error, selecciona Ignorar recurso. Incumplimiento.
Haz clic en Guardar.
Ahora puedes ejecutar la compilación para validar tu archivo de plan de Terraform.
Consulta el informe de incumplimientos de IaC
En la consola de Jenkins, haz clic en el flujo de trabajo más reciente de tu compilación.
Haz clic en Estado. Los siguientes archivos HTML están disponibles como artefactos de compilación:
- Si se ejecutó el complemento, se mostrará el informe de incumplimientos (
GoogleAnalyzeCodeSecurity_ViolationSummary.html
).
El informe agrupa los incumplimientos por gravedad. En la sección de incumplimientos, se describe qué regla no se cumplió y el ID del activo del plan de Terraform que incumplió la regla.
- Si la compilación falla, se mostrará un informe de resumen de errores.
- Si se ejecutó el complemento, se mostrará el informe de incumplimientos (
Resuelve cualquier incumplimiento en tu código de Terraform antes de aplicarlo.
¿Qué sigue?
- Consulta el complemento Google Analyze Code Security.