Geringste Berechtigung mit Empfehlungen durchsetzen

Diese Seite bietet eine Übersicht über den IAM-Recommender. Mit dem IAM-Recommender können Sie das Prinzip der geringsten Berechtigung erzwingen und Mitgliedern nur die Berechtigungen erteilen, die sie tatsächlich benötigen.

Funktionsweise des IAM-Recommenders

IAM vergleicht mithilfe des Recommenders die Rollenzuweisungen auf Projektebene mit den Berechtigungen, die die Mitglieder in den letzten 90 Tagen genutzt haben. Wenn Sie einem Mitglied eine Rolle auf Projektebene zugewiesen haben und das Mitglied nicht alle Berechtigungen dieser Rolle nutzt, empfiehlt der IAM-Recommender wahrscheinlich, die Rolle zu widerrufen. Bei Bedarf werden vom IAM-Recommender auch striktere Rollen als Alternative empfohlen. Dieser empfohlene Ersatz kann eine neue oder vorhandene benutzerdefinierte Rolle, aber auch eine oder mehrere vordefinierte Rollen sein. Allerdings schlägt der IAM-Recommender in keinem Fall eine Änderung vor, die die Zugriffsebene eines Mitglieds erhöht.

Der IAM-Recommender ermittelt mithilfe des maschinellen Lernens auch Berechtigungen der aktuellen Rolle eines Mitglieds, die es vermutlich in Zukunft benötigt, auch wenn das Mitglied diese Berechtigungen in den letzten 90 Tagen nicht genutzt hat.

Der IAM-Recommender wendet Empfehlungen nicht automatisch an. Sie müssen deshalb jede Empfehlung prüfen und dann die Empfehlung übernehmen oder ablehnen.

Der IAM-Recommender wertet nur Rollenzuweisungen aus, die auf Projektebene erteilt wurden und seit mindestens 90 Tagen bestehen. Folgendes wird nicht ausgewertet:

  • Rollenzuweisungen auf Ordner- und Organisationsebene
  • Rollenzuweisungen unterhalb der Projektebene, also für dienstspezifische Ressourcen innerhalb eines Projekts
  • Bedingte Rollenzuweisungen
  • Rollenzuweisungen für von Google verwaltete Dienstkonten
  • Zugriffssteuerungen, die nicht über IAM festgelegt wurden

Von einzelnen Mitgliedern genutzte Berechtigungen

Zum Erstellen von Empfehlungen ermittelt der IAM-Recommender die Berechtigungen, die die einzelnen Mitglieder in den letzten 90 Tagen genutzt haben. Es gibt verschiedene Möglichkeiten für ein Mitglied, eine Berechtigung anzuwenden:

  • Direkt durch Aufrufen einer API, die die Berechtigung benötigt

    Für die Methode roles.list in der IAM REST API ist beispielsweise die Berechtigung iam.roles.list erforderlich. Wenn Sie die Methode roles.list aufrufen, verwenden Sie die Berechtigung iam.roles.list.

    Ebenso nutzen Sie beim Aufrufen der Methode testIamPermissions für eine Ressource im Prinzip alle Berechtigungen, die Sie testen.

  • Indirekt, wenn die Google Cloud Console für die Nutzung von Google Cloud-Ressourcen verwendet wird

    In der Cloud Console können Sie beispielsweise eine Compute Engine-VM-Instanz bearbeiten, für die je nach der Einstellung, die Sie ändern möchten, unterschiedliche Berechtigungen benötigt werden. In der Cloud Console werden aber immer alle Einstellungen angezeigt. Dafür ist die Berechtigung compute.instances.get erforderlich.

    Wenn Sie eine VM-Instanz in der Cloud Console bearbeiten, verwenden Sie daher die Berechtigung compute.instances.get.

Maschinelles Lernen

In manchen Fällen benötigt ein Mitglied möglicherweise bestimmte Berechtigungen, die in seinen aktuellen Rollen enthalten sind, aber in den letzten 90 Tagen nicht genutzt wurden. Zur Ermittlung dieser Berechtigungen verwendet der IAM-Recommender ein Modell für maschinelles Lernen (ML-Modell).

