Muster und Methoden für die Identitäts- und Zugriffsverwaltung in Google Cloud

Last reviewed 2022-09-27 UTC

Es gibt eine Reihe von Google Cloud-Produkten und -Diensten, mit denen Sie Ihre Organisation dabei unterstützen können, einen Ansatz für eine Identity Governance und Zugriffsverwaltung für Anwendungen und Arbeitslasten in Google Cloud zu entwickeln. Dieses Dokument richtet sich an Sicherheitsadministratoren, Operations Manager und Enterprise Architects, die in Kundenteams arbeiten und Informationen über diese Tools und Steuerelemente sowie deren Verwendung wünschen.

In diesem Dokument wird davon ausgegangen, dass Sie über Folgendes verfügen:

  • Ein Google Cloud-Projekt.
  • Ein Nutzerkonto mit Administratorzugriff zum Verwalten von Cloud Identity-Gruppen und -Nutzern. Sie benötigen diesen Zugriff, um die Beispielverfahren in diesem Dokument auszuführen.
  • Ein Nutzerkonto ohne Administratorzugriff zum Verwalten von Cloud Identity-Gruppen und -Nutzern. Sie benötigen dieses Konto, um einige der Steuerungsmechanismen zu testen, die Sie in den Beispielverfahren in diesem Dokument festlegen.

    Wenn Sie noch keinen Zugriff auf ein Google Cloud-Projekt und Administratorzugriff auf Cloud Identity haben, lesen Sie die Abschnitte Google Cloud-Projekt erstellen und Cloud Identity einrichten.

Nicht verwendete Konten und Berechtigungen ermitteln

Es wird empfohlen, Nutzerkonten zu entfernen, wenn sie nicht mehr benötigt werden, da ungenutzte (verwaiste) Nutzerkonten und Dienstkonten ein Sicherheitsrisiko darstellen. Mit der Policy Intelligence von Google Cloud, können Sie Ihr Unternehmen besser verstehen und Risiken reduzieren:

  • Sie können Administratoren in Ihrem Unternehmen dabei unterstützen, Konten und Berechtigungen zu ermitteln, die nicht mehr verwendet werden, z. B. weil ein Mitarbeiter das Unternehmen verlassen hat oder die Rolle geändert hat.
  • Sie erhalten Hilfe beim Identifizieren von Dienstkonten, die nach Abschluss von Aufgaben verworfen wurden.

IAM-Empfehlungen aufrufen und anwenden

Der IAM-Recommender ist Teil der Policy Intelligence-Suite mit Tools und Diensten. Mithilfe von maschinellem Lernen (ML) werden intelligente Empfehlungen für die Zugriffssteuerung erstellt, mit denen Sie Konten ermitteln können, die keinen Zugriff auf Google Cloud-Ressourcen benötigen. Anschließend können Sie die Empfehlungen prüfen und entscheiden, ob Sie sie anwenden möchten. IAM Recommender unterstützt Sie auch dabei, das Prinzip der geringsten Berechtigung für alle Mitglieder in Ihrer Organisation beizubehalten. Neben der Bereitstellung von Empfehlungen nutzt der Recommender-Dienst das maschinelle Lernen, um detaillierte Statistiken zu liefern. Statistiken sind Erkenntnisse, die auf beachtenswerte Muster in der Ressourcennutzung hinweisen. Sie können beispielsweise zusätzliche Informationen zur Nutzung von Berechtigungen in Ihrem Projekt erfassen, Berechtigungen ermitteln, die nicht mehr verwendet werden, und nicht verwendete Dienstkonten identifizieren.

IAM-Empfehlungen können in der Google Cloud Console auf Unternehmensebene aufgerufen und angewendet werden. Im folgenden Beispielverfahren verwenden Sie BigQuery, um die Zugriffsberechtigungen in Ihrer Organisation zu prüfen und anzupassen. Zum Einrichten der BigQuery-Integration konfigurieren Sie einen Export von Empfehlungen des IAM-Recommenders in ein BigQuery-Dataset. Diese Daten können dann mit Visualisierungstools wie Looker Studio und Looker abgefragt und überprüft werden.

