Landing-Zone mit Stellar Engine erstellen

Der Prozess für die Bereitstellung der Landing Zone besteht aus Phasen. In jeder Phase müssen Sie der terraform.tfvars-Datei 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 Stellar Engine bereitstellen.

Einrichtung von Google Cloud

Führen Sie die folgenden Schritte aus, 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.

  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 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. Cloud Monitoring API aktivieren.

      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-Konto ist.

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

Rollen zuweisen

Weisen Sie dem Nutzerkonto, mit dem Stellar Engine bereitgestellt wird, die folgenden IAM-Rollen (Identity and Access Management) 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 mit Ausnahme von 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 im Einrichtungsleitfaden enthalten ist.

  2. Aktivieren Sie die APIs Assured Workloads, BigQuery, Cloud Billing, Cloud Logging, Cloud KMS, IAM, Pub/Sub, Resource Manager, Service Account Credentials, Service Usage und Organisationsrichtliniendienst.

    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-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 GitHub-Repository der Stellar Engine.
  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 Merge-Konflikte 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-Status abgeglichen. In Phase 0 werden die ersten IaC-Bootstrap-Dienstkonten und -Projekte erstellt. Phase 0 ist für die Umstellung von dem Projekt vorgesehen, das der Nutzer ursprünglich hat, auf ein neues Kernprojekt und für die Migration des Terraform-Status.

  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 domainbeschrä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 unter 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. 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 Richtlinienvorgaben und die Senken für Audit-Logs, die in Phase 0 und Phase 2 erstellt werden.

  1. Wenn Sie ein externes Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.

  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 (Fully Qualified Domain Name, 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.

Phase 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 Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.

  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 2-networking-b-il5-ngfw.

  1. Wenn Sie ein externes Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.

  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 Audit-Projekte 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 eingeschränkte Administratorrolle, damit sie anderen Diensten Entschlüsselungsberechtigungen gewähren 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 Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.

  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 Abrechnungskonten 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, folgen Sie der Anleitung unter Auf das Feld „Berechtigungen“ für ein Cloud-Rechnungskonto zugreifen und Rollen und Hauptkonten im Feld „Berechtigungen“ aktualisieren.

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 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 eine 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 prüfen.

  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 in Phase 2 bestimmte Dateien manuell kopieren, insbesondere psc.tf und log-metric-alerts.tf.

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 ein anderes Projekt verwenden.

Nächste Schritte

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

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