En este documento, se describe cómo validar tu infraestructura como código. (IaC) con el políticas de la organización y Detectores de Security Health Analytics que definiste en tu organización de Google Cloud. La IaC te permite crear y administrar tus recursos en la nube con lenguajes como Terraform para que puedas implementar los recursos con un flujo de trabajo de desarrollo. La función de validación de IaC solo admite políticas de la organización y detectores de Security Health Analytics.
La validación de la IaC te permite determinar si tu recurso nuevo o modificado definiciones infringen las políticas existentes que se aplican a Recursos de Google Cloud (por ejemplo, clúster, bucket o instancia) Puedes definir estas políticas con posturas de seguridad, pero la función de validación de IaC analiza tu código en función de todas las políticas de tu organización de Google Cloud. Validación de la IaC ayuda a los desarrolladores a identificar y solucionar problemas de seguridad en la IaC de los recursos antes de que se apliquen a tu entorno de Google Cloud.
La función de validación de IaC admite archivos de plan de Terraform. Puedes validar tu Terraform plan usando Google Cloud CLI, o puedes integrar en tu desarrollador de Cloud Build, Jenkins o GitHub Actions en el flujo de trabajo.
Antes de comenzar
Completa estas tareas para comenzar con la validación de IaC.
Activa el nivel Premium o Enterprise de Security Command Center
Verifica que el nivel Premium o Enterprise de Security Command Center esté activado a nivel de la organización.
La activación de Security Command Center habilita el securityposture.googleapis.com
y
APIs de securitycentermanagement.googleapis.com
.
Configura los permisos
-
Make sure that you have the following role or roles on the organization: Security Posture Shift-Left Validator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona la organización.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
Para obtener más información sobre los permisos de validación de IaC, consulta IAM para activaciones a nivel de la organización.
Configura Google Cloud CLI
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
A fin de configurar la CLI de gcloud para usar la identidad temporal como cuenta de servicio y autenticarse en las APIs de Google, en lugar de tus credenciales de usuario, ejecuta el siguiente comando:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Para obtener más información, consulta Identidad temporal como cuenta de servicio.
Define tus políticas
Define tu políticas de la organización y Detectores de Security Health Analytics. Para definir estas políticas con una postura de seguridad, completa las tareas en Crea y, luego, implementa una postura.
Crea tu código de Terraform
Usa tus flujos de trabajo y herramientas de desarrollador para crear un archivo de Terraform que incluya en los recursos de Google Cloud que quieres crear o modificar.
Ten en cuenta lo siguiente:
- Propaga el atributo superior (proyecto, organización o carpeta) de cada recurso en la configuración de Terraform.
- Modifica los activos y las políticas por separado. El La API no admite la validación de los archivos terraform plan que modifican ambas recursos y políticas al mismo tiempo.
- Usa solo políticas y tipos de recursos admitidos. Para obtener una lista de los tipos de recursos y las políticas compatibles, consulta Tipos de recursos y políticas admitidos para la validación de IaC.
- Revisa las limitaciones para la validación de la IaC.
- No incluyas información sensible, como contraseñas u otros datos información de identificación personal en tu archivo terraform plan. Si la configuración atributo encuentra campos marcados como sensibles en los cambios de recursos, el y se quitan estos campos.
Después de crear el código de Terraform, puedes ejecutar el informe de validación de IaC. Tú puede usar gcloud CLI, Cloud Build, Jenkins o Acciones de GitHub.
Usar Google Cloud CLI para crear un informe de validación de IaC
Para crear un informe de validación de IaC, completa lo siguiente:
En gcloud CLI, ejecuta
terraform init
.Verifica que estés ejecutando la versión 5.5 o posterior del proveedor de Terraform. Si necesario, actualiza a la versión más reciente del proveedor de Google:
terraform init -upgrade
Convierte el archivo terraform plan al formato JSON:
terraform plan -out TF_PLAN_FILENAME terraform show -json TF_PLAN_FILENAME > TF_PLAN_JSON_FILENAME.json
Reemplaza lo siguiente:
TF_PLAN_FILENAME
: Es el nombre de Terraform plan.TF_PLAN_JSON_FILENAME
: Es el nombre del archivo que contendrá el plan de Terraform en formato JSON.
Crea el informe de validación de IaC:
gcloud scc iac-validation-reports create PARENT \ --tf-plan-file=TF_PLAN_JSON_FILENAME.json
Reemplaza lo siguiente:
PARENT
: La organización de Google Cloud en para crear el informe de validación de IaC. El formato esorganizations/ORGANIZATION_ID/locations/LOCATION
LOCATION
esglobal
.TF_PLAN_JSON_FILENAME
: Es la ruta de acceso al archivo JSON. que contenga el plan de IaC que quieras validar.
Por ejemplo, para crear un informe de validación de IaC en la organización
organizations/3589215982/locations/global
con un plan de IaC incluido enplanFile.json
, ejecuta el siguiente comando:gcloud scc iac-validation-reports create organizations/3589215982/locations/global --tf-plan-file=planFile.json
Este comando devuelve los detalles de la operación para crear la validación de IAC . Para obtener información sobre la operación, consulta Consulta información sobre una operación de implementación de posturas.
¿Qué sigue?
- Revisa el instructivo de muestra.
- Integra la validación de IaC en tu Flujo de trabajo de Cloud Build.
- Integra la validación de IaC con tus acciones de GitHub o tu proyecto de Jenkins.
- Administra tu postura de seguridad.
-