Zugriff auf Google Cloud Platform widerrufen

In diesem Dokument werden Best Practices zum Widerrufen des Zugriffs einer Person auf ein Google Cloud Platform-Projekt behandelt. Das Dokument besteht aus zwei Abschnitten. Im ersten Abschnitt wird beschrieben, wie Sie ein Projekt so einrichten können, dass Zugriff darauf mühelos widerrufen werden kann. Der zweite Abschnitt enthält Schritt-für Schritt-Anweisungen zum Widerrufen des Zugriffs einer Person auf verschiedene Ressourcentypen.

Hintergrund

Ein kritischer Zeitpunkt im Lebenszyklus Ihrer Google Cloud Platform-Ressourcen ist, wenn Sie einem Mitarbeiter den Zugriff auf die Ressourcen entziehen müssen. Wenn ein Mitarbeiter das Unternehmen verlässt, der Vertrag mit einem Auftragnehmer endet oder ein Mitarbeiter anderen Projekten zugewiesen wird, müssen Sie bestimmte Schritte unternehmen, um nicht mehr benötigten Zugriff auf Ihre Ressourcen effektiv zu widerrufen.

Einige dieser Verfahren sind optional. Sie sollten anhand der Sicherheitsanforderungen, den verwendeten Produkten und dem Vertrauen in die Person, der Sie den Zugriff entziehen möchten, festlegen, welche Schritte auszuführen sind. Dieses Dokument hilft Ihnen, die geeigneten Richtlinien und Verfahren entsprechend Ihrer Verwendung der GCP festzulegen.

Projekt einrichten

Bereits beim Einrichten des Projekts können Sie durch die Auswahl bestimmter Optionen dafür sorgen, dass der Nutzerzugriff einfach und effektiv widerrufen werden kann.

Zugriff auf VMs einschränken

Virtuelle Maschinen, die beispielsweise von Google Compute Engine, Google Kubernetes Engine und der flexiblen App Engine-Umgebung verwendet werden, bieten große potenzielle Angriffsflächen. Wenn eine Person jemals Zugriff auf eine VM hatte, insbesondere Root- oder Administratorzugriff, kann nicht vollständig ausgeschlossen werden, dass diese Person die VM verändert und eine Backdoor offen gelassen hat, um sich in Zukunft Zugang zur VM zu verschaffen. Beschränken Sie den VM-Zugriff auf diejenigen Personen, die ihn unbedingt benötigen. Beachten Sie, dass Projekteditoren und Projektinhaber standardmäßig administrativen Zugriff auf alle VMs im Projekt haben.

Bevor Sie einer Person Log-in-Zugriff erteilen, überlegen Sie, für welche Aufgaben der Zugriff benötigt wird und ob man den Anforderungen nicht in anderer Form gerecht werden kann. Vermeiden Sie es, jedem Entwickler einen Anmeldezugriff für die Bereitstellung von Code zu erteilen. Ziehen Sie stattdessen Tools wie Chef, Puppet oder Salt für die Verwaltung von Bereitstellungen in Erwägung.

Rotation von Anmeldedaten vorbereiten

Entwerfen Sie Ihre Projekte und Ressourcen so, dass eine unterbrechungsfreie Rotation der Anmeldedaten auf Projektebene möglich ist. Hierbei handelt es sich um projektbezogene Secrets wie Dienstkontoschlüssel, OAuth-Clientschlüssel und anwendungsspezifische Secrets (z. B. Datenbank-Root-Passwörter). Treffen Sie bereits jetzt entsprechende Vorbereitungen und sorgen Sie für eine einfache Bereitstellung neuer Anmeldedaten in allen Anwendungen, die diese benötigen.

API-Schlüssel einschränken

Beim Erstellen und Verwalten von API-Schlüsseln sollten Sie deren Verwendung auf Websites, IP-Adressen und Anwendungen beschränken. Da API-Schlüssel für alle Projektmitglieder sichtbar sind, müssen uneingeschränkte Schlüssel rotiert oder gelöscht werden, um den Abrechnungszugriff zu widerrufen. Informieren Sie sich über Best Practices zur sicheren Verwendung von API-Schlüsseln und planen Sie die Nutzung entsprechend.

Zugriff widerrufen

Wenn Sie beim Einrichten des Projekts entsprechende Vorkehrungen getroffen haben, können Sie den Zugriff einer Person mit den folgenden Verfahren sicher und effizient widerrufen.

