Zugriff auf ein Google Cloud-Projekt widerrufen

In diesem Dokument werden Best Practices, Szenarien und Verfahren zum Widerrufen des Zugriffs eines Nutzers auf ein Google Cloud-Projekt beschrieben. Verwenden Sie dieses Dokument, um Richtlinien und Verfahren zu definieren, mit denen Sie den Zugriff konsistent und zeitnah widerrufen können.

Ein kritischer Zeitpunkt im Lebenszyklus Ihrer Google Cloud-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.

Best Practices zum Einrichten Ihres Projekts

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

Nutzerkonten mit Ihrem vorhandenen Identitätsanbieter verbinden

Wenn Sie Nutzerkonten mit Ihrem vorhandenen Identitätsanbieter verbinden, können Sie den Status Ihrer Nutzerkonten synchronisieren. Wenn Sie ein Nutzerkonto von Ihrem Identitätsanbieter entfernen, wird die Nutzeridentität in Cloud Identity ebenfalls gelöscht und der Nutzer erhält über Ihre Zulassungsrichtlinien keinen Zugriff mehr auf Google Cloud-Ressourcen.

Weitere Informationen finden Sie unter Best Practices für die Verbindung von Google Cloud mit einem externen Identitätsanbieter.

Weitere Best Practices für die Identität finden Sie unter Best Practices für die Planung von Konten und Organisationen.

Mit Google Groups den Zugriff auf Projektressourcen verwalten

Mit Google Groups können Sie Nutzer basierend auf ihrer Teammitgliedschaft oder anderen Kriterien organisieren. Nachdem Sie Google Groups erstellt haben, können Sie den Zugriff auf Google Cloud-Projekte und -Ressourcen basierend auf Gruppen zuweisen. Wenn ein Nutzer dann zu einem anderen Team wechselt, können Sie das Nutzerkonto einfach in eine andere Gruppe verschieben. Dadurch wird der Zugriff, der durch Zulassungsrichtlinien gewährt wurde, automatisch der vorherigen Gruppe entfernt.

Weitere Informationen finden Sie unter Gruppen in der Google Cloud Console verwalten und Gruppe in Ihrer Organisation erstellen.

Verwenden Sie OS Login

Verwenden Sie OS Login anstelle von metadatenbasierten SSH-Schlüsseln, damit Sie die Linux-Konten Ihrer Nutzer mit ihren Google-Identitäten verknüpfen können. Wenn Sie ein Nutzerkonto entfernen, werden die Schlüssel automatisch widerrufen.

Eine Anleitung finden Sie unter OS Login einrichten.

Zugriff von externen Nutzerkonten einschränken

Gewähren Sie externen Nutzern keinen Zugriff auf das Projekt, da Sie den Lebenszyklus für diese Nutzerkonten nicht steuern können. Verwenden Sie die Listeneinschränkung iam.allowedPolicyMemberDomains, um externe Nutzer einzuschränken.

Eine Anleitung finden Sie unter Identitäten nach Domain einschränken.

Cloud SQL Auth-Proxy beim Herstellen einer Verbindung zu Cloud SQL verwenden

Mit dem Cloud SQL Auth-Proxy können Sie Arbeitslasten basierend auf IAM-Berechtigungen mit Cloud SQL verbinden, anstatt eine IP-basierte Zugriffssteuerung wie autorisierte Netzwerke zu verwenden. Der Cloud SQL Auth-Proxy validiert Verbindungen mithilfe von Anmeldedaten für einen Nutzer oder ein Dienstkonto und verpackt die Verbindung in einer SSL/TLS-Ebene, die für Ihre Cloud SQL-Instanz autorisiert ist. Dies ist eine sicherere Methode zum Herstellen einer Verbindung als selbstverwaltete SSL/TLS-Zertifikate oder autorisierte Netzwerke. Außerdem können Sie den Zugriff auf Cloud SQL entfernen, wenn Sie den Berechtigungen für das Nutzerkonto widerrufen oder das Nutzerkonto vollständig löschen.

Zugriff auf VMs einschränken

Virtuelle Maschinen, die beispielsweise von Compute Engine und Google Kubernetes Engine 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.

