Valida la IaC con las políticas de tu organización de Google Cloud

En este documento, se describe cómo validar tu infraestructura como código. (IaC) con el organización políticas y Security Health Analytics detectores 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 las funciones de procesamiento de AA, pero la IaC de validación de datos analiza tu código con 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 la IaC admite archivos de Terraform plan. 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 se activa en el 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

  1. Asegúrate de tener los siguientes roles en la organización: Security Posture Shift-Left Validator

    Verifica los roles

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM
    2. Selecciona la organización.
    3. En la columna Principal, busca la fila que tiene tu dirección de correo electrónico.

      Si tu dirección de correo electrónico no está en esa columna, no tienes ningún rol.

    4. En la columna Función de la fila con la dirección de correo electrónico, verifica si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM
    2. Selecciona la organización.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu dirección de correo electrónico.
    5. En la lista Seleccionar un rol, elige un rol.
    6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
    7. Haz clic en Guardar.

Para obtener más información sobre los permisos de validación de IaC, consulta IAM para el nivel de organización activaciones.

Configura Google Cloud CLI

En la consola de Google Cloud, activa Cloud Shell.

Activar Cloud Shell

En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

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 las políticas de la organización y los detectores de Security Health Analytics. Para definir estas políticas con una postura de seguridad, completa las tareas de Crear y implementar un postura de seguridad en la nube.

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 elementos admitidos. Para obtener una lista de los servicios tipos de recursos y políticas, consulta Tipos de recursos y políticas admitidos para la validación de la 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 GitHub Acciones.

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:

  1. 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
    
  2. 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.
  3. Crea el informe de validación de IaC:

    gcloud scc iac-validation-reports create PARENT \
      --tf-plan-file=TF_PLAN_JSON_FILENAME
    

    Reemplaza lo siguiente:

    • PARENT: La organización de Google Cloud en para crear el informe de validación de IaC. El formato es organizations/ORGANIZATION_ID/locations/LOCATION. LOCATION es global.
    • 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 con el organizations/3589215982/locations/global organización con un plan de IaC incluido en planFile.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?