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 auf das Kästchen neben der Zeile, in der das betreffende Konto enthalten ist, 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. Auch wenn in den meisten Situationen JSON empfohlen wird, steht Ihnen für Abwärtskompatibilität mit abhängigem Code P12 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. Nachdem Sie sich vergewissert haben, dass der neue Schlüssel ordnungsgemäß funktioniert, kehren Sie zur Seite "Anmeldedaten" zurück 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 Bestätigungsdialogfeld 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 erneut 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 veralteten Schlüssel verwenden.

  4. Nachdem Sie sich vergewissert haben, dass die Anwendungen mit dem neuen Schlüssel ordnungsgemäß funktionieren, kehren Sie zur Seite "Anmeldedaten" zurück 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 Log-in-Zugriff hatte.

  4. Überprüfen Sie, ob die Person verdächtige Anwendungen installiert hat, die ihr Backdoor-Zugriff auf die VM gewähren könnten. Wenn Sie bezüglich der Sicherheit bestimmter Codes auf der VM Zweifel haben, erstellen Sie die VM neu und stellen Sie die Anwendungen aus dem Quellcode erneut bereit.

  5. Vergewissern Sie sich, dass die Firewall-Einstellungen der VM mit der geplanten bzw. erwarteten Konfiguration übereinstimmen.

  6. Wenn Sie neue VMs über nutzerdefinierte Basis-Images erstellen, vergewissern Sie sich, dass an den Basis-Images keine Änderungen vorgenommen wurden, die sich auf die Sicherheit neuer VMs auswirken 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, dass die Liste der IP-Adressen unter Autorisierte Netzwerke und die Liste der Apps unter App Engine-Autorisierung Ihren Erwartungen entspricht. Wenn die Person, deren Zugriff Sie widerrufen möchten, Zugriff auf hier aufgelistete Netzwerke oder Anwendungen 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 alle Anwendungen, die von diesen Nutzerkonten abhängen.

App Engine erneut 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

Mehr erfahren Sie in der Google Cloud Security-Übersicht.

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

Feedback geben zu...