Landing-Zone mit Stellar Engine erstellen

Der Bereitstellungsprozess für die Landing Zone besteht aus Phasen. In jeder Phase müssen Sie der Datei terraform.tfvars bestimmte Variablen hinzufügen. Nachdem Sie eine Phase abgeschlossen haben, schreibt Terraform eine STAGE_NAME-tfvar.auto.tfvars.json-Datei in den Cloud Storage-Bucket, der in der ersten Phase erstellt wird. In den nachfolgenden Phasen werden die Dateien und eine Anbieterdatei, die ein phasenspezifisches Dienstkonto imitiert, mit der Google Cloud CLI in den neuen Phasenordner kopiert.

Je nach Anzahl der Mandanten dauert die Bereitstellung einer neuen Umgebung etwa eine Stunde.

Vorbereitung

Führen Sie die folgenden Aufgaben aus, bevor Sie die Stellar Engine bereitstellen.

Einrichtung von Google Cloud

Gehen Sie folgendermaßen vor, um Google Cloudeinzurichten:

  1. Wählen Sie eine Google Cloud Organisation aus. Wenn Sie eine neue Organisation erstellen, müssen Sie sich mindestens einmal in der Admin-Konsole anmelden.

  2. Konfigurieren Sie mehrere Administratoren, um die Aufgabentrennung zu implementieren. In einer Testumgebung kann ein Nutzer Administratorrollen für alle Ressourcen haben. In einer Produktionsumgebung sind jedoch mehrere Administratoren erforderlich. Weitere Informationen finden Sie unter Organisationsressource einrichten.

    , damit die neuen Berechtigungen angewendet werden.
  3. Aktivieren Sie die 2‑Faktor-Authentifizierung für alle Konten mit Berechtigungen.

  4. Cloud Shell deaktivieren Cloud Shell wird für IL4- oder IL5-Umgebungen nicht unterstützt und muss von einem Google Workspace-Administrator deaktiviert werden.

  5. Wenn Sie noch kein Projekt haben, erstellen Sie ein Bootstrap-Projekt.

    Projekt erstellen

  6. Führen Sie die folgenden Aufgaben im Bootstrap-Projekt aus:

    1. Aktivieren Sie die Abrechnung. Eine Anleitung finden Sie unter Abrechnungsstatus Ihrer Projekte prüfen.

    2. Aktivieren Sie die Cloud Monitoring API, falls sie noch nicht aktiviert ist.

      Rollen, die zum Aktivieren von APIs erforderlich sind

      Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

      API aktivieren

  7. Prüfen Sie, ob Ihr Nutzerkonto ein Super Admin ist.

  8. Wenn Ihre Organisation kein Schema zur Datenklassifizierung hat, erstellen Sie eines.

Rollen zuweisen

Weisen Sie dem Nutzerkonto, das Stellar Engine bereitstellt, die folgenden IAM-Rollen zu.

  1. Prüfen Sie, ob Sie die folgenden Rollen für die Organisation haben: Access Transparency Admin, Assured Workloads Administrator, Rechnungskontoadministrator, Logging Admin, Organisationsadministrator, Organization Policy Admin, Organization Role Administrator, Owner, Projektersteller, Service Account Admin, Service Account Token Creator, Tag Admin

    Rollen prüfen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.

    4. Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Klicken Sie auf Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

    5. Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
    6. Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
    7. Klicken Sie auf Speichern.

Wenn Sie mit einer neuen Organisation beginnen, können Sie das folgende Skript ausführen, das sich im Ordner fast/stages-aw/0-bootstrap befindet, um die Rollen anzuwenden:

./setIAM.sh EMAIL_ADDRESS ORGANIZATION_ID

Ersetzen Sie Folgendes:

  • EMAIL_ADDRESS: Die E-Mail-Adresse Ihres Nutzerkontos.
  • ORGANIZATION_ID: Ihre Organisations-ID.

Mit diesem Skript werden alle Rollen außer Rechnungskontoadministrator“ und „Super Admin“ hinzugefügt.

