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:
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.
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.
Aktivieren Sie die 2‑Faktor-Authentifizierung für alle Konten mit Berechtigungen.
Cloud Shell deaktivieren Cloud Shell wird für IL4- oder IL5-Umgebungen nicht unterstützt und muss von einem Google Workspace-Administrator deaktiviert werden.
Wenn Sie kein Projekt haben, erstellen Sie ein Bootstrap-Projekt.
Führen Sie die folgenden Aufgaben im Bootstrap-Projekt aus:
Aktivieren Sie die Abrechnung. Eine Anleitung finden Sie unter Abrechnungsstatus Ihrer Projekte prüfen.
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
Prüfen Sie, ob Ihr Nutzerkonto ein Super Admin-Konto ist.
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.
-
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
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie die Organisation aus.
-
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.
- 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
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie die Organisation aus.
- Klicken Sie auf Zugriffsrechte erteilen.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.
- Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
- Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
- 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
Fügen Sie die folgenden Gruppen hinzu, wie in 2 beschrieben. Nutzer und Gruppen:
gcp-billing-admins@DOMAINgcp-developers@DOMAINgcp-devops@DOMAINgcp-hybrid-connectivity-admins@DOMAINgcp-logging-monitoring-admins@DOMAINgcp-logging-monitoring-viewers@DOMAINgcp-organization-admins@DOMAINgcp-vpc-network-admins@DOMAINgcp-security-admins@DOMAIN
Ersetzen Sie
DOMAINdurch 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.
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 RollenWenn 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.
Sie können die Dienste auch mit dem fast/stages-aw/0-bootstrap/enableServices.sh-Script aktivieren.
Lokale Umgebung konfigurieren
Führen Sie die folgenden Schritte aus, um Ihre lokale Umgebung zu konfigurieren:
- Klonen Sie das GitHub-Repository der Stellar Engine.
- Installieren Sie das Google Cloud SDK.
- Aktualisieren Sie Ihre lokale Terraform auf Version 1.8.1 oder höher.
- Installieren Sie die jq-Binärdatei.
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.
Wechseln Sie in das Verzeichnis
fast/stages-aw/0-bootstrap.Kopieren Sie die Datei
terraform.tfvars.sample:cp terraform.tfvars.sample terraform.tfvarsKopieren Sie die Datei
providers.tf.tmpin die Datei0-bootstrap-providers.tf:cp providers.tf.tmp 0-bootstrap-providers.tfAktualisieren 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.REGION: Die primäre Region, in der Ressourcen bereitgestellt werden sollen. Der Standardwert istus-east4für IL5 und FedRAMP.Wenn Sie eine sekundäre Region hinzufügen möchten, in der Ressourcen bereitgestellt werden sollen, fügen Sie
secondary=secondaryhinzu.DOMAIN: Der voll qualifizierte Domainname (Fully Qualified Domain Name, FQDN). Führen Siegcloud organizations listaus, um den FQDN aufzurufen.ORGANIZATION: Die Organisations-ID für dieGoogle Cloud -Organisation. Führen Siegcloud organizations listaus, um die Organisations-ID aufzurufen.CUSTOMER_ID: Die Google Workspace-Kundennummer des Verzeichnisses. Führen Siegcloud organizations listaus, 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, entwederIL4,IL5,FEDRAMP_HIGHoderCOMPLIANCE_REGIME_UNSPECIFIED. Wenn Sie Assured Workloads nicht verwenden möchten, legen Sie diesen Wert aufCOMPLIANCE_REGIME_UNSPECIFIEDfest.LOCATION: Die US-Region, in der Ressourcen bereitgestellt werden sollen. Dual-Regionen wieNAM9oder 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.
Führen Sie
terraform initaus.Führen Sie
terraform applyaus.terraform apply -var bootstrap_user=$(gcloud config list --format 'value(core.account)')Geben Sie
yesein, wenn Sie dazu aufgefordert werden.Wechseln Sie zu Ihrem neuen Projekt:
gcloud config set project PREFIX-prod-iac-core-0Kopieren Sie die neue lokale Terraform-Anbieterdatei:
gcloud storage cp gs://PREFIX-prod-iac-core-outputs-0/providers/0-bootstrap-providers.tf ./Zustand von lokal zu remote migrieren:
terraform init --migrate-stateGeben Sie
yesein, wenn Sie dazu aufgefordert werden.Führen Sie
./import.shaus.Führen Sie
terraform applynoch einmal aus. Geben Sieyesein, 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.
Wenn Sie ein externes Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.
Wechseln Sie in das Verzeichnis
fast/stages-aw/1-resman.Kopieren Sie die Datei
terraform.tfvars.sample:cp terraform.tfvars.sample terraform.tfvarsAktualisieren Sie
terraform.tfvarsso: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 Siegcloud organizations listaus, 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 istus-east4fü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.
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 ./Führen Sie
terraform initaus.Führen Sie
terraform applyaus. Geben Sieyesein, 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
Wenn Sie ein externes Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.
Wechseln Sie in das Verzeichnis
fast/stages-aw/2-networking-a-fedramp-high.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 ./Kopieren Sie die Datei
terraform.tfvars.sample:cp terraform.tfvars.sample terraform.tfvarsAktualisieren Sie in der Datei
terraform.tfvarsdie benutzerdefinierten Subnetze, Proxy-Subnetze, Firewallregeln, benannten CIDRs und DNS-Antwortrichtlinienregeln.Führen Sie
terraform initaus.Führen Sie
terraform applyaus. Geben Sieyesein, 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.
Wenn Sie ein externes Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.
Wechseln Sie in das Verzeichnis
fast/stages-aw/2-networking-b-il5-ngfw.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 ./Kopieren Sie die Datei
terraform.tfvars.sample:cp terraform.tfvars.sample terraform.tfvarsAktualisieren Sie in der Datei
terraform.tfvarsdie benutzerdefinierten Subnetze (einschließlich „mgmt“), Proxy-Subnetze, Firewallregeln, benannten CIDRs und DNS-Antwortrichtlinienregeln.Führen Sie
terraform initaus.Führen Sie
terraform applyaus. Geben Sieyesein, 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.restrictCmekCryptoKeyProjectsenthä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.
Wenn Sie ein externes Rechnungskonto verwenden, lesen Sie den Abschnitt Abrechnung bei Verwendung externer Rechnungskonten konfigurieren.
Wechseln Sie in das Verzeichnis
fast/stages-aw/3-security.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 ./Führen Sie
terraform initaus.Führen Sie
terraform applyaus. Geben Sieyesein, wenn Sie dazu aufgefordert werden.Wenn Sie ein Problem mit Dienstkonten haben, führen Sie
terraform applynoch einmal aus.Führen Sie
./sa_lockdown.shaus, 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.
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 loginAktivieren Sie die Dienstkonten für die Phasen:
Wechseln Sie in das Verzeichnis
fast/stages-aw/3-security.Führen Sie
./sa_lockdown.sh --enableaus.
Phase 1 anwenden:
Wechseln Sie in das Verzeichnis
fast/stages-aw/1-resman.Aktualisieren Sie die Informationen in
terraform.tfvarsentsprechend Ihren neuen Anforderungen.Führen Sie
terraform initaus.Führen Sie
terraform applyaus. Geben Sieyesein, wenn Sie dazu aufgefordert werden.
Phase 2 anwenden:
Wechseln Sie in einen der folgenden Netzwerkordner:
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 ./Führen Sie
terraform initaus.Führen Sie
terraform applyaus. Geben Sieyesein, wenn Sie dazu aufgefordert werden.
Deaktivieren Sie die Dienstkonten für die Phasen:
Wechseln Sie in das Verzeichnis
fast/stages-aw/3-security.Führen Sie
./sa_lockdown.shaus.
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:
Rufen Sie in der Console die Seite „Assured Workloads“ auf.
Wählen Sie den Ordner
StellarEngine-COMPLIANCE_REGIMEund gegebenenfalls den Ordner „Networking“ (Netzwerk) aus.Klicken Sie auf Verfügbare Updates prüfen.
Rufen Sie Zugelassene Dienste auf.
Klicken Sie auf Dienste zulassen, um die BigQuery APIs hinzuzufügen.
Klicken Sie bei Aufforderung auf Ja, um Ihre Auswahl zu bestätigen.
Warten Sie etwa zwei Minuten und führen Sie
terraform applydann noch einmal aus:terraform apply -var bootstrap_user=$(gcloud config list --format 'value(core.account)')Geben Sie
yesein, 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.
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.
Symbolische Links funktionieren auf Windows-Computern nicht
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.