Crea una zona de destino con Stellar Engine

El proceso de implementación de la zona de destino consta de etapas. Durante cada etapa, debes agregar ciertas variables al archivo terraform.tfvars. Después de completar una etapa, Terraform escribe un archivo STAGE_NAME-tfvar.auto.tfvars.json en el bucket de Cloud Storage que se crea en la etapa inicial. Las etapas posteriores usan Google Cloud CLI para copiar los archivos y un archivo de proveedor que suplanta a una cuenta de servicio específica de la etapa en la nueva carpeta de la etapa.

Según la cantidad de arrendatarios, la implementación de un entorno nuevo tarda aproximadamente una hora.

Requisitos previos

Completa las siguientes tareas antes de implementar Stellar Engine.

Configura Google Cloud

Completa los siguientes pasos para configurar Google Cloud:

  1. Selecciona una Google Cloud organización. Si creas una organización nueva, accede a la Consola del administrador de Google al menos una vez.

  2. Configura varios administradores para implementar la separación de obligaciones. En un entorno de prueba, un usuario puede tener roles de administrador para todos los recursos. Sin embargo, en un entorno de producción, necesitas varios administradores. Para obtener más información, consulta Cómo configurar el recurso de tu organización.

  3. Habilita la verificación en 2 pasos para todas las cuentas con privilegios.

  4. Inhabilita Cloud Shell. Cloud Shell no es compatible con los entornos de IL4 o IL5, y un administrador de Google Workspace debe inhabilitarlo.

  5. Si no tienes un proyecto, crea un proyecto de arranque.

    Crea un proyecto.

  6. Completa las siguientes tareas en el proyecto de arranque:

    1. Habilitar la facturación Para obtener instrucciones, consulta Verifica el estado de facturación de tus proyectos.

    2. Habilita la API de Cloud Monitoring.

      Roles necesarios para habilitar las APIs

      Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

      Habilitar la API

  7. Verifica que tu cuenta de usuario sea de administrador avanzado.

  8. Si tu organización no tiene un esquema de clasificación de datos, crea uno.

Asignar roles

Asigna los siguientes roles de Identity and Access Management a la cuenta de usuario que implementará Stellar Engine.

  1. Asegúrate de tener los siguientes roles en la organización: Administrador de Transparencia de acceso, administrador de Assured Workloads, administrador de cuentas de facturación, administrador de registros, administrador de la organización, administrador de políticas de la organización, administrador de roles de la organización, propietario, creador de proyectos, administrador de cuentas de servicio, creador de tokens de cuentas de servicio y administrador de etiquetas

    Verifica los roles

    1. En la consola de Google Cloud , dirígete a la página IAM.

      Ir a IAM
    2. Selecciona la organización.
    3. En la columna Principal, busca todas las filas que te identifiquen a ti o a un grupo en el que se te incluya. Para saber en qué grupos estás incluido, comunícate con tu administrador.

    4. Para todas las filas en las que se te especifique o se te incluya, verifica la columna Rol para ver si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la consola de Google Cloud , dirígete a la página IAM.

      Ir a IAM
    2. Selecciona la organización.
    3. Haz clic en Otorgar acceso.
    4. 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.

    5. Haz clic en Seleccionar un rol y, luego, busca el rol.
    6. Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega uno más.
    7. Haz clic en Guardar.

Si vas a comenzar con una organización nueva, puedes ejecutar la siguiente secuencia de comandos que se encuentra en la carpeta fast/stages-aw/0-bootstrap para aplicar los roles:

./setIAM.sh EMAIL_ADDRESS ORGANIZATION_ID

Reemplaza lo siguiente:

  • EMAIL_ADDRESS: La dirección de correo electrónico de tu cuenta de usuario.
  • ORGANIZATION_ID: Es el ID de tu organización.

Esta secuencia de comandos agrega todos los roles, excepto los de Administrador de cuentas de facturación y administrador avanzado.

