Auf dieser Seite finden Sie einen Überblick über Best Practices für die Sicherheit, mit denen Sie die Sicherheit und den Datenschutz Ihrer Cloud Workstations verbessern können. Diese Liste ist keine umfassende Checkliste, die Sicherheitsgarantien bietet oder einen Ersatz für Ihre bestehenden Sicherheitsmaßnahmen darstellt.
Ziel ist es, Ihnen einen Leitfaden zu den Sicherheitsbest Practices zu bieten, die durch Cloud Workstations möglich sind. Fügen Sie diese Empfehlungen gegebenenfalls Ihrem Portfolio an Sicherheitslösungen hinzu, um einen mehrschichtigen Sicherheitsansatz zu entwickeln. Ein mehrstufiger Sicherheitsansatz ist eines der Grundsätze für die Sicherheit für die Ausführung sicherer und konformer Dienste in Google Cloud.
Hintergrund
Der Cloud Workstations-Dienst bietet vordefinierte Basis-Images für die Verwendung mit dem Dienst. Diese Images werden wöchentlich neu erstellt und veröffentlicht, damit die gebündelte Software die neuesten Sicherheitspatches enthält. Außerdem verwendet der Dienst einen Standardwert für das Zeitlimit für den laufenden Dienst in Ihrer Workstationkonfiguration, um dafür zu sorgen, dass Workstations automatisch aktualisiert werden und nicht gepatchte Images nicht online bleiben.
Google Cloud ist jedoch nicht Inhaber aller Pakete, die in diesen Images enthalten sind. Paketmanager priorisieren Updates möglicherweise unterschiedlich, je nachdem, wie sich ein Fehler oder eine CVE auf ihr Produkt auswirkt. Wenn für ein Produkt nur ein Teil einer Bibliothek verwendet wird, wirkt sich das möglicherweise nicht auf Entdeckungen in anderen Teilen der Bibliothek aus. Daher können wir mit Cloud Workstations ein sicheres Produkt anbieten, auch wenn CVE-Ergebnisse aus Sicherheitsscans unserer Images vorliegen.
Cloud Workstations können dies, da sie ein Authentifizierungs- und Autorisierungssystem bieten, das dafür sorgt, dass nur der benannte Entwickler auf seine Workstation zugreifen kann. Wie bei jeder Entwicklungsumgebung sollten Entwickler bei der Verwendung ihrer Workstation Best Practices anwenden. Für maximale Sicherheit sollten Sie nur vertrauenswürdigen Code ausführen, nur vertrauenswürdige Eingaben verarbeiten und nur auf vertrauenswürdige Domains zugreifen. Außerdem wird davon abgeraten, Workstations zum Hosten von Produktionsservern zu verwenden oder eine einzelne Workstation für mehrere Entwickler zu teilen.
Wenn Sie mehr Kontrolle über die Sicherheit der Workstation-Images Ihrer Organisation haben möchten, können Sie auch eigene benutzerdefinierte Container-Images erstellen.
Zugriff auf öffentliches Netzwerk einschränken
Deaktivieren Sie öffentliche IP-Adressen auf Ihren Workstations über die Workstation-Konfiguration und konfigurieren Sie Firewallregeln, die den Zugriff auf öffentliche Internetziele einschränken, die für die tägliche Arbeit nicht erforderlich sind.
Wenn Sie öffentliche IP-Adressen deaktivieren, müssen Sie den privaten Google-Zugriff oder Cloud NAT in Ihrem Netzwerk einrichten.
Wenn Sie den privater Google-Zugriff verwenden und private.googleapis.com
oder restricted.googleapis.com
für Artifact Registry (oder Container Registry) verwenden, müssen Sie DNS-Einträge für die Domains
*.pkg.dev
und *.gcr.io
einrichten.
Direkten SSH-Zugriff einschränken
Beschränken Sie den direkten SSH-Zugriff auf VMs im Projekt, in dem Ihre Cloud Workstations gehostet werden, sodass der Zugriff nur über das Cloud Workstations-Gateway möglich ist, in dem IAM-Richtlinien (Identity and Access Management) erzwungen und VPC-Flow-Logs aktiviert werden können.
Führen Sie den folgenden Befehl der Google Cloud CLI aus, um den direkten SSH-Zugriff auf die VM zu deaktivieren:
gcloud workstations configs update CONFIG \ --cluster=CLUSTER \ --region=REGION \ --project=PROJECT \ --disable-ssh-to-vm
Zugriff auf vertrauliche Ressourcen beschränken
Richten Sie einen VPC Service Controls-Dienstperimeter ein, um den Zugriff auf sensible Ressourcen von Ihren Workstations aus einzuschränken und die Exfiltration von Quellcode und Daten zu verhindern.
Prinzip der geringsten Berechtigung anwenden
Beachten Sie bei Berechtigungen und Ressourcenzuweisung das Prinzip der geringsten Berechtigung.
IAM-Berechtigungen
Verwenden Sie die Standardkonfiguration für Identity and Access Management Zugriffsverwaltung, um den Workstation-Zugriff auf einen einzelnen Entwickler zu beschränken. So wird sichergestellt, dass jeder Entwickler eine eindeutige Workstation-Instanz mit einer eigenen zugrunde liegenden VM verwendet, was die Isolation der Umgebung erhöht. Code-Editoren und ‑Anwendungen von Cloud Workstations werden in einem Container ausgeführt, der im privilegierten Modus und mit Root-Zugriff läuft. So haben Entwickler mehr Flexibilität. So erhalten Sie eine eindeutige Workstation pro Entwickler und können dafür sorgen, dass Nutzer, die diesen Container verlassen, sich weiterhin in ihrer VM befinden und keinen Zugriff auf zusätzliche externe Ressourcen erhalten.
Richten Sie IAM-Berechtigungen ein, um den Zugriff von Nichtadministratoren auf die Änderung von Workstationkonfigurationen und Container-Images in der Artifact Registry einzuschränken.
Außerdem empfiehlt Google, IAM-Berechtigungen einzurichten, die den Zugriff von Nichtadministratoren auf die zugrunde liegenden Compute Engine-Ressourcen im Projekt einschränken, in dem Ihre Cloud Workstations gehostet werden.
Weitere Informationen finden Sie unter IAM sicher verwenden.
Cloud KMS-Berechtigungen
Um das Prinzip der geringsten Berechtigung besser zu unterstützen, empfehlen wir, Cloud KMS-Ressourcen und Cloud Workstations-Ressourcen in separaten Google Cloud-Projekten zu verwalten. Erstellen Sie Ihr Cloud KMS-Schlüsselprojekt ohne owner
auf Projektebene und legen Sie einen Organisationsadministrator fest, der auf Organisationsebene gewährt wurde.
Im Gegensatz zu einem owner
kann ein Organisationsadministrator Schlüssel nicht direkt verwalten oder verwenden. Sie sind auf das Festlegen von IAM-Richtlinien beschränkt, die festlegen, wer Schlüssel verwalten und verwenden kann.
Dies wird auch als Aufgabentrennung bezeichnet. Dabei soll verhindert werden, dass eine Person allein über alle Berechtigungen verfügt, die notwendig sind, um bösartige Aktionen ausführen zu können. Weitere Informationen finden Sie unter Aufgabentrennung.
Automatische Image-Updates und Patches erzwingen
Achten Sie darauf, dass auf Ihren Workstations die neueste Version der Basis-Images für Cloud Workstations verwendet wird, die die neuesten Sicherheits-Patches und ‑Fixes enthält. Mit dem Wert running timeout in der Workstationkonfiguration wird sichergestellt, dass Workstations, die mit dieser Konfiguration erstellt wurden, in der nächsten Sitzung automatisch aktualisiert werden, um der neuesten Version des in der Workstationkonfiguration definierten Container-Images zu entsprechen.
- Wenn Ihre Organisation eines der Basis-Images für Cloud Workstations verwendet, werden alle Updates an der Workstation-Konfiguration automatisch übernommen, wenn die Workstation das nächste Mal heruntergefahren und neu gestartet wird. Wenn Sie
runningTimeout
festlegen oder die Standardeinstellung verwenden, werden diese Workstations heruntergefahren. - Wenn Ihre Organisation ein benutzerdefiniertes Image verwendet, müssen Sie es regelmäßig neu erstellen. Wir empfehlen Ihnen, wie im folgenden Abschnitt beschrieben, eine sichere Image-Pipeline zu erstellen.
Sichere Image-Pipeline für benutzerdefinierte Images erstellen
Sie sind für die Pflege und Aktualisierung benutzerdefinierter Pakete und Abhängigkeiten verantwortlich, die benutzerdefinierten Images hinzugefügt wurden.
Wenn Sie benutzerdefinierte Bilder erstellen, empfehlen wir Folgendes:
Sie können Ihre Image-Pipeline noch sicherer machen, indem Sie diese Images automatisch neu erstellen, wenn das Basis-Image von Cloud Workstations aktualisiert wird.
Führen Sie ein Container-Scan-Tool wie Artifact Analysis aus, um alle zusätzlichen Abhängigkeiten zu prüfen, die Sie hinzugefügt haben.
Planen Sie Builds, um Images wöchentlich neu zu erstellen, oder erfahren Sie, wie Sie das Erstellen von Container-Images automatisieren.
VPC-Fluss-Logs einrichten
Wenn Sie einen Workstation-Cluster erstellen, ordnet Cloud Workstations den Cluster einem bestimmten Subnetz zu und alle Workstations werden in dieses Subnetz platziert. Wenn Sie VPC-Flusslogs aktivieren möchten, müssen Sie die Protokollierung für dieses Subnetz aktivieren. Weitere Informationen finden Sie unter VPC-Flusslogs für ein vorhandenes Subnetz aktivieren.