Implementierung

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

  2. BigQuery ist in neuen Projekten automatisch aktiviert. Aktivieren Sie die BigQuery API, um BigQuery in einem bereits vorhandenen Projekt zu aktivieren.

    API aktivieren

  3. Konfigurieren Sie BigQuery Data Transfer Service so, dass die Daten aus dem IAM-Recommender abgerufen werden. Weitere Informationen finden Sie unter Empfehlungen nach BigQuery exportieren.

  4. Wechseln Sie zur BigQuery-Seite.

    BigQuery aufrufen

  5. Kopieren Sie die folgende Abfrage und fügen Sie sie in das Feld Bearbeiter ein.

    SELECT
       recommendation_details
    FROM PROJECT_ID.DATASET.TABLE_NAME
    WHERE recommender = "google.iam.policy.Recommender"
    AND recommender_subtype = "REMOVE_ROLE"
    

    Dabei gilt:

    • PROJECT_ID: Die Google Cloud-Projekt-ID, die Sie für die Ausführung dieses Beispiels verwenden.
    • DATASET: Der Name des Datasets, das Sie bei der Einrichtung des BigQuery Data Transfer Service ausgewählt haben.
    • TABLE_NAME: Der Name der Tabelle, die vom Job des BigQuery Data Transfer Service erstellt wurde.

    Führen Sie diese Abfrage aus, um den recommender_subtype-Untertyp der IAM Recommender REMOVE_ROLE-Empfehlungen zu ermitteln.

  6. Klicken Sie auf Ausführen. Mit dem Abfrageergebnis identifizieren Sie nicht verwendete Rollen und prüfen die IAM-Rollenbindungen.

    Sie können Abfrageergebnisse in Google Tabellen speichern. Weitere Informationen finden Sie unter Abfrageergebnisse in Google Tabellen speichern.

Nutzeranfrage für Ressourcenzugriff ermöglichen

Unternehmensadministratoren müssen Nutzern die Möglichkeit geben, den Zugriff auf Ressourcen anzufordern. Normalerweise durchlaufen diese Anfragen einen Genehmigungsprozess, bei dem ein bestimmter Genehmiger oder eine Gruppe von Genehmigern die Anfrage genehmigen muss, bevor der Zugriff gewährt wird. Mit Google Groups können Sie eine Zugriffsrichtlinie auf eine Gruppe von Nutzern anwenden. Dadurch können Sie sich an den Best Practices für die Richtlinienverwaltung orientieren, die den Zugriff auf Ressourcen basierend auf Gruppenmitgliedschaften gewähren. Bei diesem Ansatz bleiben die Richtlinien auch dann relevant, wenn Nutzer der Organisation beitreten, diese verlassen oder intern die Stelle wechseln, denn die Gruppenmitgliedschaft lässt sich in diesen Fällen ändern.

Mit Google Groups können Sie Zugriffssteuerungen für eine ganze Gruppe gewähren oder ändern, anstatt die Zugriffskontrollen nacheinander für jeden einzelnen Nutzer oder jedes Dienstkonto individuell zu gewähren oder zu ändern. Sie können auch mühelos Mitglieder zu einer Google-Gruppe hinzufügen oder aus ihr entfernen. Das ist einfacher, als IAM-Richtlinien zu aktualisieren, um Nutzer hinzuzufügen oder zu entfernen.

Ressourcenzugriff mit Google Groups einrichten

Sie können eine Google-Gruppe mit Cloud Identity erstellen und verwalten. Cloud Identity ist eine IDaaS-Lösung (Identity as a Service), mit der Sie Nutzer und Gruppen zentral verwalten können. Sie können Cloud Identity auch so konfigurieren, dass Identitäten von Google und anderen Identitätsanbietern wie Active Directory und Azure Active Directory miteinander verbunden werden. Mit Google Groups kann ein Nutzer auch eine Mitgliedschaft bei einer Gruppe anfordern. Diese Anfrage wird an Gruppenadministratoren weitergeleitet, die diese Anfrage dann genehmigen oder ablehnen können. Weitere Informationen finden Sie unter Gruppe erstellen und Gruppeneinstellungen festlegen.

Wenn Sie eine Google-Gruppe erstellen und verwalten, um Zugriff auf Google Cloud-Ressourcen zu gewähren, beachten Sie die Auswirkungen der ausgewählten Einstellungen. Wir empfehlen zwar, die Anzahl der Nutzer zu reduzieren, die die Gruppe verwalten können, es sollten jedoch mehrere Gruppenadministratoren eingerichtet sein, damit immer Zugriff auf die Gruppe besteht. Außerdem empfehlen wir, die Gruppenmitgliedschaft auf Nutzer in Ihrer Organisation zu beschränken.

Implementierung