Gruppen hinzufügen und Dienste konfigurieren

  1. Fügen Sie die folgenden Gruppen hinzu, wie in 2 beschrieben. Nutzer und Gruppen:

    • 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

    Weiter mit Phase 2

    Ersetzen Sie DOMAIN durch Ihren FQDN.

    Überspringen Sie den Schritt mit dem Identitätsanbieter, wenn Sie dazu aufgefordert werden.

    Google kann die Standardgruppennamen ändern. Sie können eine Gruppe manuell erstellen, wenn sie nicht in der Einrichtungsanleitung enthalten ist.

  2. Aktivieren Sie die APIs für Assured Workloads, BigQuery, Cloud Billing, Cloud Logging, Cloud KMS, IAM, Pub/Sub, Resource Manager, Service Account Credentials, Service Usage und den Organisationsrichtliniendienst, falls sie noch nicht aktiviert sind.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    APIs aktivieren

  3. Sie können die Dienste auch mit dem fast/stages-aw/0-bootstrap/enableServices.sh-Script aktivieren.

  4. Access Transparency aktivieren

  5. Wenn Ihr Kontingent weniger als 13 Projekte umfasst, rufen Sie Google Cloud Platform/API Project: Request Billing Quota Increase (Google Cloud Platform-/API-Projekt: Abrechnungskontingenterhöhung anfordern) auf, um 13 Projekte anzufordern. Weitere Informationen finden Sie unter Kontingente aufrufen und verwalten.

Lokale Umgebung konfigurieren

Führen Sie die folgenden Schritte aus, um Ihre lokale Umgebung zu konfigurieren:

  1. Klonen Sie das Stellar Engine-GitHub-Repository.
  2. Installieren Sie das Google Cloud SDK.
  3. Aktualisieren Sie Ihre lokale Terraform auf Version 1.8.1 oder höher.
  4. Installieren Sie die jq-Binärdatei.
  5. Authentifizieren Sie sich und legen Sie das Bootstrap-Projekt als aktives Projekt fest:

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

Module ändern

In den meisten Fällen können Sie das Repository ohne Änderungen verwenden. Wenn Sie ein Modul ändern müssen, kopieren Sie das gesamte Modul und verwenden Sie die Namenskonvention <module-se>, um Zusammenführungskonflikte zu vermeiden, wenn regelmäßige Updates aus dem Cloud Foundation Fabric-Repository abgerufen werden.

Phase 0 ausführen: Bootstrap

In Phase 0 werden die vorhandenen Teile des Netzwerks mit dem Terraform-Zustand abgeglichen. In Phase 0 werden die ersten IaC-Bootstrap-Dienstkonten und -Projekte erstellt. Phase 0 ist für die Umstellung von einem beliebigen Projekt, das der Nutzer ursprünglich hat, auf ein neues Kernprojekt und die Migration des Terraform-Status vorgesehen.

  1. Wechseln Sie in das Verzeichnis fast/stages-aw/0-bootstrap.

  2. Kopieren Sie die Datei terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  3. Kopieren Sie die Datei providers.tf.tmp in die Datei 0-bootstrap-providers.tf:

    cp providers.tf.tmp 0-bootstrap-providers.tf
    
  4. Aktualisieren Sie die Informationen 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"
    

    Ersetzen Sie Folgendes:

    • BILLING_ACCOUNT_ID: Das Rechnungskonto, das für die Bereitstellung der Umgebungen verwendet werden soll. Die Rechnungskontoinformationen finden Sie in der Google Cloud -Konsole.

      Zur Abrechnung

    • REGION: Die primäre Region, in der Ressourcen bereitgestellt werden sollen. Der Standardwert ist us-east4 für IL5 und FedRAMP.

      Wenn Sie eine sekundäre Region hinzufügen möchten, in der Ressourcen bereitgestellt werden sollen, fügen Sie secondary=secondary hinzu.

    • DOMAIN: Der voll qualifizierte Domainname (Fully Qualified Domain Name, FQDN). Führen Sie gcloud organizations list aus, um den FQDN aufzurufen.

    • ORGANIZATION: Die Organisations-ID für dieGoogle Cloud -Organisation. Führen Sie gcloud organizations list aus, um die Organisations-ID aufzurufen.

    • CUSTOMER_ID: Die Google Workspace-Kundennummer des Verzeichnisses. Führen Sie gcloud organizations list aus, um die ID aufzurufen.

    • PREFIX: Das Präfix, das an die Namen für bereitgestellte Projekte und Ressourcen angehängt werden soll. Der Projektname muss weltweit eindeutig sein und das Präfix darf maximal sechs Zeichen enthalten. Ein 409-Fehler tritt auf, wenn der Projektname nicht eindeutig ist.

    • ALLOWED_POLICY_MEMBER_DOMAINS: Aktualisieren Sie die Liste bei Bedarf mit zusätzlichen Kunden-IDs. Weitere Informationen finden Sie unter Identitäten mit Domain-eingeschränkter Freigabe einschränken.

    • COMPLIANCE_REGIME: Das Compliance-Regime für diese Umgebung, entweder IL4, IL5, FEDRAMP_HIGH oder COMPLIANCE_REGIME_UNSPECIFIED. Wenn Sie Assured Workloads nicht verwenden möchten, legen Sie diesen Wert auf COMPLIANCE_REGIME_UNSPECIFIED fest.

    • LOCATION: Die US-Region, in der Ressourcen bereitgestellt werden sollen. Dual-Regionen wie NAM9 oder Kontinente werden nicht unterstützt.

    • BOOTSTRAP_PROJECT_ID: Die Bootstrap-Projekt-ID, die Sie in Einrichtung Google Cloud erstellt haben.

    • ALERT_EMAIL: Die E-Mail-Adresse, an die Benachrichtigungen zu Protokollierungsbenachrichtigungen gesendet werden sollen.

  5. Führen Sie terraform init aus.

  6. Führen Sie terraform apply aus.

    terraform apply -var bootstrap_user=$(gcloud config list --format
     'value(core.account)')
    
  7. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

  8. So wechseln Sie zu Ihrem neuen Projekt:

    gcloud config set project PREFIX-prod-iac-core-0
    
  9. Kopieren Sie die neue lokale Terraform-Anbieterdatei:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/0-bootstrap-providers.tf ./
    
  10. Zustand von lokal zu remote migrieren:

    terraform init --migrate-state
    
  11. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

  12. Führen Sie ./import.sh aus.

  13. Führen Sie terraform apply noch einmal aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