Agrega grupos y configura servicios

  1. Agrega los siguientes grupos, como se describe en el paso 2. Usuarios y grupos:

    • gcp-billing-admins@DOMAIN
    • gcp-developers@DOMAIN
    • gcp-devops@DOMAIN
    • gcp-hybrid-connectivity-admins@DOMAIN
    • gcp-logging-monitoring-admins@DOMAIN
    • gcp-logging-monitoring-viewers@DOMAIN
    • gcp-organization-admins@DOMAIN
    • gcp-vpc-network-admins@DOMAIN
    • gcp-security-admins@DOMAIN

    Ir a la etapa 2

    Reemplaza DOMAIN por tu FQDN.

    Si se te solicita, omite el paso del proveedor de identidad.

    Es posible que Google cambie los nombres de los grupos predeterminados. Puedes crear un grupo de forma manual si no se encuentra en la guía de configuración.

  2. Habilita las APIs de Assured Workloads, BigQuery, Facturación de Cloud, Cloud Logging, Cloud KMS, IAM, Pub/Sub, Resource Manager, Service Account Credentials, Service Usage y servicio de Política de la organización.

    Roles necesarios para habilitar las APIs

    Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

    Habilitar las API

  3. También puedes usar la secuencia de comandos fast/stages-aw/0-bootstrap/enableServices.sh para habilitar los servicios.

  4. Habilita la transparencia de acceso.

  5. Si tu cuota es inferior a 13 proyectos, ve a Google Cloud Platform/API Project: Request Billing Quota Increase para solicitar 13 proyectos. Para obtener más información, consulta Visualiza y administra las cuotas.

Configura tu entorno local

Completa los siguientes pasos para configurar tu entorno local:

  1. Clona el repositorio de GitHub de Stellar Engine.
  2. Instalar el SDK de Google Cloud
  3. Actualiza tu Terraform local a una versión 1.8.1 o posterior.
  4. Instala el objeto binario jq.
  5. Autentica y configura el proyecto de arranque como el proyecto activo:

    gcloud auth login
    gcloud config set project BOOTSTRAP_PROJECT_ID
    gcloud auth application-default login
    

Modifica módulos

En la mayoría de los casos, puedes usar el repositorio sin realizar cambios. Si necesitas modificar un módulo, copia todo el módulo y usa la convención de nomenclatura <module-se> para evitar conflictos de combinación cuando se extraigan actualizaciones periódicas del repositorio de la estructura de la base de Cloud.

Ejecuta la etapa 0: Bootstrap