In diesem Beispielverfahren erstellen Sie eine Google-Gruppe und erteilen der Betrachtergruppe Zugriff auf ein Google Cloud-Beispielprojekt. Mitglieder, die Sie dieser Gruppe hinzufügen oder denen Sie auf Anfrage Zugriff gewähren, können das Google Cloud-Beispielprojekt sehen.

Beispielgruppe in Google Groups erstellen

Bei den folgenden Schritten wird davon ausgegangen, dass Sie Cloud Identity konfiguriert haben. Weitere Informationen finden Sie unter Cloud Identity einrichten. Prüfen Sie, ob Sie die Berechtigungen haben, die Sie zum Verwalten von Gruppen benötigen.

  1. Rufen Sie in der Google Cloud Console die Seite Gruppen auf.

    Zu Google Groups

  2. Klicken Sie auf Erstellen.

  3. Geben Sie die Details für die Gruppe ein.

    Klicken Sie auf Mitglied hinzufügen, geben Sie die E-Mail-Adresse für das Mitglied ein und wählen Sie seine Google Groups-Rolle aus, um Mitglieder hinzuzufügen.

    Wenn Sie fertig sind, klicken Sie auf Senden, um die Gruppe zu erstellen.

    Gruppeneinstellungen können nur in Google Groups verwaltet werden. Klicken Sie zum Konfigurieren der Gruppeneinstellungen auf Diese Gruppe in Google Groups verwalten. Wählen Sie im Menü Wer kann der Gruppe beitreten? die Option Nur Nutzer innerhalb der Organisation aus, um festzulegen, wer der Gruppe beitreten kann.

  4. Klicken Sie auf Gruppe erstellen.

Der Gruppe Zugriff auf ein Google Cloud-Projekt gewähren

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Öffnen Sie Cloud Shell:

    Zu Cloud Shell

  3. Führen Sie den folgenden Befehl aus, um dem Gruppenbetrachter Zugriff auf das Projekt zu gewähren:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_EMAIL --role=roles/viewer
    

    Dabei gilt:

    • GROUP_EMAIL: Die E-Mail-Adresse der von Ihnen erstellten Gruppe
    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts

Anfrageverfahren für Nutzerzugriffe für Nutzer in Ihrer Organisation testen

Im folgenden Verfahren verwenden Sie ein Testnutzerkonto, um die Schritte zu demonstrieren, die Nutzer in Ihrer Organisation für eine Zugriffsanfrage auf eine Google-Gruppe verwenden.

  1. Melden Sie sich in Google Groups als Nutzer mit Administratorzugriff an. Die Gruppe, die Sie unter Beispielgruppe in Google Groups erstellen angelegt haben, wird unter Alle Gruppen angezeigt. Wenn die Gruppe nicht angezeigt wird, suchen Sie sie mithilfe der Suchfunktion.
  2. Klicken Sie auf Beitrittsanfrage für Gruppe stellen, um eine Zugriffsanfrage für die Gruppe zu senden.

    Sobald der Zugriff gewährt ist, sollte das Nicht-Administratorkonto, mit dem Sie die Anfrage gestellt haben, das Google Cloud-Projekt PROJECT_ID sehen können, auf das die Gruppe Lesezugriff hat.

Zeitgebundenen Zugriff auf Google Cloud-Ressourcen gewähren

Es kann vorkommen, dass Nutzer in Ihrem Unternehmen vorübergehenden, kurzfristigen Zugriff auf Google Cloud-Ressourcen benötigen. Ein kurzfristiger Zugriff ist hilfreich, wenn Entwickler für bestimmte Aufgaben vorübergehenden Zugriff auf Google Cloud-Ressourcen benötigen. Ein kurzfristiger Zugriff hat außerdem folgende Vorteile:

  • Der Verwaltungsaufwand wird gesenkt.
  • Das Prinzip der geringsten Berechtigung und des zeitnahen Zugriffs müssen befolgt werden.

Die Möglichkeit, diese Zugriffsart zu gewähren, ist für Administratoren nützlich, wenn Nutzer in Notfallsituationen auf Ressourcen zugreifen müssen, die ein schnelles und direktes Eingreifen erfordern. Es ist jedoch unter Umständen schwierig, kurzfristige Zugriffsberechtigungen manuell zu erfassen und sicherzustellen, dass sie zeitnah entfernt werden. Mit bedingten Zugriffsrichtlinien für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) können Sie den Zugriff auf Google Cloud-Ressourcen mithilfe von bedingten Rollenbindungen festlegen und diesen Aufwand für Administratoren reduzieren.

