Crea una landing zone utilizzando Stellar Engine

Il processo di deployment della landing zone è costituito da fasi. Durante ogni fase, devi aggiungere determinate variabili al file terraform.tfvars. Al termine di una fase, Terraform scrive un file STAGE_NAME-tfvar.auto.tfvars.json nel bucket Cloud Storage creato nella fase iniziale. Le fasi successive utilizzano Google Cloud CLI per copiare i file e un file del provider che simula unaccount di serviziont specifico della fase nella nuova cartella della fase.

A seconda del numero di tenant, il deployment di un nuovo ambiente richiede circa un'ora.

Prerequisiti

Completa le seguenti attività prima di eseguire il deployment di Stellar Engine.

Configura Google Cloud

Completa i seguenti passaggi per configurare Google Cloud:

  1. Seleziona un' Google Cloud organizzazione. Se crei una nuova organizzazione, accedi almeno una volta alla Console di amministrazione Google.

  2. Configura più amministratori per implementare la separazione dei compiti. In un ambiente di test, un utente potrebbe avere ruoli amministrativi per tutte le risorse. Tuttavia, in un ambiente di produzione sono necessari più amministratori. Per maggiori informazioni, consulta Configurare la risorsa dell'organizzazione.

  3. Attiva la verifica in due passaggi per tutti gli account con privilegi.

  4. Disattiva Cloud Shell. Cloud Shell non è supportato per gli ambienti IL4 o IL5 e deve essere disattivato da unamministratore di Google Workspacee.

  5. Se non hai un progetto, creane uno di bootstrap.

    Creare un progetto

  6. Completa le seguenti attività nel progetto di bootstrap:

    1. Abilita la fatturazione. Per istruzioni, vedi Verifica lo stato di fatturazione dei tuoi progetti.

    2. Attiva l'API Cloud Monitoring.

      Ruoli richiesti per abilitare le API

      Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

      Abilitare l'API

  7. Verifica che il tuo account utente sia un super amministratore.

  8. Se la tua organizzazione non ha uno schema di classificazione dei dati, creane uno.

Assegna i ruoli

Assegna i seguenti ruoli Identity and Access Management all'account utente che esegue il deployment di Stellar Engine.

  1. Assicurati di disporre dei seguenti ruoli nell'organizzazione: Amministratore Access Transparency, Amministratore Assured Workloads, Amministratore account di fatturazione, Amministratore logging, Amministratore organizzazione, Amministratore criteri dell'organizzazione, Amministratore ruolo organizzazione, Proprietario, Autore progetto, Amministratore service account, Autore token service account, Amministratore tag

    Controlla i ruoli

    1. Nella console Google Cloud vai alla pagina IAM.

      Vai a IAM
    2. Seleziona l'organizzazione.
    3. Nella colonna Entità, trova tutte le righe che identificano te o un gruppo di cui fai parte. Per scoprire a quali gruppi appartieni, contatta il tuo amministratore.

    4. Per tutte le righe che ti specificano o ti includono, controlla la colonna Ruolo per verificare se l'elenco dei ruoli include i ruoli richiesti.

    Concedi i ruoli

    1. Nella console Google Cloud vai alla pagina IAM.

      Vai a IAM
    2. Seleziona l'organizzazione.
    3. Fai clic su Concedi l'accesso.
    4. Nel campo Nuove entità, inserisci il tuo identificatore dell'utente. In genere si tratta dell'indirizzo email di un Account Google.

    5. Fai clic su Seleziona un ruolo, quindi cerca il ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo successivo.
    7. Fai clic su Salva.

Se stai iniziando con una nuova organizzazione, puoi eseguire il seguente script che si trova nella cartella fast/stages-aw/0-bootstrap per applicare i ruoli:

./setIAM.sh EMAIL_ADDRESS ORGANIZATION_ID

Sostituisci quanto segue:

  • EMAIL_ADDRESS: l'indirizzo email del tuo account utente.
  • ORGANIZATION_ID: l'ID organizzazione.

Questo script aggiunge tutti i ruoli, tranne Amministratore account di fatturazione e Super amministratore.

Aggiungere gruppi e configurare servizi

  1. Aggiungi i seguenti gruppi, come descritto nel punto 2. Utenti e gruppi:

    • 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

    Vai alla fase 2

    Sostituisci DOMAIN con il tuo FQDN.

    Se richiesto, salta il passaggio del provider di identità.

    Google potrebbe modificare i nomi dei gruppi predefiniti. Puoi creare manualmente un gruppo se non è presente nella guida alla configurazione.

  2. Abilita le API Assured Workloads, BigQuery, fatturazione Cloud, Cloud Logging, Cloud KMS, IAM, Pub/Sub, Resource Manager, Service Account Credentials, Service Usage e servizio policy dell'organizzazione.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilita le API

  3. Puoi anche utilizzare lo script fast/stages-aw/0-bootstrap/enableServices.sh per attivare i servizi.

  4. Abilita Access Transparency.

  5. Se la tua quota è inferiore a 13 progetti, vai a Google Cloud Platform/API Project: Request Billing Quota Increase per richiedere 13 progetti. Per saperne di più, consulta Visualizzare e gestire le quote.