La etapa 0 alinea las partes existentes de la red con el estado de Terraform. La etapa 0 crea las cuentas de servicio y los proyectos de arranque iniciales de IaC. La etapa 0 está diseñada para realizar la transición desde cualquier proyecto que el usuario tenga inicialmente a un nuevo proyecto principal y migrar el estado de Terraform.

  1. Cambia el directorio a fast/stages-aw/0-bootstrap.

  2. Copia el archivo terraform.tfvars.sample con el comando siguiente:

    cp terraform.tfvars.sample terraform.tfvars
    
  3. Copia el archivo providers.tf.tmp en el archivo 0-bootstrap-providers.tf:

    cp providers.tf.tmp 0-bootstrap-providers.tf
    
  4. Actualiza la información en fast/stages-aw/0-bootstrap/terraform.tfvars:

    billing_account = {
    id = "BILLING_ACCOUNT_ID"
    }
    regions = {
    primary = "REGION"
    }
    organization = {
    domain = "DOMAIN"
    id = "ORGANIZATION_ID"
    customer_id = "CUSTOMER_ID"
    }
    outputs_location = "~/fast-config"
    prefix = "PREFIX"
    log_sinks = {
    audit-logs = {
    filter = "logName:\"/logs/cloudaudit.googleapis.com%2Factivity\" OR logName:\"/logs/cloudaudit.googleapis.com%2Fsystem_event\" OR protoPayload.metadata.@type=\"type.googleapis.com/google.cloud.audit.TransparencyLog\""
    type = "logging"
    }
    vpc-sc = {
    filter = "protoPayload.metadata.@type=\"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata\""
    type = "logging"
    }
    workspace-audit-logs = {
    filter = "logName:\"/logs/cloudaudit.googleapis.com%2Fdata_access\" and protoPayload.serviceName:\"login.googleapis.com\""
    type = "logging"
    }
    empty-audit-logs = {
    filter = ""
    type = "logging"
    }
    }
    org_policies_config = {
      constraints = {
        "ALLOWED_POLICY_MEMBER_DOMAINS" = []
        }
      }
    fast_features = {
    envs = true
    }
    assured_workloads = {
    regime = "COMPLIANCE_REGIME"
    location = "LOCATION"
    }
    bootstrap_project = "BOOTSTRAP_PROJECT_ID"
    alert_email = "ALERT_EMAIL"
    

    Reemplaza lo siguiente:

    • BILLING_ACCOUNT_ID: Es la cuenta de facturación que se usará para la implementación de los entornos. Para encontrar la información de la cuenta de facturación, consulta la consola de Google Cloud .

      Ir a Facturación

    • REGION: Es la región principal en la que se implementarán los recursos. El valor predeterminado es us-east4 para IL5 y FedRAMP.

      Para agregar una región secundaria en la que se implementarán los recursos, agrega secondary=secondary.

    • DOMAIN: Es el nombre de dominio completamente calificado (FQDN). Para ver el FQDN, ejecuta gcloud organizations list.

    • ORGANIZATION: Es el ID de la organización de laGoogle Cloud organización. Para ver el ID de la organización, ejecuta gcloud organizations list.

    • CUSTOMER_ID: Es el ID del cliente del directorio de Google Workspace. Para ver el ID, ejecuta gcloud organizations list.

    • PREFIX: Es el prefijo que se agrega a los nombres de los proyectos y los recursos que se implementan. El nombre del proyecto debe ser único a nivel global, y el prefijo debe contener un máximo de seis caracteres. Se produce un error 409 si el nombre del proyecto no es único.

    • ALLOWED_POLICY_MEMBER_DOMAINS: Si es necesario, actualiza con IDs de clientes adicionales. Para obtener más información, consulta Cómo restringir identidades con el uso compartido restringido por dominio.

    • COMPLIANCE_REGIME: Es el régimen de cumplimiento de este entorno, que puede ser IL4, IL5, FEDRAMP_HIGH o COMPLIANCE_REGIME_UNSPECIFIED. Si no deseas usar Assured Workloads, establece este valor en COMPLIANCE_REGIME_UNSPECIFIED.

    • LOCATION: Es la región de EE.UU. en la que se implementarán los recursos. No se admiten regiones dobles, como NAM9, ni continentes.

    • BOOTSTRAP_PROJECT_ID: Es el ID del proyecto de arranque que creaste en Configuración Google Cloud.

    • ALERT_EMAIL: Es la dirección de correo electrónico a la que se envían las notificaciones de alertas de registro.

  5. Ejecuta terraform init.

  6. Ejecuta terraform apply:

    terraform apply -var bootstrap_user=$(gcloud config list --format
     'value(core.account)')
    
  7. Escribe yes cuando se te solicite.

  8. Cambia a tu proyecto nuevo:

    gcloud config set project PREFIX-prod-iac-core-0
    
  9. Copia el nuevo archivo de proveedores locales de Terraform:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/0-bootstrap-providers.tf ./
    
  10. Migra el estado de local a remoto:

    terraform init --migrate-state
    
  11. Escribe yes cuando se te solicite.

  12. Ejecuta ./import.sh.

  13. Vuelve a ejecutar terraform apply. Escribe yes cuando se te solicite.

Etapa 1 de ejecución: Administración de recursos