Bedingte Rollenbindungen und Ablauf der Gruppenmitgliedschaft verwenden

Sie können neuen oder vorhandenen IAM-Richtlinien bedingte Rollenbindungen hinzufügen, um den Zugriff auf Google Cloud-Ressourcen weiter zu steuern. Nachstehend finden Sie einige Beispiele dafür, wie Sie bedingte Rollenbindungen dazu verwenden können, einem Nutzer oder einer Gruppe vorübergehend Zugriff zu geben:

  • Zugriff auf ein Projekt, der nach einer bestimmten Zeit abläuft.
  • Zugriff auf ein Projekt, der jeden Monat oder jedes Quartal wiederholt wird.
  • Zugriff auf Compute Engine-Instanzen, um Aufgaben wie das Anhalten von Instanzen zu verwalten.

Wenn Sie mit Google Groups Nutzern den Zugriff auf Google Cloud-Ressourcen gewähren, können Sie mit der Ablauffunktion der Gruppenmitgliedschaft Ablaufdaten für die Gruppenmitgliedschaft über die Cloud Identity Groups API festlegen. Wenn die von Ihnen angegebene Zeit abgelaufen ist, werden Nutzer automatisch aus der Gruppe entfernt.

Implementierung

Sie können eine bedingte Rollenbindung verwenden, um Entwicklern vorübergehend Zugriff zum Verwalten einer bestimmten Compute Engine-Instanz zu gewähren. In diesem Beispiel läuft die Rollenbindung am 31. Dezember 2021 ab.

  1. Legen Sie in Cloud Shell die folgenden Variablen fest:

    export INSTANCE=create example-instance-1
    export ZONE=us-west1-b
    export USER=USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
    

    Ersetzen Sie USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO durch den Nutzernamen des Nutzers in Ihrer Organisation, dem Sie vorübergehend Zugriff gewähren möchten.

  2. Erstellen Sie eine Compute Engine-Beispielinstanz:

    gcloud compute instances create $INSTANCE \
        --zone $ZONE \
        --machine-type g1-small
    

    In den folgenden Schritten gewähren Sie einem Nutzer in Ihrer Organisation vorübergehend Zugriff auf diese Instanz.

  3. Weisen Sie dem Nutzer den vorübergehenden Zugriff zu:

    gcloud compute instances add-iam-policy-binding $INSTANCE \
        --zone=$ZONE \
        --member="user:$USER" \
        --role='roles/compute.instanceAdmin.v1' \
        --condition='expression=request.time < timestamp("2022-01-01T00:00:00Z"),title=expires_end_of_2021,description=Expires at midnight on 2021-12-31'
    
  4. Behalten Sie die erstellte Compute Engine-Instanz bei. Sie verwenden diese Instanz später in diesem Dokument unter privilegierten Zugriff verwalten.

    Alternativ können Sie die Instanz example-instance-1 mit dem folgenden Befehl löschen:

    gcloud compute instances delete $INSTANCE
    

Wenn Sie IAM-Lebenszyklusereignisse wie Richtlinienänderungen, Erstellung von Dienstkonten und Dienstkontozuweisungen für ein Audit überprüfen müssen, können Cloud-Audit-Logs hilfreich sein. Administratoren können Cloud-Audit-Logs verwenden, um Verlaufsdaten von forensischen Analysen und Analysen anzuzeigen. Die Analyse von Audit-Logs hilft Ihnen dabei, Zugriffsmuster zu verstehen und Anomalien zu erkennen. Die Analyse von Audit-Logs kann auch für die folgenden Szenarien wichtig sein:

  • Berechtigungen und Zugriff auf Ressourcen während einer Datenschutzverletzung analysieren.
  • Produktionsproblemen, die durch eine Änderung in der IAM-Richtlinie verursacht werden, analysieren, insbesondere, wenn Sie überprüfen möchten, welcher Nutzer oder welcher Prozess die Änderung vorgenommen hat

Cloud-Audit-Logging speichert Informationen zu den Aktionen der Nutzer und zum Zeitpunkt der Aktivität. Audit-Logs werden folgendermaßen klassifiziert:

Wir empfehlen die folgenden Audit-Logs für das Audit-Logging der Identität und des Zugriffs:

  • Audit-Logs zur Administratoraktivität
  • Audit-Logs zu Richtlinienverstößen