Projektbearbeiter und -inhaber haben standardmäßig Administratorzugriff auf alle VMs im Projekt. Entfernen Sie diesen Standardzugriff und verwenden Sie das Prinzip der geringsten Berechtigung für den VM-Zugriff.

Bevor Sie Zugriff auf die VM-Anmeldung gewähren, sollten Sie prüfen, welche Aufgaben Zugriff benötigen und ob es andere Möglichkeiten gibt, diese Anforderungen zu erfüllen. Anstatt beispielsweise jedem Entwickler VM-Anmeldezugriff zu gewähren, um Code bereitzustellen, sollten Sie Tools wie Chef, Puppet und Salt zur Verwaltung Ihrer Bereitstellungen in Betracht ziehen.

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). Weitere Informationen finden Sie unter manipulierte Google Cloud-Anmeldedaten verarbeiten.

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. Ein Nutzerkonto mit Rollen wie Betrachter oder API-Schlüsseladministrator kann die API-Schlüssel Ihres Projekts sehen. Daher müssen uneingeschränkte Schlüssel rotiert oder gelöscht werden, um den Abrechnungszugriff zu widerrufen. Weitere Informationen finden Sie unter API-Schlüssel sichern.

Zusätzliche Best Practices

Lesen Sie zusätzlich zu den in diesem Dokument beschriebenen Best Practices folgende Best Practices:

Szenarien für den Widerruf von Zugriff auf Google Cloud-Projekte

Wenn Sie die unter Best Practices zum Einrichten Ihres Projekts aufgeführten Best Practices implementiert haben, wird in der folgenden Tabelle zusammengefasst, wie Sie den Zugriff widerrufen können.

Szenario Zugriffsoptionen widerrufen
Ein Mitarbeiter verlässt Ihr Unternehmen. Wenn Sie eine Föderation zwischen Cloud Identity oder Google Workspace mit automatischer Nutzerverwaltung einrichten, kann der Zugriff widerrufen werden.

Wenn Sie die Best Practices nicht befolgt und externen Nutzeridentitäten Zugriff auf Ihre Ressourcen gewährt haben, müssen Sie die Identitäten manuell aus Ihren Projekten und Ressourcen entfernen.
Ein Mitarbeiter ändert seine Jobfunktion. Sie entfernen den Mitarbeiter aus der Teamgruppe.
Eine Vertragsbindung endet. Wenn Sie eine Föderation zwischen Cloud Identity oder Google Workspace mit automatischer Nutzerverwaltung einrichten, kann der Zugriff widerrufen werden.

Wenn Sie die Best Practices nicht befolgt und externen Nutzeridentitäten Zugriff auf Ihre Ressourcen gewährt haben, müssen Sie die Identitäten manuell aus Ihren Projekten und Ressourcen entfernen.
Ein Konto wurde manipuliert. Eine Anleitung finden Sie unter manipulierte Google Cloud-Anmeldedaten verarbeiten.

Zugriff entziehen

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

Verwenden Sie Policy Analyzer, um zu bestimmen, auf welche Ressourcen eine Person Zugriff hat. Eine Anleitung finden Sie unter IAM-Richtlinien analysieren.

Nutzerkonto von Ihrem Identitätsanbieter löschen

Wenn der Nutzer Ihre Organisation verlässt und Cloud Identity oder Google Workspace mit Ihrer Identitätsbereitstellung verknüpft haben, kann der Zugriff widerrufen werden.

Konto in eine andere Gruppe verschieben

Wenn der Nutzer die Rolle ändert, entfernen Sie das Nutzerkonto aus seinen aktuellen Google Groups-Gruppen. Wenn Sie Cloud Identity oder Google Workspace mit Ihrem Identitätsanbieter zur Verwaltung der Gruppenmitgliedschaft verknüpft haben, kann der Zugriff widerrufen werden.

Nutzerkonto aus Projektmitgliedschaft entfernen

  1. Öffnen Sie in der Google Cloud Console die Seite IAM-Berechtigungen.

    IAM-Berechtigungen

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

  3. Klicken Sie das Kästchen neben der Zeile mit dem Nutzerkonto an, das aus der Mitgliederliste entfernt werden soll, und klicken Sie dann auf Entfernen.