Phase 1: Ressourcenverwaltung

In Phase 1 werden die verschiedenen Ordner, Projekte und Dienstkonten auf Organisationsebene erstellt, die für die nachfolgenden Phasen verwendet werden. Zum Erstellen der Umgebung müssen Sie die Datei terraform.tfvars in fast/stages-aw/1-resman aktualisieren, um eine tenants-Variable einzufügen. Jeder Mandant (z. B. eine bestimmte Bundesbehörde oder interne Entwicklungsgruppe) erhält eine eigene dedizierte, isolierte Grenze für die Ausführung seiner Arbeitslasten. Jeder Mandant übernimmt die zentralisierten Sicherheitskontrollen, den Netzwerkperimeter, die Richtlinien-Guardrails und die Senken für Audit-Logs, die in Phase 0 und Phase 2 erstellt werden.

  1. Wenn Sie ein externes Abrechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung konfigurieren, wenn externe Abrechnungskonten verwendet werden.

  2. Wechseln Sie in das Verzeichnis fast/stages-aw/1-resman.

  3. Kopieren Sie die Datei terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  4. Aktualisieren Sie terraform.tfvars so:

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

    Ersetzen Sie Folgendes:

    • DOMAIN: Der primäre voll qualifizierte Domainname (FQDN). Führen Sie gcloud organizations list aus, um den FQDN aufzurufen.

    • TENANT_ONE_NAME: Der Name des ersten bereitgestellten Mandantenprojekts. Verwenden Sie maximal sechs Zeichen.

    • REGION: Die primäre Region, in der Ressourcen bereitgestellt werden sollen. Der Standardwert ist us-east4 für IL5 und FedRAMP.

    • TENANT_TWO_NAME: Der Name des zweiten bereitgestellten Mandantenprojekts. Verwenden Sie maximal sechs Zeichen.

    Fügen Sie so viele Mandantendefinitionen hinzu, wie Sie benötigen.

  5. Kopieren Sie die tfvars-Dateien aus 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. Führen Sie terraform init aus.

  7. Führen Sie terraform apply aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

Schritt 2: Netzwerk erstellen

Phase 2 umfasst zwei Netzwerkoptionen: eine für FedRAMP High und eine für IL4 oder IL5.

Netzwerk für FedRAMP High konfigurieren

  1. Wenn Sie ein externes Abrechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung konfigurieren, wenn externe Abrechnungskonten verwendet werden.

  2. Wechseln Sie in das Verzeichnis fast/stages-aw/2-networking-a-fedramp-high.

  3. Kopieren Sie die Dateien „provider“ und „global.tfvars“ aus den Cloud Storage-Buckets:

    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. Kopieren Sie die Datei terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  5. Aktualisieren Sie in der Datei terraform.tfvars die benutzerdefinierten Subnetze, Proxy-Subnetze, Firewallregeln, benannten CIDRs und DNS-Antwortrichtlinienregeln.

  6. Führen Sie terraform init aus.

  7. Führen Sie terraform apply aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

Netzwerk für IL4 oder IL5 konfigurieren