Das ML-Modell des IAM-Recommenders wird mit mehreren Gruppen von Signalen trainiert:

  • Häufig auftretende gemeinsame Muster im ermittelten Verlauf: Die Tatsache, dass ein Nutzer in der Vergangenheit die Berechtigungen A, B und C genutzt hat, gibt einen Hinweis darauf, dass A, B und C in irgendeiner Weise zusammengehören und dass sie zusammen benötigt werden, um eine Aufgabe in Google Cloud auszuführen. Wenn das ML-Modell dieses Muster häufig genug feststellt, wird angenommen, dass ein anderer Nutzer möglicherweise auch die Berechtigung C benötigt, wenn er das nächste Mal die Berechtigungen A und B nutzt.

  • In die Rollendefinitionen eingebundene Fachkompetenz: IAM bietet Hunderte vordefinierter dienstspezifischer Rollen. Wenn eine vordefinierte Rolle eine Reihe von Berechtigungen enthält, ist dies ein deutlicher Hinweis darauf, dass diese Berechtigungen gemeinsam gewährt werden sollten.

Zusätzlich zu diesen Hinweisen verwendet das Modell auch Worteinbettung, um die semantische Ähnlichkeit der Berechtigungen zu berechnen. Semantisch ähnliche Berechtigungen liegen nach der Einbettung "nahe" beisammen und werden eher gemeinsam erteilt. Beispielsweise liegen bigquery.datasets.get und bigquery.tables.list nach der Einbettung sehr nahe beisammen.

Alle Daten, die in der IAM-Recommender-ML-Pipeline verwendet werden, haben eine k-Anonymität. Das bedeutet, dass einzelne Personen im anonymisierten Dataset nicht neu identifiziert werden können. Um dieses Maß an Anonymität zu gewährleisten, entfernen wir alle personenbezogenen Daten, z. B. die Nutzer-ID bei den einzelnen Nutzungsmustern der Berechtigung. Anschließend werden alle Nutzungsmuster gelöscht, die in Google Cloud nicht häufig genug auftreten. Das globale Modell wird dann mit diesen anonymisierten Daten trainiert.

Das globale Modell kann mithilfe von föderiertem Lernen für jede Organisation weiter angepasst werden. Dies ist ein maschinelles Lernverfahren, das ML-Modelle trainiert, ohne Daten zu exportieren.

Insights

Empfehlungen werden auf einer oder mehreren IAM-Statistiken erstellt. IAM-Richtlinienstatistiken sind ML-basierte Ergebnisse über die Nutzung von Berechtigungen in Ihrem Projekt.

Einige Statistiken stellen Informationen bereit, mit denen sich Empfehlungen belegen lassen. Sie können die Statistiken jedoch unabhängig von den Empfehlungen verwenden. Weitere Informationen finden Sie unter Statistiken verwenden.

Audit-Logging

Wenn Sie eine Empfehlung übernehmen oder ablehnen, erstellt der IAM-Recommender einen entsprechenden Logeintrag. Sie können diese Einträge im IAM-Recommender ansehen oder sie in Ihren Google Cloud-Audit-Logs abrufen.

Andere Arten von Zugriffssteuerungen

Einige Google Cloud-Dienste ermöglichen eine Zugriffssteuerung unabhängig von IAM. Cloud Storage bietet beispielsweise Access Control Lists (ACLs) und Google Kubernetes Engine (GKE) unterstützt die rollenbasierte Zugriffssteuerung (RBAC) von Kubernetes.

Der IAM-Recommender analysiert nur Zugriffssteuerungen von IAM. Wenn Sie andere Arten von Zugriffssteuerungen nutzen, sollten Sie die Empfehlungen sorgfältig prüfen und beachten, wie diese Zugriffssteuerungen und Ihre IAM-Richtlinien zusammenhängen.

Empfehlungen prüfen

Wenn Sie in der Cloud Console auf eine Empfehlung klicken, wird eine farb- und symbolcodierte Liste der Berechtigungen angezeigt. Diese Liste gibt an, wie sich die Berechtigungen des Mitglieds ändern, wenn Sie die Empfehlung übernehmen.