Konto aus Projektmitgliedschaft entfernen

  1. Wechseln Sie in der Google Cloud Platform Console zur Seite mit den IAM-Berechtigungen.

    IAM-Berechtigungen

  2. Wählen Sie das Projekt aus, aus dem Sie ein Konto entfernen möchten.

  3. Klicken Sie das Kästchen neben der Zeile mit dem zu löschenden Konto an und klicken Sie anschließend auf Entfernen. Alternativ können Sie auf das Papierkorbsymbol neben dem Konto klicken, das Sie entfernen möchten.

Projektanmeldedaten rotieren

Dienstkontoschlüssel

Dienstkonten sind Nicht-Nutzerkonten, die standardmäßig als Bearbeiter des ihnen zugeordneten Projekts erachtet werden. Nutzer, die als Dienstkonto handeln können, können die gleichen Aufgaben wie ein Projektbearbeiter ausführen.

Nur Projektinhaber können neue Dienstkonten oder Schlüssel für bestehende Dienstkonten erstellen. Falls es sich bei der Person, deren Zugriff widerrufen wurde, um einen Projektinhaber handelt, müssen bestehende Dienstkontoschlüssel rotiert werden. Wenn es sich bei der Person nicht um einen Projektinhaber handelt, können Sie diesen Schritt überspringen. Überlegen Sie jedoch, ob die Person außerhalb der sicheren Cloud Platform-Tools Zugriff auf Dienstkontoschlüssel hatte, zum Beispiel auf das Quellcode-Repository oder die Anwendungskonfigurationen.

  1. Wechseln Sie in der Google Cloud Platform Console zur Seite "API > Anmeldedaten".

    API – Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie Dienstkontoschlüssel.

  3. Wählen Sie im Menü Dienstkonto das Zielkonto aus.

  4. Wählen Sie den gewünschten Schlüsseltyp aus. In den meisten Situationen empfiehlt sich JSON. Mit P12 steht Ihnen jedoch Abwärtskompatibilität mit davon abhängigem Code zur Verfügung.

  5. Klicken Sie auf Erstellen. Über Ihren Browser wird automatisch eine Datei heruntergeladen, die den neuen Schlüssel enthält. Stellen Sie diesen Schlüssel in allen Anwendungen bereit, die ihn benötigen.

  6. Wenn der neue Schlüssel wie erwartet funktioniert, rufen Sie die Seite "Anmeldedaten" erneut auf und löschen den alten mit diesem Dienstkonto verknüpften Schlüssel.

OAuth-Client-ID-Schlüssel

OAuth-Client-ID-Schlüssel bieten keinen Direktzugriff auf Ihr Projekt. Wenn jedoch ein Angreifer in der Lage ist, die OAuth-Aktualisierungstoken zu stehlen, die von Google im Namen der Nutzer Ihrer Anwendung zur Verfügung gestellt werden, gewährt der Besitz des Client-ID-Schlüssels dem Angreifer Zugriff auf die Google-Konten Ihrer Nutzer im selben Ausmaß, das ursprünglich von Ihrer Anwendung angefordert wurde.

OAuth-Client-ID-Schlüssel sind für alle Projektinhaber und -bearbeiter sichtbar, jedoch nicht für Leser. Wenn es sich bei der Person, deren Zugriff widerrufen wird, nicht um einen Inhaber oder Bearbeiter handelt, können Sie diesen Schritt überspringen. Überlegen Sie jedoch, ob die Person außerhalb der Cloud Platform-Tools Zugriff auf Dienstkontoschlüssel hatte, zum Beispiel auf das Quellcode-Repository oder die Anwendungskonfigurationen.

  1. Wechseln Sie in der Google Cloud Platform Console zur Seite "API > Anmeldedaten".

    API – Anmeldedaten

  2. Klicken Sie auf den Namen der OAuth 2.0.-Client-ID, die Sie ändern möchten. Hierdurch wird eine Client-ID-Seite mit Details zur ausgewählten ID geöffnet.

  3. Klicken Sie auf der Seite "Client-ID" auf Schlüssel zurücksetzen.

  4. Klicken Sie im Dialogfeld zur Bestätigung auf Zurücksetzen, um das alte Secret umgehend zu widerrufen und ein neues Secret festzulegen. Beachten Sie, dass sich alle aktiven Nutzer bei ihrer nächsten Anfrage neu authentifizieren müssen.

  5. Stellen Sie das neue Secret für alle Anwendungen bereit, die es benötigen.

API-Schlüssel

