Eine Compute Engine-Instanz muss aus einem Cloud Storage-Bucket lesen und in eine BigQuery-Tabelle schreiben. Erteilen Sie die minimal erforderlichen Berechtigungen.
→Erstellen Sie ein benutzerdefiniertes Service Account. Weisen Sie ihm die Rollen `roles/storage.objectViewer` und `roles/bigquery.dataEditor` zu. Verknüpfen Sie dieses Service Account mit der Instanz.
Warum: Die Verwendung eines benutzerdefinierten Service Accounts mit spezifischen, vordefinierten Rollen vermeidet die übermäßig permissive Natur des Standard-Compute Engine Service Accounts und hält sich an das Prinzip der geringsten Rechte.
Einem Benutzer Berechtigungen zur Verwaltung von GCE-Instanzen erteilen, aber nicht zum Löschen.
→Erstellen Sie eine benutzerdefinierte IAM-Rolle. Beginnen Sie mit den Berechtigungen aus der Rolle `roles/compute.instanceAdmin.v1` und entfernen Sie die Berechtigung `compute.instances.delete`.
Warum: Benutzerdefinierte Rollen bieten die Flexibilität, einen präzisen Satz von Berechtigungen zu vergeben, wenn vordefinierte Rollen für eine spezifische Arbeitsfunktion zu breit oder zu restriktiv sind.
Ein Entwickler muss sich gemäß der Sicherheitsrichtlinie per SSH mit einer Compute Engine-Instanz verbinden, die keine externe IP-Adresse hat.
→Weisen Sie dem Entwickler die Rolle `roles/iap.tunnelResourceAccessor` zu. Er kann sich dann mit `gcloud compute ssh [INSTANCE_NAME] --tunnel-through-iap` verbinden.
Warum: Identity-Aware Proxy (IAP) TCP-Forwarding bietet eine sichere, identitätsbasierte Methode zum Zugriff auf interne Instanzen ohne Bastion-Hosts, VPNs oder öffentliche IPs.
Referenz↗
Eingehenden SSH-Verkehr (Port 22) zu bestimmten VMs nur aus dem IP-Bereich des Unternehmensbüros zulassen.
→Erstellen Sie eine VPC-Firewall-Regel mit `direction: INGRESS`, `action: ALLOW`, `protocol/ports: tcp:22`, `source ranges: [CORPORATE_IP_CIDR]` und `target tags: [z. B. "allow-ssh"]`. Wenden Sie das Tag auf die vorgesehenen VMs an.
Warum: Die Kombination von Source Ranges und Target Tags bietet eine präzise und skalierbare Methode zur Steuerung des Verkehrs. Sie schränkt sowohl ein, *wer* sich verbinden kann, als auch *womit* er sich verbinden kann.
Verhindern, dass Daten aus einem sensiblen BigQuery-Projekt außerhalb einer vertrauenswürdigen Netzwerkbegrenzung kopiert oder darauf zugegriffen werden können, selbst mit gültigen Anmeldeinformationen.
→Konfigurieren Sie VPC Service Controls. Erstellen Sie einen Dienstperimeter, der das sensible Projekt einschließt und die BigQuery API einschränkt.
Warum: VPC Service Controls erstellen einen virtuellen "Datenperimeter", der den API-Level-Zugriff steuert und eine starke Verteidigung gegen Datenexfiltration bietet, die Firewall-Regeln nicht leisten können.
Einer Drittanbieteranwendung temporären, zeitlich begrenzten Lesezugriff auf ein bestimmtes privates Objekt in einem Cloud Storage-Bucket gewähren.
→Generieren Sie eine signierte URL für das Objekt mit einer kurzen Ablaufzeit (z. B. 15 Minuten) unter Verwendung eines Service Accounts mit Leseberechtigungen.
Warum: Signierte URLs gewähren temporären, objektbezogenen Zugriff, ohne dass die Drittpartei ein Google-Konto oder IAM-Berechtigungen benötigt. Dies ist die sicherste Methode für diesen Anwendungsfall.
Ein GKE-Pod muss sicher auf Google Cloud APIs (z. B. Pub/Sub) zugreifen, ohne Service-Account-Schlüssel als Kubernetes-Secrets zu speichern.
→Aktivieren Sie Workload Identity im GKE-Cluster. Erstellen Sie ein Google Service Account (GSA) und ein Kubernetes Service Account (KSA). Binden Sie das KSA mit einer IAM-Richtlinie an das GSA. Konfigurieren Sie den Pod so, dass er das KSA verwendet.
Warum: Workload Identity ist der empfohlene, schlüssellose Weg für GKE-Anwendungen, sich bei Google Cloud-Diensten zu authentifizieren. Es ordnet KSA-Identitäten GSA-Identitäten zu, was sicherer ist als das Verwalten und Rotieren von Schlüsseldateien.
Referenz↗
Eine Organisationsrichtlinie verlangt, dass alle Daten in einem Cloud Storage-Bucket mit einem Verschlüsselungsschlüssel verschlüsselt werden, den die Organisation kontrolliert.
→Erstellen Sie einen kryptografischen Schlüssel in Cloud KMS. Geben Sie beim Erstellen des Cloud Storage-Buckets diesen Schlüssel als Customer-Managed Encryption Key (CMEK) an.
Warum: CMEK gibt Ihnen die Kontrolle über den für die Verschlüsselung verwendeten Schlüssel, einschließlich Rotation und Widerruf, während Sie weiterhin Googles verwaltete Verschlüsselungsinfrastruktur nutzen.
Mitarbeitern ermöglichen, ihre vorhandenen lokalen Active Directory-Anmeldeinformationen für den Zugriff auf Google Cloud-Ressourcen zu verwenden.
→Konfigurieren Sie Cloud Identity zur Föderation mit Active Directory unter Verwendung von SAML 2.0. Benutzer authentifizieren sich bei AD, das dann ihre Identität an Google Cloud für den Zugriff bestätigt.
Warum: Föderation ermöglicht Single Sign-On (SSO) und zentralisiert die Identitätsverwaltung im vorhandenen IdP (Active Directory), wodurch die Notwendigkeit entfällt, einen separaten Satz von Passwörtern in Google Cloud zu verwalten.
Einem externen Auftragnehmer temporären Zugriff auf ein Projekt gewähren, der nach 30 Tagen automatisch abläuft.
→Fügen Sie den Auftragnehmer als IAM-Mitglied mit der erforderlichen Rolle hinzu. Fügen Sie eine Bedingung zur Rollenbindung mit einem Ablaufzeitstempel hinzu (`request.time < timestamp("YYYY-MM-DDTHH:MM:SSZ")`).
Warum: IAM-Bedingungen bieten eine attributbasierte Zugriffssteuerung. Zeitbasierte Bedingungen sind perfekt für temporären Zugriff, da sie Berechtigungen automatisch ohne manuelle Bereinigung widerrufen.