Configura l'ambiente locale

Completa i seguenti passaggi per configurare l'ambiente locale:

  1. Clona il repository GitHub di Stellar Engine.
  2. Installa Google Cloud SDK.
  3. Aggiorna la tua versione locale di Terraform a una versione 1.8.1 o successive.
  4. Installa il programma binario jq.
  5. Autentica e imposta il progetto di bootstrap come progetto attivo:

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

Modificare i moduli

Nella maggior parte dei casi, puoi utilizzare il repository senza modifiche. Se devi modificare un modulo, copialo interamente e utilizza la convenzione di denominazione <module-se> per evitare conflitti di unione quando vengono inseriti aggiornamenti periodici dal repository Cloud foundation fabric.

Esegui la fase 0: bootstrap

La fase 0 allinea le parti esistenti della rete allo stato di Terraform. La fase 0 crea i progetti e gli account di servizio di bootstrap IaC iniziali. Fase 0 progettata per la transizione dal progetto iniziale dell'utente a un nuovo progetto principale e per la migrazione dello stato di Terraform.

  1. Passa alla directory fast/stages-aw/0-bootstrap.

  2. Copia il file terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  3. Copia il file providers.tf.tmp nel file 0-bootstrap-providers.tf:

    cp providers.tf.tmp 0-bootstrap-providers.tf
    
  4. Aggiorna le informazioni in 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"
    

    Sostituisci quanto segue:

    • BILLING_ACCOUNT_ID: l'account di fatturazione da utilizzare per il deployment degli ambienti. Per trovare i dati dell'account di fatturazione, consulta la Google Cloud console.

      Vai a Fatturazione

    • REGION: la regione principale in cui eseguire il deployment delle risorse. Il valore predefinito è us-east4 per IL5 e FedRAMP.

      Per aggiungere una regione secondaria in cui eseguire il deployment delle risorse, aggiungi secondary=secondary.

    • DOMAIN: il nome di dominio completo (FQDN). Per visualizzare il nome di dominio completo, esegui gcloud organizations list.

    • ORGANIZATION: l'ID organizzazione per l'organizzazioneGoogle Cloud . Per visualizzare l'ID organizzazione, esegui gcloud organizations list.

    • CUSTOMER_ID: l'ID cliente della directory Google Workspace. Per visualizzare l'ID, esegui gcloud organizations list.

    • PREFIX: il prefisso da aggiungere ai nomi di progetti e risorse di cui viene eseguito il deployment. Il nome del progetto deve essere univoco a livello globale e il prefisso deve contenere un massimo di sei caratteri. Si verifica un errore 409 se il nome del progetto non è univoco.

    • ALLOWED_POLICY_MEMBER_DOMAINS: se necessario, aggiorna con ID cliente aggiuntivi. Per saperne di più, vedi Limitare le identità con la condivisione con limitazioni del dominio.

    • COMPLIANCE_REGIME: il regime di conformità per questo ambiente, uno tra IL4, IL5, FEDRAMP_HIGH e COMPLIANCE_REGIME_UNSPECIFIED. Se non vuoi utilizzare Assured Workloads, imposta questo valore su COMPLIANCE_REGIME_UNSPECIFIED.

    • LOCATION: La regione degli Stati Uniti in cui eseguire il deployment delle risorse. Le due regioni come NAM9 o i continenti non sono supportati.

    • BOOTSTRAP_PROJECT_ID: l'ID del progetto di bootstrap che hai creato in Configurazione Google Cloud.

    • ALERT_EMAIL: l'indirizzo email a cui inviare le notifiche di avviso di logging.

  5. Esegui terraform init.

  6. Esegui terraform apply:

    terraform apply -var bootstrap_user=$(gcloud config list --format
     'value(core.account)')
    
  7. Digita yes quando richiesto.

  8. Passa al nuovo progetto:

    gcloud config set project PREFIX-prod-iac-core-0
    
  9. Copia il nuovo file dei provider Terraform locali:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/0-bootstrap-providers.tf ./
    
  10. Esegui la migrazione dello stato da locale a remoto:

    terraform init --migrate-state
    
  11. Digita yes quando richiesto.

  12. Esegui ./import.sh.

  13. Esegui terraform apply un'altra volta. Digita yes quando richiesto.

Esegui la fase 1: gestione delle risorse