La etapa 1 crea las diferentes carpetas, proyectos y cuentas de servicio a nivel de la organización que se usan en las etapas posteriores. Para crear el entorno, debes actualizar el archivo terraform.tfvars en fast/stages-aw/1-resman para incluir una variable tenants. Cada usuario (por ejemplo, un organismo federal específico o un grupo de desarrollo interno) obtiene su propio límite aislado y exclusivo para ejecutar sus cargas de trabajo. Cada arrendatario hereda los controles de seguridad centralizados, el perímetro de redes, las protecciones de políticas y los receptores de registros de auditoría que se crean en las etapas 0 y 2.

  1. Si usas una cuenta de facturación externa, consulta Cómo configurar la facturación cuando se usan cuentas de facturación externas.

  2. Cambia el directorio a fast/stages-aw/1-resman.

  3. Copia el archivo terraform.tfvars.sample con el comando siguiente:

    cp terraform.tfvars.sample terraform.tfvars
    
  4. Actualiza terraform.tfvars de la siguiente manera:

    tenants = {
    ten-1 = {
      admin_principal = "group:gcp-devops@DOMAIN"
      descriptive_name = "TENANT_ONE_NAME"
      locations = {
        gcs = "REGION"
        kms = "REGION"
        }
      },
    ten-2 = {
      admin_principal = "group:gcp-devops@DOMAIN"
      descriptive_name = "TENANT_TWO_NAME"
      locations = {
        gcs = "REGION"
        kms = "REGION"
        }
      }
    }
    fast_features = {
    envs = true
    }
    envs_folders = {
    Prod = {
      admin = "gcp-organization-admins@DOMAIN"
    },
    Int = {
      admin = "gcp-organization-admins@DOMAIN"
    },
    Test = {
      admin = "gcp-organization-admins@DOMAIN"
    }
    }
    

    Reemplaza lo siguiente:

    • DOMAIN: Es el nombre de dominio completamente calificado (FQDN) principal. Para ver el FQDN, ejecuta gcloud organizations list.

    • TENANT_ONE_NAME: Es el nombre del primer proyecto de arrendatario que se implementa. Usa un máximo de seis caracteres.

    • REGION: Es la región principal en la que se implementarán los recursos. El valor predeterminado es us-east4 para IL5 y FedRAMP.

    • TENANT_TWO_NAME: Es el nombre del segundo proyecto de arrendatario que se implementa. Usa un máximo de seis caracteres.

    Agrega tantas definiciones de inquilino como necesites.

  5. Copia los archivos tfvars de Cloud Storage:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/1-resman-providers.tf ./ &&
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-globals.auto.tfvars.json ./ &&
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-bootstrap.auto.tfvars.json ./
    
  6. Ejecuta terraform init.

  7. Ejecuta terraform apply. Escribe yes cuando se te solicite.

Ejecuta la etapa 2: Creación de la red

La etapa 2 incluye dos opciones de redes: una para FedRAMP High y otra para IL4 o IL5.

Configura las redes para FedRAMP High

  1. Si usas una cuenta de facturación externa, consulta Cómo configurar la facturación cuando se usan cuentas de facturación externas.

  2. Cambia el directorio a fast/stages-aw/2-networking-a-fedramp-high.

  3. Copia los archivos tfvars globales y del proveedor de los buckets de Cloud Storage:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/2-networking-providers.tf ./ && \
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-globals.auto.tfvars.json ./ && \
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-bootstrap.auto.tfvars.json ./ && \
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/1-resman.auto.tfvars.json ./
    
  4. Copia el archivo terraform.tfvars.sample con el comando siguiente:

    cp terraform.tfvars.sample terraform.tfvars
    
  5. En el archivo terraform.tfvars, actualiza las subredes personalizadas, las subredes de proxy, las reglas de firewall, los CIDR con nombre y las reglas de la política de respuesta de DNS.

  6. Ejecuta terraform init.

  7. Ejecuta terraform apply. Escribe yes cuando se te solicite.

Configura las redes para IL4 o IL5