API-Schlüssel gewähren zwar keinen Zugriff auf Ihr Projekt oder die Daten Ihrer Nutzer; sie kontrollieren jedoch, wem die API-Anfragen von Google in Rechnung gestellt werden. Die API-Schlüssel Ihres Projekts sind für alle Projektmitglieder sichtbar. Sollten uneingeschränkte Schlüssel vorhanden sein, müssen Sie diese löschen oder neu generieren, wenn Sie den Zugriff einer Person auf das Projekt widerrufen.

  1. Wechseln Sie in der Google Cloud Platform Console zur Seite "API > Anmeldedaten".

    API - Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel.

  3. Ein Dialogfeld mit dem neu erstellten Schlüssel wird angezeigt. Stellen Sie diesen Schlüssel in allen Anwendungen bereit, die den zu ersetzenden Schlüssel verwenden.

  4. Wenn die Anwendungen mit dem neuen Schlüssel wie erwartet funktionieren, rufen Sie die Seite "Anmeldedaten" erneut auf und löschen den alten uneingeschränkten Schlüssel.

Zugriff auf VMs widerrufen

Falls die Person, deren Zugriff Sie widerrufen, keinen Login-Zugriff auf eine Ihrer Projekt-VMs hatte, können Sie diesen Schritt überspringen.

  1. Entfernen Sie alle SSH-Schlüssel auf Projektebene, auf die diese Person Zugriff hatte.

  2. Entfernen Sie auf jeder VM, auf die diese Person SSH-Zugriff hatte, alle Schlüssel auf Instanzebene.

  3. Entfernen Sie das Konto der Person von allen VMs, auf die sie Anmeldezugriff hatte.

  4. Überprüfen Sie, ob die Person verdächtige Anwendungen installiert hat, über die sie durch eine "Hintertür" auf die VM zugreifen könnte. Wenn Sie bezüglich der Sicherheit von bestimmtem Code auf der VM unsicher sind, erstellen Sie die VM neu und stellen Sie die Anwendungen aus dem Quellcode neu bereit.

  5. Überprüfen Sie, ob die Firewall-Einstellungen der VM geändert wurden und von Ihrer geplanten bzw. erwarteten Konfiguration abweichen.

  6. Wenn Sie neue VMs über nutzerdefinierte Basis-Images erstellen, überprüfen Sie, ob an den Basis-Images Änderungen vorgenommen wurden, die die Sicherheit neuer VMs gefährden würden.

Zugriff auf Cloud SQL-Datenbanken widerrufen

Wenn in Ihrem Projekt keine Cloud SQL-Ressourcen verwendet werden, können Sie diesen Schritt überspringen.

  1. Wechseln Sie in der Google Cloud Platform Console zur Seite "SQL-Instanzen".

    SQL-Instanzen

  2. Klicken Sie auf die Instanz-ID der Datenbank, für die Sie den Zugriff widerrufen möchten.

  3. Klicken Sie auf Zugriffssteuerung. Überprüfen Sie in diesem Tab, ob die Liste der IP-Adressen unter Autorisierte Netzwerke und die Liste der Apps unter App Engine-Autorisierung wie erwartet aussehen. Wenn die Person, deren Zugriff Sie widerrufen möchten, auf hier aufgeführte Netzwerke oder Anwendungen Zugriff hat, kann sie auf diese Datenbank zugreifen.

  4. Klicken Sie auf Nutzer. Löschen oder ändern Sie in diesem Tab das Passwort für alle Nutzerkonten, auf die die Person Zugriff hatte. Aktualisieren Sie dann auch alle Anwendungen, die von diesen Nutzerkonten abhängen.

App Engine noch einmal bereitstellen

App Engine-Apps haben standardmäßig Zugriff auf ein Dienstkonto, bei dem es sich um einen Bearbeiter des verknüpften Projekts handelt. App Engine-Anfragen-Handler können folgende Aufgaben ausführen: Erstellen neuer VMs und Lesen oder Ändern von Daten in Cloud Storage. Eine Person mit der Fähigkeit, Code auf der App Engine bereitzustellen, kann mit diesem Dienstkonto eine Backdoor zu Ihrem Projekt öffnen. Wenn Sie Zweifel bezüglich der Code-Integrität Ihrer bereitgestellten Apps haben, sollten Sie diese (und alle zugehörigen Module) mit einem als funktionierend bekannten Checkout aus dem Versionskontrollsystem erneut bereitstellen.

Berechtigungen für andere Ressourcen überprüfen

Überprüfen Sie auch andere Ressourcen in Ihrem Projekt, auf die diese Person möglicherweise Zugriff hatte, und vergewissern Sie sich, dass die Berechtigungen für diese Objekte sicher sind. Überprüfen Sie u. a. folgende Ressourcen:

Weitere Informationen

Die Google Cloud Security-Übersicht lesen.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...