Die einzelnen Farben und Symbole stehen für folgende Berechtigungen:

  • Grau ohne Symbol: Berechtigungen, die sowohl in der aktuellen Rolle des Mitglieds als auch in den empfohlenen Rollen enthalten sind.

  • Rot mit Minuszeichen Berechtigungen, die in der aktuellen Rolle des Mitglieds, aber nicht in den empfohlenen Rollen enthalten sind, da das Mitglied sie in den letzten 90 Tagen nicht genutzt hat.

  • Blau mit Symbol für maschinelles Lernen : Berechtigungen, die sowohl in der aktuellen Rolle des Mitglieds als auch in den empfohlenen Rollen enthalten sind, und zwar nicht, weil das Mitglied die Berechtigungen in den letzten 90 Tagen genutzt hat, sondern weil der Recommender durch maschinelles Lernen festgestellt hat, dass es diese Berechtigungen in Zukunft vermutlich benötigt. Diese Seite enthält ein Beispiel für ein Szenario, in dem möglicherweise eine Berechtigung vom maschinellen Lernen vorgeschlagen wird.

Empfehlungen für benutzerdefinierte Rollen

Wenn der IAM-Recommender empfiehlt, eine Rolle zu ersetzen, schlägt er immer eine vorhandene benutzerdefinierte Rolle oder eine oder mehrere vordefinierte Rollen vor, die den Anforderungen des Mitglieds besser entsprechen.

In einigen Fällen schlägt er auch vor, eine neue benutzerdefinierte Rolle zu erstellen, die nur die empfohlenen Berechtigungen enthält. Sie können die Empfehlungen für benutzerdefinierte Rollen ändern und Berechtigungen hinzufügen oder entfernen.

Um das Prinzip der geringsten Berechtigung so strikt wie möglich umzusetzen, sollten Sie die neue benutzerdefinierte Rolle anwenden. Der IAM-Recommender erstellt die benutzerdefinierte Rolle auf Projektebene. Dabei sind Sie für die Verwaltung und Aktualisierung der benutzerdefinierten Rollen für Ihre Projekte verantwortlich.

Wenn Sie eine von Google verwaltete Rolle nutzen möchten, wählen Sie die vordefinierte Rolle. Google Cloud aktualisiert diese Rollen regelmäßig durch Hinzufügen oder Entfernen von Berechtigungen. Wenn Sie über diese Aktualisierungen benachrichtigt werden möchten, abonnieren Sie den Nachrichten-Feed für das Änderungslog der IAM-Berechtigungen. Wenn Sie die vordefinierte Rolle zuweisen, hat das Mitglied weiterhin mindestens bestimmte Berechtigungen und möglicherweise eine große Anzahl von Berechtigungen, die es noch nicht genutzt hat.

Der IAM-Recommender empfiehlt in den folgenden Fällen keine neuen benutzerdefinierten Rollen:

  • Ihre Organisation enthält bereits 100 oder mehr benutzerdefinierte Rollen.
  • Ihr Projekt enthält bereits 25 oder mehr benutzerdefinierte Rollen.

Außerdem empfiehlt der IAM-Recommender nicht mehr als 5 neue benutzerdefinierte Rollen pro Tag in jedem Projekt und nicht mehr als 15 neue benutzerdefinierte Rollen in der gesamten Organisation.

Beispiele für Rollenempfehlungen

Die folgenden Beispiele zeigen verschiedene Arten von möglichen Empfehlungen.

Vorhandene Rolle widerrufen

Dem Nutzer my-user@example.com wurde in einem Projekt die Rolle „Sucher“ zugewiesen. Die Rolle „Sucher“ umfasst sechs Berechtigungen, mit denen sich der Nutzer Ressourcen im Projekt ansehen kann. In den letzten 90 Tagen hat sich my-user@example.com jedoch keine Ressourcen angesehen.

Daher schlägt der IAM Recommender vor, dass Sie die Rolle „Sucher“ von my-user@example.com widerrufen:

Vorhandene Rolle ersetzen

Einem Dienstkonto wurde die Rolle „Bearbeiter“ (roles/editor) für ein Projekt zugewiesen. Diese einfache Rolle umfasst mehr als 3.000 Berechtigungen und ermöglicht umfassenden Zugriff auf das Projekt. In den letzten 90 Tagen hat das Dienstkonto nur wenige dieser Berechtigungen verwendet.