La fase 1 crea le diverse cartelle, i progetti e i service account a livello di organizzazione utilizzati per le fasi successive. Per creare l'ambiente, devi aggiornare il file terraform.tfvars in fast/stages-aw/1-resman in modo da includere una variabile tenants. Ogni tenant (ad esempio, un'agenzia federale specifica o un gruppo di sviluppo interno) ha il proprio confine dedicato e isolato per eseguire i propri carichi di lavoro. Ogni tenant eredita i controlli di sicurezza centralizzati, il perimetro di rete, le misure di protezione dei criteri e i sink dei log di controllo creati nella fase 0 e nella fase 2.

  1. Se utilizzi un account di fatturazione esterno, consulta Configurare la fatturazione quando si utilizzano account di fatturazione esterni.

  2. Passa alla directory fast/stages-aw/1-resman.

  3. Copia il file terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  4. Aggiorna terraform.tfvars come segue:

    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"
    }
    }
    

    Sostituisci quanto segue:

    • DOMAIN: il nome di dominio completo (FQDN) principale. Per visualizzare il nome di dominio completo, esegui gcloud organizations list.

    • TENANT_ONE_NAME: il nome del primo progetto tenant di cui è stato eseguito il deployment. Utilizza un massimo di sei caratteri.

    • REGION: la regione principale in cui eseguire il deployment delle risorse. Il valore predefinito è us-east4 per IL5 e FedRAMP.

    • TENANT_TWO_NAME: il nome del secondo progetto tenant di cui è stato eseguito il deployment. Utilizza un massimo di sei caratteri.

    Aggiungi tutte le definizioni di tenant che ti servono.

  5. Copia i file tfvars da 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. Esegui terraform init.

  7. Esegui terraform apply. Digita yes quando richiesto.

Esegui la fase 2: creazione della rete

La fase 2 include due opzioni di rete: una per FedRAMP High e una per IL4 o IL5.

Configurare il networking per FedRAMP High

  1. Se utilizzi un account di fatturazione esterno, consulta Configurare la fatturazione quando si utilizzano account di fatturazione esterni.

  2. Passa alla directory fast/stages-aw/2-networking-a-fedramp-high.

  3. Copia i file tfvars globali e del provider dai bucket 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 il file terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  5. Nel file terraform.tfvars, aggiorna le subnet personalizzate, le subnet proxy, le regole firewall, i CIDR denominati e le regole delle policy di risposta DNS.

  6. Esegui terraform init.

  7. Esegui terraform apply. Digita yes quando richiesto.

Configura il networking per IL4 o IL5

Questo passaggio esegue il deployment di una coppia di firewall di nuova generazione (NGFW) VM-Series di Palo Alto nell'account di rete. Gli NGFW utilizzano l'immagine di deployment Bring Your Own License (BYOL) e richiedono di utilizzare la console Palo Alto per caricare un codice VM e registrarli. Per ulteriori istruzioni, consulta il file README nella cartella 2-networking-b-il5-ngfw della fase.

  1. Se utilizzi un account di fatturazione esterno, consulta Configurare la fatturazione quando si utilizzano account di fatturazione esterni.

  2. Passa alla directory fast/stages-aw/2-networking-b-il5-ngfw.

  3. Copia i file tfvars globali e del provider dai bucket 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 il file terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  5. Nel file terraform.tfvars, aggiorna le subnet personalizzate (inclusa mgmt), le subnet proxy, le regole firewall, i CIDR denominati e le regole delle policy di risposta DNS.

  6. Esegui terraform init.

  7. Esegui terraform apply. Digita yes quando richiesto.

    Se ricevi un errore relativo a un account di servizio o a Cloud Key Management Service inesistente, nella console fai clic su Impostazioni nell'account di archiviazione PREFIX-net-vdss-host. Il account di servizio viene generato.

Esegui la fase 3: configura l'account di controllo e sicurezza

La fase 3 configura i progetti di sicurezza e controllo. Il progetto di sicurezza (prod-sec-core-0) contiene Cloud KMS e può contenere Secret Manager. In IL5, CMEK è abilitata per impostazione predefinita per Compute Engine, Google Kubernetes Engine (GKE), Cloud Storage e Cloud SQL. Vengono applicati i seguenti vincoli dei criteri dell'organizzazione:

  • 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 include un elenco di progetti che possono utilizzare CMEK.

Nel progetto prod-sec-core-0 sono configurati i seguenti elementi:

  • Agli amministratori con limitazioni di Cloud KMS viene concesso il ruolo di amministratore con limitazioni in modo che possano concedere autorizzazioni di decriptografia ad altri servizi.
  • Vengono eseguito il provisioning dei keyring Cloud KMS in località diverse. Le posizioni del portachiavi devono corrispondere a quelle dei servizi. Ad esempio, un keyring multiregionale non può essere utilizzato nel bucket di archiviazione di una singola regione.

Il progetto di audit contiene un bucket di logging per gli audit log.