In diesem Schritt wird ein Paar von Palo Alto VM-Series Next-Generation Firewalls (NGFWs) im Netzwerk-Konto bereitgestellt. Die NGFWs verwenden das BYOL-Bereitstellungsimage (Bring Your Own License) und Sie müssen die Palo Alto-Konsole verwenden, um einen VM-Code hochzuladen und die NGFWs zu registrieren. Weitere Informationen finden Sie in der README-Datei im Ordner für die 2-networking-b-il5-ngfw-Phase.

  1. Wenn Sie ein externes Abrechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung konfigurieren, wenn externe Abrechnungskonten verwendet werden.

  2. Wechseln Sie in das Verzeichnis fast/stages-aw/2-networking-b-il5-ngfw.

  3. Kopieren Sie die Dateien „provider“ und „global.tfvars“ aus den Cloud Storage-Buckets:

    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. Kopieren Sie die Datei terraform.tfvars.sample:

    cp terraform.tfvars.sample terraform.tfvars
    
  5. Aktualisieren Sie in der Datei terraform.tfvars die benutzerdefinierten Subnetze (einschließlich „mgmt“), Proxy-Subnetze, Firewallregeln, benannten CIDRs und DNS-Antwortrichtlinienregeln.

  6. Führen Sie terraform init aus.

  7. Führen Sie terraform apply aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

    Wenn Sie eine Fehlermeldung zu einem nicht vorhandenen Dienstkonto oder Cloud Key Management Service erhalten, klicken Sie in der Konsole im PREFIX-net-vdss-host-Speicherkonto auf Einstellungen. Das Dienstkonto wird generiert.

Phase 3: Sicherheits- und Auditkonto konfigurieren

In Phase 3 werden die Sicherheits- und Auditprojekte konfiguriert. Das Sicherheitsprojekt (prod-sec-core-0) enthält Cloud KMS und kann Secret Manager enthalten. In IL5 ist CMEK standardmäßig für Compute Engine, Google Kubernetes Engine (GKE), Cloud Storage und Cloud SQL aktiviert. Die folgenden Einschränkungen für Organisationsrichtlinien werden erzwungen:

  • 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 enthält eine Liste der Projekte, die CMEK verwenden können.

Im Projekt prod-sec-core-0 sind die folgenden Elemente konfiguriert:

  • Cloud KMS-Administratoren mit eingeschränkten Rechten erhalten die Rolle „Administrator mit eingeschränkten Rechten“, damit sie anderen Diensten Entschlüsselungsberechtigungen erteilen können.
  • Cloud KMS-Schlüsselbunde werden an verschiedenen Standorten bereitgestellt. Die Speicherorte der Schlüsselringe müssen mit den Dienststandorten übereinstimmen. Ein multiregionaler Schlüsselbund kann beispielsweise nicht in einem Speicher-Bucket mit einer einzelnen Region verwendet werden.

Das Audit-Projekt enthält einen Logging-Bucket für Audit-Logs.

Sicherheitsadministratoren sind für das Sicherheitsprojekt und Auditoren für das Auditprojekt verantwortlich.

  1. Wenn Sie ein externes Abrechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung konfigurieren, wenn externe Abrechnungskonten verwendet werden.

  2. Wechseln Sie in das Verzeichnis fast/stages-aw/3-security.

  3. Kopieren Sie die Konfigurationsdateien aus den Cloud Storage-Buckets:

    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. Führen Sie terraform init aus.

  5. Führen Sie terraform apply aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

    Wenn Sie ein Problem mit Dienstkonten haben, führen Sie terraform apply noch einmal aus.

  6. Führen Sie ./sa_lockdown.sh aus, um die Dienstkonten zu deaktivieren, die Sie während der Bereitstellung verwendet haben.

Abrechnung konfigurieren, wenn externe Rechnungskonten verwendet werden

Wenn Sie ein externes Rechnungskonto verwenden, müssen Sie den folgenden Dienstkonten die Rolle „Rechnungskontoadministrator“ hinzufügen:

  • PREFIX-prod-resman-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Dieses Konto wird in Phase 0 erstellt.

  • PREFIX-prod-resman-net-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Dieses Dienstkonto wird in Phase 1 erstellt.

  • PREFIX-security-0@PREFIX-prod-iac-core-0.iam.gserviceaccount.com: Dieses Dienstkonto wird in Phase 2 erstellt.

Wenn Sie die Rolle diesen Dienstkonten hinzufügen möchten, führen Sie die Schritte unter Auf das Feld „Berechtigungen“ für ein Cloud-Rechnungskonto zugreifen und Rollen und Hauptkonten im Feld „Berechtigungen“ aktualisieren aus.