Daher schlägt der IAM Recommender vor, dass Sie die Rolle „Bearbeiter“ widerrufen und durch eine Kombination aus zwei anderen Rollen ersetzen. Dadurch werden Tausende unnötige Berechtigungen entfernt:

Benutzerdefinierte Rolle erstellen

Dem Nutzer my-user@example.com wurde für ein Projekt die Rolle „Cloud Trace-Administrator“ (roles/cloudtrace.admin) zugewiesen. Die Rolle umfasst mehr als 10 Berechtigungen, aber in den letzten 90 Tagen hat my-user@example.com nur 4 dieser Berechtigungen genutzt.

Daher schlägt der IAM-Recommender vor, eine benutzerdefinierte Rolle zu erstellen, die nur die Berechtigungen enthält, die my-user@example.com tatsächlich verwendet hat:

Der IAM Recommender schlägt auch eine weitere Option vor, wodurch die vorhandene Rolle durch die Rolle „Cloud Trace-Nutzer“ (roles/cloudtrace.user) ersetzt wird. Diese vordefinierte Rolle umfasst etwas weniger Berechtigungen als die Rolle „Cloud Trace-Administrator“.

Rollenaustausch mit von maschinellem Lernen vorgeschlagenen Berechtigungen

Einem Dienstkonto wurde die Rolle „Bearbeiter“ (roles/editor) für ein Projekt zugewiesen. Diese einfache Rolle umfasst mehr als 3.000 Berechtigungen und gewährt umfassenden Zugriff auf ein Projekt. In den letzten 90 Tagen hat das Dienstkonto jedoch weniger als 10 Berechtigungen genutzt.

Der IAM-Recommender empfiehlt, dass Sie die Rolle „Bearbeiter“ widerrufen und durch die Rolle „Storage-Objekt-Administrator“ ersetzen (roles/storage.objectAdmin). Diese Rolle bietet vollständige Kontrolle über Objekte in einem Cloud Storage-Bucket. Durch diese Änderung werden Tausende unnötige Berechtigungen entfernt.

Die Rolle umfasst mehrere Berechtigungen aus der Rolle „Bearbeiter“, die das Dienstkonto in den letzten 90 Tagen nicht genutzt hat. Mithilfe des maschinellen Lernens prognostiziert der IAM-Recommender jedoch, dass das Dienstkonto diese Berechtigungen in Zukunft benötigt.

Der IAM-Recommender verwendet ein Symbol für maschinelles Lernen  zur Kennzeichnung dieser zusätzlichen Berechtigungen. In diesem Beispiel wurde die Berechtigung resourcemanager.projects.get auf der Grundlage des maschinellen Lernens empfohlen:

Verfügbarkeit von Empfehlungen

In der Cloud Console werden auf der Seite IAM alle Mitglieder Ihres Projekts und deren Rollen im Projekt angezeigt. Außerdem wird angegeben, ob für jede Rolle eine Empfehlung verfügbar ist.

Wenn Empfehlungen vorhanden sind, wird in der Cloud Console das Symbol Empfehlung verfügbar angezeigt. Dieses Symbol weist darauf hin, dass das Mitglied Berechtigungen hat, die es möglicherweise nicht benötigt. Klicken Sie auf das Symbol, um die Empfehlung zu prüfen und anzuwenden.