In den Audit-Logs zu Administratoraktivitäten werden Änderungen an Google Cloud-Ressourcen wie Projekten, Compute Engine-Instanzen und Dienstkonten gespeichert. Im Folgenden finden Sie Beispiele für Ereignisse, die in Audit-Logs zu Administratoraktivitäten gespeichert werden:

  • Erstellung eines Dienstkontos.
  • Änderung einer IAM-Richtlinie.
  • Herunterladen eines Dienstkontoschlüssels.

Audit-Logs zu Richtlinienverstößen, wenn einem Nutzer oder einem Dienstkonto aufgrund eines Verstoßes gegen die Sicherheitsrichtlinien der Zugriff auf einen Google Cloud-Dienst verweigert wird.

Cloud-Audit-Logs für Identitätslebenszyklus-Ereignisse einrichten

Sie können Audit-Logs in der Google Cloud Console ansehen oder die Logs mit der Cloud Logging API oder der Befehlszeile abfragen.

Alle Audit-Logs haben eine Aufbewahrungsdauer. Wenn Ihr Unternehmen Audit-Logs länger als die Standardaufbewahrungsdauer speichern muss, exportieren Sie die Logs in BigQuery oder andere Senkenziele, indem Sie eine Logsenke erstellen. Wenn Sie Logs nach BigQuery exportieren, können Sie eine Teilmenge von Datenspalten und ausgewählten Daten (im Zeitverlauf oder über andere Dimensionen) anzeigen und eine zusammengefasste Analyse vornehmen.

Implementierung

Im folgenden Beispielverfahren wird gezeigt, wie Sie Google Cloud-Projektlogs abfragen, um zu prüfen, ob eines der folgenden Ereignisse eingetreten ist:

  • Es wurden IAM-Richtlinienänderungen vorgenommen.
  • Neue Dienstkonten wurden erstellt.
  • Neue Dienstkontoschlüssel wurden generiert.