En este paso, se implementa un par de firewalls de nueva generación (NGFW) de la serie VM de Palo Alto en la cuenta de red. Los NGFW usan la imagen de implementación de licencia adquirida por el usuario (BYOL) y requieren que uses la consola de Palo Alto para subir un código de VM y registrarlos. Para obtener más instrucciones, consulta el archivo README en la carpeta de la etapa 2-networking-b-il5-ngfw.

  1. Si usas una cuenta de facturación externa, consulta Cómo configurar la facturación cuando se usan cuentas de facturación externas.

  2. Cambia el directorio a fast/stages-aw/2-networking-b-il5-ngfw.

  3. Copia los archivos tfvars globales y del proveedor de los buckets de Cloud Storage:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/2-networking-providers.tf ./ && \
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-globals.auto.tfvars.json ./ && \
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-bootstrap.auto.tfvars.json ./ && \
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/1-resman.auto.tfvars.json ./
    
  4. Copia el archivo terraform.tfvars.sample con el comando siguiente:

    cp terraform.tfvars.sample terraform.tfvars
    
  5. En el archivo terraform.tfvars, actualiza las subredes personalizadas (incluida mgmt), las subredes de proxy, las reglas de firewall, los CIDR con nombre y las reglas de la política de respuesta de DNS.

  6. Ejecuta terraform init.

  7. Ejecuta terraform apply. Escribe yes cuando se te solicite.

    Si recibes un error sobre una cuenta de servicio o Cloud Key Management Service que no existe, en la consola, haz clic en Configuración en la cuenta de almacenamiento de PREFIX-net-vdss-host. Se generará la cuenta de servicio.

Ejecuta la etapa 3: Configuración de la cuenta de auditoría y seguridad

La etapa 3 configura los proyectos de seguridad y auditoría. El proyecto de seguridad (prod-sec-core-0) contiene Cloud KMS y puede contener Secret Manager. En el nivel IL5, la CMEK está habilitada de forma predeterminada para Compute Engine, Google Kubernetes Engine (GKE), Cloud Storage y Cloud SQL. Se aplican las siguientes restricciones de políticas de la organización:

  • gcp.restrictNonCmekServices:
    • denied_values: "compute.googleapis.com"
    • denied_values: "container.googleapis.com"
    • denied_values: "storage.googleapis.com"
    • denied_values: "sqladmin.googleapis.com"
  • gcp.restrictCmekCryptoKeyProjects: gcp.restrictCmekCryptoKeyProjects incluye una lista de proyectos que pueden usar la CMEK.

En el proyecto prod-sec-core-0, se configuran los siguientes elementos:

  • A los administradores restringidos de Cloud KMS se les otorga el rol de administrador restringido para que puedan otorgar permisos de desencriptación a otros servicios.
  • Se aprovisionan llaveros de claves de Cloud KMS en diferentes ubicaciones. Las ubicaciones del llavero de claves deben coincidir con las ubicaciones del servicio. Por ejemplo, no se puede usar un llavero de claves multirregional en un bucket de almacenamiento de una sola región.

El proyecto de auditoría contiene un bucket de registro para los registros de auditoría.

Los administradores de seguridad son responsables del proyecto de seguridad, y los auditores son responsables del proyecto de auditoría.

  1. Si usas una cuenta de facturación externa, consulta Cómo configurar la facturación cuando se usan cuentas de facturación externas.

  2. Cambia el directorio a fast/stages-aw/3-security.

  3. Copia los archivos de configuración de los buckets de Cloud Storage:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/3-security-providers.tf ./ &&
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-globals.auto.tfvars.json ./ &&
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/0-bootstrap.auto.tfvars.json ./ &&
    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/1-resman.auto.tfvars.json ./
    
  4. Ejecuta terraform init.

  5. Ejecuta terraform apply. Escribe yes cuando se te solicite.

    Si tienes problemas con las cuentas de servicio, vuelve a ejecutar terraform apply.

  6. Ejecuta ./sa_lockdown.sh para inhabilitar las cuentas de servicio que usaste durante la implementación.

Configura la facturación cuando uses cuentas de facturación externas

Si usas una cuenta de facturación externa, debes agregar el rol de administrador de la cuenta de facturación a las siguientes cuentas de servicio:

  • PREFIX-prod-resman-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Esta cuenta se crea en la etapa 0.

  • PREFIX-prod-resman-net-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Esta cuenta de servicio se crea en la etapa 1.

  • PREFIX-security-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Esta cuenta de servicio se crea en la etapa 2.