Gli amministratori della sicurezza sono responsabili del progetto di sicurezza e i revisori sono responsabili del progetto di audit.

  1. Se utilizzi un account di fatturazione esterno, consulta Configurare la fatturazione quando si utilizzano account di fatturazione esterni.

  2. Passa alla directory fast/stages-aw/3-security.

  3. Copia i file di configurazione dai bucket 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. Esegui terraform init.

  5. Esegui terraform apply. Digita yes quando richiesto.

    Se riscontri un problema con i service account, esegui di nuovo terraform apply.

  6. Esegui ./sa_lockdown.sh per disabilitare i service account che hai utilizzato durante il deployment.

Configura la fatturazione quando utilizzi account di fatturazione esterni

Se utilizzi un account di fatturazione esterno, devi aggiungere il ruolo Amministratore account di fatturazione ai seguenti service account:

  • PREFIX-prod-resman-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Questo account viene creato nella fase 0.

  • PREFIX-prod-resman-net-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: questo account di servizio viene creato nella fase 1.

  • PREFIX-security-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: questo account di servizio viene creato nella fase 2.

Per aggiungere il ruolo a questi service account, completa la procedura descritta in Accedere al riquadro Autorizzazioni per un account di fatturazione Cloud e Aggiornare ruoli e entità nel riquadro Autorizzazioni.

Modificare i progetti tenant

Segui questi passaggi quando aggiungi o rimuovi progetti tenant per un deployment di Stellar Engine esistente.

  1. Autentica e imposta il progetto attivo:

    gcloud auth login
    gcloud config set project PREFIX-prod-iac-core-0
    gcloud auth application-default login
    
  2. Abilita i service account per gli ambienti:

    1. Passa alla directory fast/stages-aw/3-security.

    2. Esegui ./sa_lockdown.sh --enable.

  3. Applica la fase 1:

    1. Passa alla directory fast/stages-aw/1-resman.

    2. Aggiorna le informazioni in terraform.tfvars in base ai nuovi requisiti.

    3. Esegui terraform init.

    4. Esegui terraform apply. Digita yes quando richiesto.

  4. Applica la fase 2:

    1. Passa a una delle seguenti cartelle di rete:

    2. Copia il file tfvars 1-resman dal bucket Cloud Storage:

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

    2. Esegui terraform apply. Digita yes quando richiesto.

  5. Disabilita i service account per gli ambienti:

    1. Passa alla directory fast/stages-aw/3-security.

    2. Esegui ./sa_lockdown.sh.

Risoluzione dei problemi

Questa sezione descrive alcuni errori comuni e le relative soluzioni.

Errore BigQuery non utilizzabile nella fase 1

Se ricevi un errore che indica che bigquery.googleapis.com non è utilizzabile in Assured Workloads, completa i seguenti passaggi:

  1. Nella console, vai alla pagina Assured Workloads.

    Assured Workloads

  2. Seleziona la cartella StellarEngine-COMPLIANCE_REGIME e la cartella Networking, se applicabile.

  3. Fai clic su Rivedi aggiornamenti disponibili.

  4. Vai a Servizi consentiti.

  5. Fai clic su Consenti servizi per aggiungere le API BigQuery.

  6. Se richiesto, fai clic su per confermare la tua scelta.

  7. Attendi circa due minuti e poi esegui di nuovo terraform apply:

    terraform apply -var bootstrap_user=$(gcloud config list --format 'value(core.account)')
    
  8. Digita yes quando richiesto.

Il progetto di bootstrap perde l'accesso al tuo account di fatturazione

Se il progetto di bootstrap perde l'accesso al tuo account di fatturazione, riattiva la fatturazione per il progetto di bootstrap.

Abilita fatturazione

Errori della chiave Cloud KMS

Se si verificano errori delle chiavi durante il processo di compilazione, potrebbe essere necessario abilitarle manualmente. Per le istruzioni, vedi Attivare una versione della chiave.

Se ricevi questi errori, attendi circa un minuto ed esegui di nuovo terraform apply.

Su un computer Windows, i link simbolici potrebbero non funzionare. Potresti dover copiare manualmente file specifici, in particolare psc.tf e log-metric-alerts.tf durante la fase 2.

Problemi di fatturazione o relativi alle quote

Se riscontri problemi di fatturazione o di quota, verifica che il progetto di quota sia impostato. Puoi impostarlo eseguendo il seguente comando:

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

Se vuoi, puoi utilizzare un altro progetto.

Passaggi successivi

  • Per la configurazione di sicurezza aggiuntiva, consulta Standard di sicurezza di Gemini.

  • Integra una soluzione SIEM come Google Security Operations per monitorare le risorse. Segmenta il tuo SIEM in un progetto Google Cloud separato e in un VPC separato da quello in cui raccoglie i dati.