Es ist nicht ungewöhnlich, dass einige Mitglieder Ihres Projekts nur wenige oder keine Empfehlungen haben. Sind für ein Mitglied keine Empfehlungen für eine bestimmte Rolle angegeben, kann dies verschiedene Gründe haben:

  • Es sind keine vordefinierten IAM-Rollen vorhanden, die besser geeignet sind als die aktuelle Rolle. Wenn ein Mitglied bereits eine vordefinierte Rolle hat, die seine Berechtigungen minimiert oder die weniger Berechtigungen als andere vordefinierte Rollen enthält, empfiehlt der IAM-Recommender keine andere vordefinierte Rolle.

    Sie können eventuell die Berechtigungen des Mitglieds einschränken und dafür eine benutzerdefinierte Rolle für das Mitglied erstellen.

  • Es sind nicht genügend Nutzungsdaten für das Mitglied vorhanden. Wenn der IAM-Recommender nicht genügend Informationen darüber hat, wie das Mitglied Google Cloud verwendet, kann er keine Empfehlungen für die Rollen dieses Mitglieds abgeben.

    Möglicherweise werden später Empfehlungen für das Mitglied angezeigt, wenn der IAM-Recommender weitere Daten erfasst hat.

  • Das Mitglied ist ein von Google verwaltetes Dienstkonto. Damit von Google verwaltete Dienstkonten bei Bedarf auf Ihre Ressourcen zugreifen können, analysiert der IAM-Recommender keine Rollen, die einem von Google verwalteten Dienstkonto zugewiesen sind.

  • Die Rollenbindung ist an Bedingungen geknüpft. Wenn die Rollenbindung eine Bedingung enthält, wird die Rolle nur zugewiesen, wenn bestimmte Berechtigungen vorhanden sind. Der IAM-Recommender gibt für solche Rollenbindungen keine Empfehlungen ab.

  • Kein anderes Mitglied hat die einfache Rolle "Inhaber" für das Projekt. Für jedes Projekt muss mindestens ein Mitglied die Rolle "Inhaber" (roles/owner) haben. Wenn diese Rolle nur einem Mitglied zugewiesen ist, wird vom IAM-Recommender nicht empfohlen, diese Rolle zu widerrufen oder zu ersetzen.

  • Die aktuelle Empfehlung für die Rollenbindung wurde abgelehnt oder angewendet und dann rückgängig gemacht. Wenn Sie die Empfehlung, die Rolle eines Mitglieds zu ändern, ablehnen oder wenn Sie eine Empfehlung übernehmen und dann wieder rückgängig machen, wird diese Empfehlung nicht mehr in der Cloud Console angezeigt.

    Wenn der IAM-Recommender später eine neue Empfehlung zur Änderung der Mitgliederrolle abgibt, wird diese in der Cloud Console auch dann angezeigt, wenn Sie die vorherige Empfehlung abgelehnt oder rückgängig gemacht haben.

    Im Empfehlungsverlauf können Sie abgelehnte und rückgängig gemachte Empfehlungen einsehen. Abgelehnte Empfehlungen sind verfügbar, bis sie veraltet sind. Rückgängig gemachte Empfehlungen sind 90 Tage verfügbar.

Erforderliche IAM-Berechtigungen

In diesem Abschnitt werden die IAM-Berechtigungen beschrieben, die Sie benötigen, um den IAM-Recommender nutzen zu können.

Empfehlungen abrufen

Zum Abrufen von Empfehlungen aus dem IAM-Recommender benötigen Sie die folgenden Berechtigungen für das jeweilige Projekt:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • resourcemanager.projects.getIamPolicy

Um diese Berechtigungen übernehmen und gleichzeitig das Prinzip der geringsten Berechtigung umsetzen zu können, bitten Sie Ihren Administrator, Ihnen die folgenden vordefinierten Rollen zuzuweisen:

  • Rollenbetrachter (roles/iam.roleViewer)
  • Entweder IAM Recommender-Betrachter (roles/recommender.iamViewer) oder IAM-Sicherheitsprüfer (roles/iam.securityReviewer)

Alternativ kann Ihr Administrator Ihnen eine andere Rolle zuweisen, die die erforderlichen Berechtigungen enthält, z. B. eine benutzerdefinierte Rolle oder eine vordefinierte Rolle mit mehr Berechtigungen.

Empfehlungen anwenden und ablehnen

Zum Übernehmen und Ablehnen von Empfehlungen des IAM-Recommenders benötigen Sie die folgenden Berechtigungen für das Projekt, das Sie verwalten:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

Um diese Berechtigungen übernehmen und gleichzeitig das Prinzip der geringsten Berechtigung umsetzen zu können, bitten Sie Ihren Administrator, Ihnen die folgenden vordefinierten Rollen zuzuweisen:

  • Rollenbetrachter (roles/iam.roleViewer)
  • IAM Recommender-Administrator (roles/recommender.iamAdmin)
  • Projekt-IAM-Administrator (roles/resourcemanager.projectIamAdmin)

Alternativ kann Ihr Administrator Ihnen eine andere Rolle zuweisen, die die erforderlichen Berechtigungen enthält, z. B. eine benutzerdefinierte Rolle oder eine vordefinierte Rolle mit mehr Berechtigungen.

Weitere Informationen