Mandantenprojekte ändern

Führen Sie die folgenden Schritte aus, wenn Sie Mandantenprojekte für eine vorhandene Stellar Engine-Bereitstellung hinzufügen oder entfernen.

  1. Authentifizieren Sie sich und legen Sie das aktive Projekt fest:

    gcloud auth login
    gcloud config set project PREFIX-prod-iac-core-0
    gcloud auth application-default login
    
  2. Aktivieren Sie die Dienstkonten für die einzelnen Phasen:

    1. Wechseln Sie in das Verzeichnis fast/stages-aw/3-security.

    2. Führen Sie ./sa_lockdown.sh --enable aus.

  3. Phase 1 anwenden:

    1. Wechseln Sie in das Verzeichnis fast/stages-aw/1-resman.

    2. Aktualisieren Sie die Informationen in terraform.tfvars entsprechend Ihren neuen Anforderungen.

    3. Führen Sie terraform init aus.

    4. Führen Sie terraform apply aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

  4. Phase 2 anwenden:

    1. Wechseln Sie in einen der folgenden Netzwerkordner:

    2. Kopieren Sie die Datei 1-resman.tfvars aus dem Cloud Storage-Bucket:

    gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/tfvars/1-resman.auto.tfvars.json ./
    
    1. Führen Sie terraform init aus.

    2. Führen Sie terraform apply aus. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

  5. Deaktivieren Sie die Dienstkonten für die Phasen:

    1. Wechseln Sie in das Verzeichnis fast/stages-aw/3-security.

    2. Führen Sie ./sa_lockdown.sh aus.

Fehlerbehebung

In diesem Abschnitt werden einige häufige Fehler und Lösungen beschrieben.

Fehler „BigQuery kann nicht verwendet werden“ in Phase 1

Wenn Sie die Fehlermeldung erhalten, dass bigquery.googleapis.com in Assured Workloads nicht verwendet werden kann, gehen Sie so vor:

  1. Rufen Sie in der Console die Seite „Assured Workloads“ auf.

    Assured Workloads

  2. Wählen Sie den Ordner StellarEngine-COMPLIANCE_REGIME und gegebenenfalls den Ordner „Networking“ (Netzwerk) aus.

  3. Klicken Sie auf Verfügbare Updates ansehen.

  4. Rufen Sie Zugelassene Dienste auf.

  5. Klicken Sie auf Dienste zulassen, um die BigQuery APIs hinzuzufügen.

  6. Klicken Sie bei Aufforderung auf Ja, um Ihre Auswahl zu bestätigen.

  7. Warten Sie etwa zwei Minuten und führen Sie terraform apply dann noch einmal aus:

    terraform apply -var bootstrap_user=$(gcloud config list --format 'value(core.account)')
    
  8. Geben Sie yes ein, wenn Sie dazu aufgefordert werden.

Ihr Bootstrap-Projekt verliert den Zugriff auf Ihr Rechnungskonto

Wenn Ihr Bootstrap-Projekt den Zugriff auf Ihr Rechnungskonto verliert, aktivieren Sie die Abrechnung für Ihr Bootstrap-Projekt wieder.

Abrechnung aktivieren

Cloud KMS-Schlüsselfehler

Wenn während des Build-Prozesses Schlüssel-Fehler auftreten, müssen Sie die Schlüssel möglicherweise manuell aktivieren. Eine Anleitung finden Sie unter Schlüsselversion aktivieren.

Wenn Sie diese Fehler erhalten, warten Sie etwa eine Minute und führen Sie terraform apply noch einmal aus.

Auf einem Windows-Computer funktionieren symbolische Links möglicherweise nicht. Möglicherweise müssen Sie bestimmte Dateien manuell kopieren, insbesondere psc.tf und log-metric-alerts.tf in Phase 2.

Probleme mit der Abrechnung oder dem Kontingent

Wenn Probleme mit der Abrechnung oder dem Kontingent auftreten, prüfen Sie, ob Ihr Kontingentprojekt festgelegt ist. Sie können sie mit dem folgenden Befehl festlegen:

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

Optional können Sie auch ein anderes Projekt verwenden.

Nächste Schritte

  • Weitere Informationen zur Sicherheitskonfiguration finden Sie unter Gemini-Sicherheitsstandards.

  • Binden Sie eine SIEM-Lösung wie Google Security Operations ein, um die Ressourcen zu überwachen. Segmentieren Sie Ihr SIEM in einem separaten Google Cloud Projekt und in einer separaten VPC, in der Daten erfasst werden.