Änderungen an IAM-Richtlinien ansehen

  1. Rufen Sie in der Google Cloud Console die Seite Logging  > Log-Explorer auf.
  2. Wählen Sie auf der Seite Log-Explorer ein vorhandenes Google Cloud-Projekt aus.
  3. Fügen Sie die folgende Abfrage in Query Builder ein:

    logName="projects/<PROJECT>/logs/cloudaudit.googleapis.com%2Factivity" AND
    (resource.type="project" OR resource.type="service_account") AND
    resource.labels.project_id="<PROJECT>" AND
    (protoPayload.methodName="SetIamPolicy" OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount"
    OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey")
    

    Ersetzen Sie PROJECT durch Ihre Google Cloud-Projekt-ID.

  4. Klicken Sie auf Abfrage ausführen.

Änderungen an der Gruppenmitgliedschaft ansehen

Änderungen an der Google-Gruppenmitgliedschaft werden in Aktivitätsprotokollen erfasst. Informationen zum Zugriff auf diese Logs finden Sie unter Änderungslogs für Gruppenmitgliedschaften ansehen.

Zertifizierung erhalten

Mit dem Tool Policy Analyzer kann Ihr Unternehmen prüfen, ob Nutzer die angemessenen Zugriffsrechte für Google Cloud-Ressourcen in einer festgelegten Form oder auf Basis regelmäßiger Abstände haben. Diese Überprüfung ist für Compliance- und Auditzwecke wichtig. Außerdem ist es für Sicherheitsbeauftragte und Auditoren nützlich, ermitteln zu können, welche Nutzer wann auf welche Ressource zugreifen und mit welcher Kapazität. Mit dem Policy Analyzer können Sie feststellen, welche Identitäten oder Hauptkonten (Nutzer, Dienstkonten, Gruppen und Domains) Zugriff auf welche Google Cloud-Ressourcen in der Ressourcenhierarchie Ihrer Organisation haben. Außerdem lässt sich damit leichter feststellen, um welche Art von Zugriff es sich handelt. Im Folgenden finden Sie einige Beispielfragen, die Ihnen vom Policy Analysis-Tool unter anderem beantwortet werden können:

  • Welche Nutzer auf ein Dienstkonto zugreifen können.
  • Welche Nutzer Daten in einem BigQuery-Dataset lesen können, das personenidentifizierbare Informationen enthält.

Das Tool Policy Analyzer kann mit den folgenden Methoden verwendet werden:

Nutzerzugriff mit dem Policy Analyzer prüfen

Die folgenden Beispielabfragen zeigen die Art von Statistiken, die Sie mithilfe des Policy Analyzers für den Nutzerzugriff gewinnen können:

  • Welche Rollen oder Berechtigungen hat ein Hauptkonto (Nutzer, Dienstkonto, Gruppe und Domain)? Sie können beispielsweise prüfen, welche Zugriffe ein ehemaliger Mitarbeiter auf Ihr Produktionsprojekt hat.
  • Auf welche Ressourcen ein Nutzer Zugriff hat. Beispielsweise der Zugriff eines früheren Mitarbeiters auf die Ressourcen Ihres Produktionsprojekts.
  • Welche Hauptkonten eine bestimmte Zugriffsebene für eine Ressource haben, z. B. Buckets, die ein bestimmter Nutzer in einem Projekt löschen kann.

Implementierung

Im folgenden Beispielverfahren verwenden Sie den Policy Analyzer, um die Berechtigungen eines Nutzers zu überprüfen.

  1. Aktivieren Sie in Cloud Shell die Cloud Asset API für das Projekt:

    API aktivieren

  2. Geben Sie den folgenden Befehl ein, um herauszufinden, auf welche Ressourcen ein Nutzer zugreifen kann:

    gcloud asset analyze-iam-policy --organization="YOUR_ORG_ID" \
        --identity="user:USERNAME_TO_CERTIFY"
    

    Ersetzen Sie die folgenden Werte:

    • YOUR_ORG_ID: Ihre Google Cloud-Organisations-ID
    • USERNAME_TO_CERTIFY: Der Nutzername des Nutzers, für den Sie Google Cloud-Zugriffsberechtigungen überprüfen möchten.
  3. Extrahieren Sie die IAM-Richtliniendaten in BigQuery. Weitere Informationen finden Sie unter Richtlinienanalyse in BigQuery schreiben.

Privilegierten Zugriff verwalten

Einige Nutzer in Ihrer Organisation benötigen möglicherweise privilegierten Zugriff auf bestimmte Google Cloud-Ressourcen, um Verwaltungsaufgaben auszuführen. Beispiel: Diese Nutzer müssen möglicherweise bestimmte Google Cloud-Projekte verwalten, Projektabrechnungen und -Budgets einrichten oder Compute Engine-Instanzen einrichten.

Anstatt Nutzern dauerhaft privilegierten Zugriff auf Ressourcen zu gewähren, können Sie Nutzer Just-in-Time-Zugriff anfordern lassen. Mit der Just-in-Time-Zugriffsverwaltung können Sie folgende Aufgaben ausführen:

  • Reduzieren Sie das Risiko, dass jemand versehentlich Ressourcen ändert oder löscht. Wenn Nutzer beispielsweise nur bei Bedarf einen privilegierten Zugriff haben, können sie Skripts nicht zu anderen Zeiten ausführen, die unbeabsichtigt Ressourcen betreffen, die nicht geändert werden dürfen.
  • Erstellen Sie einen Audit-Trail, der angibt, warum Berechtigungen aktiviert wurden.
  • Führen Sie Audits und Überprüfungen durch, um frühere Aktivitäten zu analysieren.

Alternativ können Sie einem Dienstkonto privilegierten Zugriff gewähren und Nutzern erlauben, die Identität des Dienstkontos zu übernehmen.

Nutzern privilegierten Zugriff gewähren

Im Folgenden erhalten Sie eine allgemeine Zusammenfassung der Verwaltung des privilegierten Zugriffs für Unternehmensnutzer in Google Cloud:

  • Nutzern in Unternehmen die Möglichkeit geben, privilegierten Zugriff anzufordern.
  • Prüfen der Cloud-Audit-Logs, um Anfragen für privilegierten Zugriff und Zugriffsmuster zu analysieren. Mit diesen Logs können Administratoren die Muster von privilegierten Zugriffen prüfen und Anomalien erkennen. Es wird empfohlen, dass Unternehmen diese Logs nach Bedarf exportieren und für Prüfungszwecke aufbewahren.
  • Sorgen Sie dafür, dass der privilegierte Zugriff entweder automatisch abläuft oder regelmäßig geprüft wird.

Aktivieren Sie die Bestätigung in zwei Schritten (auch Multi-Faktor-Authentifizierung genannt) für alle Nutzer, die privilegierten Zugriff auf Ressourcen haben. Mithilfe des Access Context Managers können Sie außerdem eine differenzierte, attributbasierte Zugriffssteuerung erstellen. Dadurch wird eine zusätzliche Sicherheitsebene bei Verwendung des privilegierten Zugriffs erzwungen. Sie können beispielsweise eine Zugriffsebene haben, die angibt, dass sich Nutzer im Unternehmensnetzwerk befinden müssen, wenn Sie den privilegierten Zugriff auf Ressourcen verwenden.

Implementierung

In diesem Beispielverfahren erstellen Sie als Administrator eine Google-Gruppe für den privilegierten Zugriff auf Compute Engine-Instanzen. Sie erstellen ein Dienstkonto in Google Cloud, dem Zugriff auf die Verwaltung von Compute Engine-Instanzen gewährt wird. Sie verknüpfen die Gruppe mit dem Dienstkonto, sodass Gruppenmitglieder die Identität des Dienstkontos für den Zeitraum übernehmen können, für den sie Mitglied der privilegierten Gruppe sind.

Google-Gruppe für privilegierten Zugriff erstellen

  1. Wählen Sie als Google Cloud-Administrator ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Seite „Ressourcen verwalten“

  2. Aktivieren Sie die Abrechnung für Ihr Projekt. Abrechnung aktivieren

  3. Folgen Sie der Anleitung unter Nutzeranfrage für Ressourcenzugriff ermöglichen, um eine neue Google-Gruppe zu erstellen.

    Benennen Sie die Gruppe so: elevated-compute-access

Google Cloud-Dienstkonto erstellen

  1. Aktivieren Sie in Cloud Shell die IAM-Dienstkonto-Anmeldedaten für das Projekt, das Sie unter Google-Gruppe für privilegierten Zugriff erstellen erstellt haben.

    APIs aktivieren

  2. Legen Sie die folgenden Variablen fest:

    export PROJECT_ID=$DEVSHELL_PROJECT_ID
    export PRIV_SERVICE_ACCOUNT_NAME=elevated-compute-access
    export DELEGATE_GROUP=GROUP_EMAIL_ADDRESS
    

    Ersetzen Sie GROUP_EMAIL_ADDRESS durch den vollständigen Namen der von Ihnen erstellten Google-Gruppe.

  3. Erstellen Sie das Dienstkonto:

    gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \
        --description="Elevated compute access" \
        --display-name="Elevated compute access"
    
  4. Weisen Sie dem Dienstkonto die Rolle „Compute-Administrator“ zu:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/compute.admin"
    
  5. Gewähren Sie der Google-Gruppe, die Sie erstellt haben, den Service Usage-Nutzerzugriff für Ihr Projekt:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="group:$DELEGATE_GROUP" \
        --role="roles/serviceusage.serviceUsageConsumer"
    

    Mit dieser Berechtigung können die Google-Gruppenmitglieder die Identität des von Ihnen erstellten Dienstkontos übernehmen.

  6. Geben Sie der Google-Gruppe die Berechtigung, die Identität des von Ihnen erstellten Dienstkontos zu übernehmen:

    gcloud IAMservice-accounts add-iam-policy-binding
    $PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --member="group
    :$DELEGATE_GROUP" --role="roles/iam.serviceAccountTokenCreator"
    
  7. Überspringen Sie diesen Schritt, wenn Sie eine Compute Engine-Beispielinstanz für das Verfahren unter Zeitgebundenen Zugriff auf Google Cloud-Ressourcen gewähren erstellt und beibehalten haben. Sie können die Beispielinstanz verwenden, um die Schritte in diesem Beispiel auszuführen.

    Alternativ können Sie den folgenden Befehl verwenden, um eine Compute Engine-Beispielinstanz zu erstellen:

    gcloud compute instances create example-instance-1 \
        --zone us-west1-b \
        --machine-type g1-small
    

    Mit den Instanzen in diesem Beispiel können Sie überprüfen, ob Nutzer, die Mitglied der privilegierten Gruppe sind, auf die Instanz zugreifen können.

Audit-Logs aktivieren

Administratoren in Ihrem Unternehmen können Cloud-Audit-Logs aktivieren, um sicherzustellen, dass der privilegierte Zugriff protokolliert und für die Überprüfung und Analyse zur Verfügung steht. Mit dem Verfahren in diesem Abschnitt wird gezeigt, wie Sie Audit-Logging aktivieren.

  1. Rufen Sie die aktuellen IAM-Richtlinien für das Projekt ab:

    gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
    
  2. Ändern Sie die Richtliniendatei, um Datenzugriffslogs für die Compute Engine API zu aktivieren:

    cat <<EOF >> /tmp/policy.yaml
    auditConfigs:
    - auditLogConfigs:
     - logType: ADMIN_READ
     - logType: DATA_READ
     - logType: DATA_WRITE
     service: compute.googleapis.com
    EOF
    
  3. Legen Sie die neue Richtlinie fest:

    gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
    

Identitätsübernahme mit dem nicht verwalteten Nutzerkonto testen

Mit dem nicht verwalteten Administratorkonto können Sie die Einrichtung testen, indem Sie die Mitgliedschaft bei der Gruppe anfordern und die Identität des Dienstkontos übernehmen, nachdem die Mitgliedschaft gewährt wurde.

Mit dem Verfahren in diesem Abschnitt können Sie sehen, wie Unternehmensnutzer privilegierten Zugriff auf Google Cloud-Ressourcen anfordern können. Bei diesem Beispielverfahren sind die Google Cloud-Ressourcen die Compute Engine-Instanzen für ein Google Cloud-Projekt. Um zu zeigen, wie Nutzer in Ihrer Organisation ein Dienstkonto übernehmen können, nachdem sie der Gruppe beigetreten sind, beantragen Sie die Mitgliedschaft in relevanten Google-Gruppen.

  1. Melden Sie sich bei Google Groups mit dem Nicht-Administratorkonto an und beantragen Sie die Mitgliedschaft bei der Gruppe elevated-compute-access.
  2. Verwenden Sie dasselbe Konto zur Anmeldung bei Google Cloud. Sobald ein Administrator die Anfrage genehmigt, sollten Sie Zugriff auf die Gruppe haben. In diesem Beispiel wird davon ausgegangen, dass Ihre Anfrage für die Gruppenmitgliedschaft genehmigt wurde.

  3. Führen Sie in Cloud Shell den folgenden Befehl aus, um das Standardprojekt festzulegen:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die Projekt-ID, die Sie zuvor im Abschnitt Google-Gruppe für privilegierten Zugriff erstellen festgelegt haben.

  4. Versuchen Sie, die Compute Engine-Instanzen in diesem Projekt aufzulisten:

    gcloud compute instances list
    

    Sie erhalten eine Fehlermeldung, die besagt, dass Ihr Google Cloud-Nutzer nicht die Berechtigung hat, auf Compute Engine-Ressourcen zuzugreifen.

  5. Führen Sie diesen Befehl aus:

    gcloud compute instances list
    --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
    

    Dieser Befehl listet die Compute Engine-Instanzen im Projekt auf. Dies wird möglich, weil Sie die Identität des Dienstkontos übernehmen, auf das Sie Zugriff erhalten haben, als Ihnen die Google-Gruppe elevated-compute-access zugewiesen wurde.

    Sie sehen die Compute Engine-Instanz example-instance-1, die Sie mit Ihrem Administratorkonto erstellt haben.

Audit-Logs prüfen

Als Google Cloud-Administrator können Sie auf die generierten Audit-Logs zugreifen und diese prüfen.

  1. Melden Sie sich in der Cloud Console mit einem Nutzerkonto an, das Administratorberechtigungen hat, um auf Audit-Logs zuzugreifen.

  2. Geben Sie in Cloud Logging die folgende Abfrage ein, um die Datenzugriffslogs zu prüfen:

    logName="projects/<PROJECT_ID>/logs/cloudaudit.googleapis.com%2Fdata_access"
    AND
    protoPayload.authenticationInfo.principalEmail="elevated-compute-access@PROJECT_ID.iam.gserviceaccount.com"
    

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID und führen Sie dann die Abfrage aus.

    Diese Abfrage zeigt Ihnen, welcher Nutzer in der Google-Gruppe die Identität des Dienstkontos verwendet hat, um auf die Compute Engine-Instanz zuzugreifen. Es werden auch weitere relevante Details angezeigt, z. B. wann die Identität des Dienstkontos übernommen wurde, sowie weitere Details zu den Anfrage-Headern.

  3. Prüfen Sie die Nutzlast des Audit-Logs, insbesondere das Objekt protoPayload.authenticationInfo in der Nutzlast. Der Nutzername des Nutzers, der die Identität des Dienstkontos übernommen hat, wird als Wert des Schlüssels principalEmail des Objekts firstPartyPrincipal protokolliert.

  4. Als Administrator können Sie die Ergebnisse auch auf dem Dashboard des Security Command Center überprüfen. Weitere Informationen zum Security Command Center finden Sie unter Event Threat Detection verwenden.

Nächste Schritte