Para agregar el rol a estas cuentas de servicio, completa los pasos en Cómo acceder al panel Permisos de una cuenta de facturación de Cloud y Cómo actualizar roles y principales en el panel Permisos.

Modifica proyectos de usuarios

Realiza los siguientes pasos cuando agregues o quites proyectos de inquilinos para una implementación existente de Stellar Engine.

  1. Autentica y configura el proyecto activo:

    gcloud auth login
    gcloud config set project PREFIX-prod-iac-core-0
    gcloud auth application-default login
    
  2. Habilita las cuentas de servicio para las etapas:

    1. Cambia el directorio a fast/stages-aw/3-security.

    2. Ejecuta ./sa_lockdown.sh --enable.

  3. Aplicar la etapa 1:

    1. Cambia el directorio a fast/stages-aw/1-resman.

    2. Actualiza la información en terraform.tfvars según tus nuevos requisitos.

    3. Ejecuta terraform init.

    4. Ejecuta terraform apply. Escribe yes cuando se te solicite.

  4. Aplica la etapa 2:

    1. Cambia el directorio a una de las siguientes carpetas de red:

    2. Copia el archivo 1-resman tfvars del bucket de Cloud Storage:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/1-resman.auto.tfvars.json ./
    
    1. Ejecuta terraform init.

    2. Ejecuta terraform apply. Escribe yes cuando se te solicite.

  5. Inhabilita las cuentas de servicio para las etapas:

    1. Cambia el directorio a fast/stages-aw/3-security.

    2. Ejecuta ./sa_lockdown.sh.

Soluciona problemas

En esta sección, se describen algunos errores comunes y sus soluciones.

Error de BigQuery no utilizable en la etapa 1

Si recibes un error que indica que bigquery.googleapis.com no se puede usar en Assured Workloads, completa los siguientes pasos:

  1. En la consola, ve a la página Assured Workloads.

    Assured Workloads

  2. Selecciona la carpeta StellarEngine-COMPLIANCE_REGIME y la carpeta Networking, si corresponde.

  3. Haz clic en Revisar actualizaciones disponibles.

  4. Ve a Servicios permitidos.

  5. Haz clic en Permitir servicios para agregar las APIs de BigQuery.

  6. Si se te solicita, haz clic en para confirmar tu elección.

  7. Espera unos dos minutos y vuelve a ejecutar terraform apply:

    terraform apply -var bootstrap_user=$(gcloud config list --format 'value(core.account)')
    
  8. Escribe yes cuando se te solicite.

Tu proyecto de bootstrap pierde el acceso a tu cuenta de facturación

Si tu proyecto de inicio pierde el acceso a tu cuenta de facturación, vuelve a habilitar la facturación para tu proyecto de inicio.

Habilitar la facturación

Errores de claves de Cloud KMS

Si se producen errores de clave durante el proceso de compilación, es posible que debas habilitar las claves de forma manual. Para obtener instrucciones, consulta Habilita una versión de clave.

Si recibes estos errores, espera un minuto y vuelve a ejecutar terraform apply.

En una computadora con Windows, es posible que los vínculos simbólicos no funcionen. Es posible que debas copiar archivos específicos de forma manual, en especial psc.tf y log-metric-alerts.tf durante la etapa 2.

Problemas de facturación o cuotas

Si tienes problemas con la facturación o las cuotas, verifica que tu proyecto de cuotas esté configurado. Para configurarlo, ejecuta el siguiente comando:

gcloud auth application-default set-quota-project PREFIX-prod-iac-core-0

De manera opcional, puedes usar otro proyecto.

¿Qué sigue?

  • Para obtener información sobre la configuración de seguridad adicional, consulta Estándares de seguridad de Gemini.

  • Integra una solución de SIEM, como Google Security Operations, para supervisar los recursos. Segmenta tu SIEM en un proyecto Google Cloud independiente y en una VPC independiente de la que recopila datos.