Projektanmeldedaten rotieren

Dienstkontoschlüssel rotieren

Wenn Sie Dienstkontoschlüssel zur Authentifizierung über ein Dienstkonto verwenden, müssen Sie die Schlüssel rotieren. Überlegen Sie außerdem, ob die Person außerhalb der Google Cloud-Tools Zugriff auf Dienstkontoschlüssel hatte, z. B. auf Ihr Quellcode-Repository oder die Anwendungskonfigurationen.

  1. Rufen Sie in der Google Cloud Console die Seite API-Anmeldedaten auf.

    API - Anmeldedaten

  2. Klicken Sie auf den Namen des Dienstkontos, das Sie ändern möchten.

  3. Klicken Sie auf dem Tab Schlüssel auf Schlüssel hinzufügen.

  4. Klicken Sie auf Neuen Schlüssel erstellen.

  5. Wählen Sie den gewünschten Schlüsseltyp aus. In den meisten Fällen wird JSON empfohlen, aber P12 ist für die Abwärtskompatibilität mit abhängigem Code verfügbar.

  6. 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.

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

OAuth-Client-ID-Schlüssel rotieren

OAuth-Client-ID-Schlüssel bieten keinen Direktzugriff auf Ihr Projekt. Wenn ein Angreifer jedoch das OAuth-Client-ID-Secret kennt, kann er Ihre Anwendung manipulieren und den Zugriff auf die Google-Konten Ihrer Nutzer von einer schädlichen Anwendung anfordern.

Möglicherweise müssen Sie OAuth-Client-ID-Schlüssel rotieren, wenn die Person, deren Zugriff widerrufen wurde, jemals Zugriff auf das Secret hatte, einschließlich in Ihrem Quellcode-Repository, in den Anwendungskonfigurationen oder über die IAM-Rollen.

  1. Rufen Sie in der Google Cloud Console die Seite API-Anmeldedaten auf.

    API - Anmeldedaten

  2. Klicken Sie auf den Namen der OAuth 2.0.-Client-ID, die Sie ändern möchten.

  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 rotieren

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. Ein Nutzerkonto mit Rollen wie "Betrachter" oder API-Schlüssel-Administrator kann die API-Schlüssel Ihres Projekts sehen. 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. Rufen Sie in der Google Cloud Console die Seite API-Anmeldedaten auf.

    API - Anmeldedaten

  2. Klicken Sie auf den Namen des API-Schlüssels, den Sie ändern möchten.

  3. Klicken Sie auf Schlüssel neu generieren.

  4. 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.

  5. 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

Wenn die Person, deren Zugriff Sie widerrufen, keinen Login-Zugriff auf eine Ihrer Projekt-VMs hat, 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, 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 noch einmal 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. Rufen Sie in der Google Cloud Console die Seite SQL-Instanzen auf.

    SQL-Instanzen

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

  3. Klicken Sie im linken Menü auf Verbindungen.

  4. Prüfen Sie, 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.

  5. Wählen Sie im Menü auf der linken Seite Nutzer aus.

  6. Löschen oder ändern Sie 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 erneut bereitstellen

Standardmäßig haben App Engine-Anwendungen 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 Image aus dem Versionskontrollsystem noch einmal bereitstellen.

Prüfen, ob Berechtigungen entfernt wurden

Führen Sie in der Google Cloud CLI die Methode search-all-iam-policies aus, um alle Ressourcen zu finden, auf die ein bestimmtes Nutzerkonto Zugriff haben kann. Führen Sie beispielsweise Folgendes aus, um festzustellen, ob ein Nutzer Zugriff auf Ihre Ressourcen hat:

gcloud asset search-all-iam-policies --scope='organizations/ORGANIZATION_ID --query='policy:IDENTITY'

Wobei:

  • ORGANIZATION_ID ist die Nummer Ihrer Organisation.
  • IDENTITY ist die Identität des Nutzers, z. B. eine E-Mail-Adresse.

Nächste Schritte