Mit Rollenempfehlungen können Sie unnötige Berechtigungen für Ihre Hauptkonten ermitteln und entfernen und so die Sicherheitskonfigurationen Ihrer Ressourcen verbessern.
Rollenempfehlungen
Rollenempfehlungen werden vom IAM-Recommender generiert. Der IAM-Recommender ist einer der Recommender, die von Recommender angeboten werden.
Jede Rollenempfehlung schlägt vor, eine Rolle zu entfernen oder zu ersetzen, die Ihren Hauptkonten unnötige Berechtigungen gewährt. Anhand dieser Empfehlungen können Sie das Prinzip der geringsten Berechtigung durchsetzen und Hauptkonten nur die Berechtigungen erteilen, die sie tatsächlich benötigen.
Der IAM-Recommender ermittelt nicht erforderliche Berechtigungen mithilfe von Richtlinienstatistiken. Richtlinienstatistiken sind ML-basierte Ergebnisse zur Berechtigungsnutzung eines Hauptkontos.
Einige Empfehlungen beziehen sich auch auf Statistiken zum "Lateral Movement". Mit diesen Informationen werden Rollen identifiziert, mit denen Dienstkonten in einem Projekt die Identität von Dienstkonten in einem anderen Projekt übernehmen können. Weitere Informationen finden Sie unter Statistiken zum "Lateral Movement" generieren.
So werden Richtlinienstatistiken generiert
Richtlinienstatistiken zeigen, welche Berechtigungen in einer bestimmten Rollenbindung ein Hauptkonto verwendet hat.
Der IAM-Recommender generiert Richtlinienstatistiken. Dazu wird die Gesamtzahl der Berechtigungen eines Hauptkontos mit den Berechtigungen verglichen, die das Hauptkonto in den letzten 90 Tagen verwendet hat. Wenn die Rollenbindung vor mehr als 90 Tagen erstellt wurde, prüft der IAM-Recommender die Berechtigungsnutzung des Hauptkontos in der Zeit seit Erstellung der Bindung.
Es gibt mehrere Möglichkeiten, wie ein Hauptkonto eine Berechtigung verwenden kann:
Direkt durch Aufrufen einer API, die die Berechtigung benötigt
Für die Methode
roles.list
in der IAM REST API ist beispielsweise die Berechtigungiam.roles.list
erforderlich. Wenn Sie die Methoderoles.list
aufrufen, verwenden Sie die Berechtigungiam.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 Google Cloud Console können Sie beispielsweise eine Compute Engine-VM-Instanz bearbeiten, für die unterschiedliche Berechtigungen erforderlich sind, je nachdem, welche Einstellungen Sie ändern. In der Google Cloud Console werden jedoch auch die vorhandenen Einstellungen angezeigt. Dafür ist die Berechtigung
compute.instances.get
erforderlich.Daher verwenden Sie beim Bearbeiten einer VM-Instanz in der Google Cloud Console die Berechtigung
compute.instances.get
.
Der IAM-Recommender verwendet außerdem maschinelles Lernen, um Berechtigungen in der aktuellen Rolle eines Hauptkontos zu identifizieren, die das Hauptkonto in Zukunft wahrscheinlich benötigt, auch wenn das Hauptkonto diese Berechtigungen in letzter Zeit nicht verwendet hat. Weitere Informationen finden Sie auf dieser Seite unter Maschinelles Lernen für Richtlinieninformationen.
Richtlinienstatistiken werden nicht für alle IAM-Rollenbindungen generiert. Weitere Informationen dazu, warum eine Rollenbindung möglicherweise keine Richtlinienstatistiken enthält, finden Sie unter Verfügbarkeit auf dieser Seite.
Informationen zum Verwalten von Richtlinienstatistiken finden Sie unter Richtlinienstatistiken für Projekte, Ordner und Organisationen verwalten oder Richtlinienstatistiken für Cloud Storage-Buckets verwalten.
Maschinelles Lernen für Richtlinienstatistiken
In manchen Fällen benötigt ein Hauptkonto möglicherweise bestimmte Berechtigungen, die in seinen aktuellen Rollen enthalten sind, aber in letzter Zeit nicht verwendet wurden. Zum Generieren dieser Berechtigungen verwendet der IAM-Recommender ein Modell für maschinelles Lernen (ML), um Richtlinienstatistiken zu erstellen.
Dieses ML-Modell 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. Beispiel: bigquery.datasets.get
und bigquery.tables.list
liegen nach der Einbettung sehr nahe beieinander.
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.
So werden Rollenempfehlungen generiert
Wenn eine Richtlinienstatistiken angibt, dass ein Hauptkonto nicht alle Berechtigungen in seiner Rolle benötigt, prüft der IAM-Recommender die Rolle, um festzustellen, ob sie widerrufen werden kann oder ob eine andere Rolle besser geeignet ist. Wenn die Rolle widerrufen werden kann, erstellt der IAM-Recommender eine Rollenempfehlung zum Widerrufen der Rolle. Wenn eine andere Rolle besser passt, generiert der IAM-Recommender eine Rollenempfehlung, um die Rolle durch eine vorgeschlagene Rolle zu ersetzen. Diese empfohlene Rolle kann eine vorhandene oder eine neue benutzerdefinierte Rolle oder auch eine oder mehrere vordefinierte Rollen sein. Abgesehen von Empfehlungen für von Google verwaltete Dienstkonten schlägt eine Rollenempfehlung niemals eine Änderung vor, die die Zugriffsebene eines Hauptkontos erhöht.
Rollenempfehlungen werden ausschließlich basierend auf IAM-Zugriffssteuerungen generiert. Andere Arten von Zugriffssteuerungen wie Access Control Lists (ACLs) und die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) von Kubernetes werden dabei nicht berücksichtigt. Wenn Sie andere Arten von Zugriffssteuerungen nutzen, sollten Sie die Empfehlungen sorgfältig prüfen und beachten, wie diese Zugriffssteuerungen und Ihre "allow"-Richtlinien zusammenhängen.
Darüber hinaus werden Rollenempfehlungen nicht für alle IAM-Rollenbindungen generiert. Weitere Informationen dazu, warum eine Rollenbindung möglicherweise keine Rollenempfehlung enthält, finden Sie auf dieser Seite unter Verfügbarkeit.
Beobachtungszeitraum
Der Beobachtungszeitraum für eine Rollenempfehlung ist die Anzahl der Tage, für die die Berechtigungsnutzungsdaten basieren, auf der die Empfehlung basiert.
Der maximale Beobachtungszeitraum für Rollenempfehlungen beträgt 90 Tage. Das heißt, der IAM-Recommender verwendet höchstens die letzten 90 Tage der Berechtigungsnutzungsdaten, um Rollenempfehlungen zu generieren.
Der IAM-Recommender beginnt auch erst damit, Rollenempfehlungen zu generieren, wenn eine bestimmte Anzahl von Tagen für die Berechtigungsnutzung vorliegt. Diese Dauer wird als Mindestbeobachtungszeitraum bezeichnet. Standardmäßig beträgt die Mindestdauer für die Beobachtung 90 Tage. Für Rollenempfehlungen auf Projektebene können Sie sie jedoch manuell auf 30 oder 60 Tage festlegen. Weitere Informationen finden Sie unter Empfehlung für Rollenempfehlungen konfigurieren. Wenn Sie den Beobachtungszeitraum auf weniger als 90 Tage festlegen, erhalten Sie die Empfehlungen früher, dies kann sich jedoch auf die Genauigkeit der Empfehlungen auswirken.
Wenn eine Rollenbindung älter als der Mindestbeobachtungszeitraum, aber neuer als 90 Tage ist, ist die Beobachtungsdauer die Lebensdauer der Rollenbindung.
Neue benutzerdefinierte Rollen in Rollenempfehlungen
Wenn der IAM-Recommender Alternativen für eine Rolle vorschlägt, schlägt er immer eine vorhandene benutzerdefinierte Rolle oder eine oder mehrere vordefinierte Rollen vor, die besser zu den Anforderungen des Hauptkontos passen.
Wenn der IAM-Recommender ein gängiges Berechtigungsnutzungsmuster in Ihrer Organisation ermittelt, das keiner vorhandenen vordefinierten oder benutzerdefinierten Rolle zugeordnet ist, sollten Sie möglicherweise eine neue benutzerdefinierte Rolle auf Projektebene erstellen. Diese benutzerdefinierte Rolle enthält nur die empfohlenen Berechtigungen. 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 auswählen, hat das Hauptkonto weiterhin mindestens einige Berechtigungen und möglicherweise eine große Anzahl von Berechtigungen, die es nicht verwendet hat.
Der IAM-Recommender empfiehlt in den folgenden Fällen keine neuen benutzerdefinierten Rollen:
- Die Empfehlung gilt für eine Rolle auf Ordner- oder Organisationsebene.
- 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.
Statistiken zum "Lateral Movement" generieren
Ein "Lateral Movement" besteht, wenn ein Dienstkonto in einem Projekt die Berechtigung hat, die Identität eines Dienstkontos in einem anderen Projekt zu übernehmen. Beispielsweise kann es sein, dass ein Dienstkonto in Projekt A erstellt wurde, aber berechtigt ist, die Identität eines Dienstkontos in Projekt B zu übernehmen.
Diese Berechtigungen können zu einer Kette von Identitätsübertragungen über Projekte hinweg führen, die Hauptkonten unbeabsichtigten Zugriff auf Ressourcen gewähren. Wenn ein Hauptkonto beispielsweise die Identität des Dienstkontos in Projekt A übernimmt, können die zugehörigen Berechtigungen auch die Übernahme der Identität des Dienstkontos in Projekt B ermöglichen. Wenn das Dienstkonto in Projekt B die Berechtigung hat, die Identität anderer Dienstkonten in anderen Projekten Ihrer Organisation zu übernehmen, kann das Hauptkonto weiterhin die Identität des Dienstkontos verwenden, um von Projekt zu Projekt zu wechseln. Dabei werden die Berechtigungen übernommen.
Der IAM-Recommender erstellt Statistiken zu Lateral-Moves und identifiziert Rollenbindungen, die den folgenden Kriterien entsprechen:
- Das Hauptkonto in der Rollenbindung ist ein Dienstkonto, das nicht im Projekt erstellt wurde.
Die Rolle enthält eine der folgenden Berechtigungen, mit denen ein Hauptkonto die Identität eines Dienstkontos übernehmen kann:
iam.serviceAccounts.actAs
iam.serviceAccounts.getAccessToken
iam.serviceAccounts.getOpenIdToken
iam.serviceAccounts.implicitDelegation
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
Wenn eine Rollenbindung diese Kriterien erfüllt, erstellt der IAM-Recommender eine Statistik zur seitlichen Bewegung für die Bindung. Diese Statistik enthält Informationen zu den Möglichkeiten der Identitätsübertragung eines Dienstkontos, einschließlich der Dienstkonten, deren Identität angenommen werden kann. Sie enthält auch Informationen darüber, ob in den letzten 90 Tagen Berechtigungen zur Identitätsübertragung verwendet wurden.
Der IAM-Recommender verwendet keine Statistiken zu seitlichen Bewegungen allein, um neue Rollenempfehlungen zu generieren. Das liegt daran, dass der IAM-Recommender nicht sicher vorschlägt, wenn ein Dienstkonto seine Identitätswechselberechtigungen verwendet. Wenn eine Rollenempfehlung jedoch vorschlägt, diese Berechtigungen zu entfernen, da sie nicht verwendet werden, verknüpft der IAM-Recommender die Informationen zur seitlichen Bewegung mit dieser Empfehlung. Diese Verknüpfung hilft Ihnen, Rollenempfehlungen für Dienstkonten zu priorisieren, die leistungsstarke, nicht verwendete Identitätswechselberechtigungen für Projekte haben.
Informationen zum Verwalten von Statistiken für "Lateral Movement" finden Sie unter Statistiken zum "Lateral Movement" verwalten.
Verfügbarkeit
Richtlinienstatistiken, Informationen zu seitlichen Bewegungen und Rollenempfehlungen werden nicht für jede Rollenbindung generiert. In den folgenden Abschnitten erfahren Sie mehr über die Rollenbindungen, für die Informationen zu Richtlinien, seitlichen Bewegungen und Empfehlungen generiert werden.
Verfügbarkeit von Richtlinienstatistiken
Damit der IAM-Recommender eine Richtlinienstatistik für eine Rollenbindung generieren kann, müssen folgende Bedingungen erfüllt sein:
Die IAM-Zulassungsrichtlinie, die die Rollenbindung enthält, muss an eine der folgenden Ressourcen angehängt werden:
- Cloud Storage-Bucket
- Projekt
- Ordner
- Organisation
Der IAM-Recommender generiert nur Richtlinienstatistiken für Rollen, die für diese Ressourcen gewährt werden.
Die Rollenbindung darf keine Bedingung enthalten. Der IAM-Recommender generiert keine Richtlinienstatistiken für bedingte Rollenbindungen.
Es kann bis zu zehn Tage dauern, bis der IAM-Recommender Richtlinienstatistiken für eine neue Rollenbindung generiert hat.
Verfügbarkeit von Statistiken zum "Lateral Movement"
Statistiken zu seitlichen Bewegungen werden für Rollenbindungen der folgenden Ressourcen generiert:
- Organisationen
- Ordner
- Projekte
- Dienstkonten
Verfügbarkeit von Rollenempfehlungen
Damit der IAM-Recommender eine Rollenempfehlung für eine Rollenbindung generieren kann, müssen folgende Bedingungen erfüllt sein:
- Mit der Rollenbindung muss eine Richtlinienstatistik verknüpft sein. Diese Richtlinie dient als Grundlage für die Empfehlung.
- Die Rollenbindung muss älter sein als der Mindestbeobachtungszeitraum. Dadurch wird sichergestellt, dass der IAM-Recommender genügend Nutzungsdaten für eine Empfehlung hat. Die Mindestdauer beträgt standardmäßig 90 Tage, Sie können sie jedoch manuell auf 30 oder 60 Tage festlegen. Weitere Informationen finden Sie unter Empfehlung für Rollenempfehlungen konfigurieren.
- Wenn das Hauptkonto in der Rollenbindung ein von Google verwaltetes Dienstkonto ist, muss die Rollenbindung "Inhaber", "Bearbeiter" oder "Betrachter" sein. Der IAM-Recommender generiert keine Rollenempfehlungen für von Google verwaltete Dienstkonten mit anderen Rollen. Weitere Informationen finden Sie unter Rollenempfehlungen für von Google verwaltete Dienstkonten.
Wenn eine Rollenbindung zu neu ist oder keine Statistiken hat, wird in der Spalte Analysierte Berechtigungen in der Google Cloud Console das Symbol
angezeigt.Es gibt einige Fälle, in denen der IAM-Recommender keine Rollenempfehlungen für eine Rollenbindung generiert, obwohl er alt genug ist und mit ihm verknüpft ist. Das kann folgende Gründe haben:
Es sind keine vordefinierten IAM-Rollen vorhanden, die besser geeignet sind als die aktuelle Rolle. Wenn ein Hauptkonto bereits eine vordefinierte Rolle hat, die seine Berechtigungen minimiert oder die weniger Berechtigungen als andere vordefinierte Rollen enthält, kann der IAM-Recommender keine andere vordefinierte Rolle empfehlen.
Sie können eventuell die Berechtigungen des Hauptkontos einschränken und dafür eine benutzerdefinierte Rolle für das Hauptkonto erstellen.
Das Hauptkonto ist ein von Google verwaltetes Dienstkonto und die Rolle ist keine einfache Rolle. Der IAM-Recommender generiert nur dann Rollenempfehlungen für von Google verwaltete Dienstkonten, wenn das Dienstkonto eine einfache Rolle hat (Inhaber, Bearbeiter oder Betrachter). Weitere Informationen finden Sie unter Rollenempfehlungen für von Google verwaltete Dienstkonten.
Kein anderes Hauptkonto hat die einfache Rolle "Inhaber" für das Projekt. Für jedes Projekt muss mindestens ein Hauptkonto die Rolle "Inhaber" (
roles/owner
) haben. Wenn nur ein Hauptkonto diese Rolle hat, empfiehlt der IAM-Recommender nicht, die Rolle zu widerrufen oder zu ersetzen.
In diesen Fällen wird in der Spalte Analysierte Berechtigungen in der Google Cloud Console die Berechtigungsnutzung des Hauptkontos angezeigt, aber nicht das Symbol Empfehlung verfügbar
.Priorität und Schweregrad
Die Empfehlungspriorität und der Schweregrad von Statistiken helfen Ihnen, die Dringlichkeit einer Empfehlung oder Statistik zu verstehen und entsprechend zu priorisieren.
Rollenempfehlungspriorität
Den Empfehlungen werden Prioritätsstufen zugewiesen, basierend auf ihrer empfundenen Dringlichkeit.
Die Prioritätsstufen reichen von P0
(höchste Priorität) bis P4
(niedrigste Priorität).
Die Priorität einer Rollenempfehlung hängt von der Rollenbindung ab, für die die Empfehlung gilt:
Details zur Empfehlung | Priorität | Erklärung |
---|---|---|
Empfehlungen für Rollenbindungen, die öffentlichen Zugriff auf Cloud Storage-Buckets gewähren | P1 |
Öffentlich zugängliche Buckets können von jedem im Internet aufgerufen werden. Wenn Sie den öffentlichen Zugriff entfernen, haben Sie mehr Kontrolle über Ihre Daten. |
Empfehlungen für Rollenbindungen, die einfache Rollen (Inhaber, Bearbeiter und Betrachter) für ein Projekt, einen Ordner oder eine Organisation gewähren | P2 |
Einfache Rollen sind hochgradig moderat. Durch die Anwendung von Empfehlungen für diese Rollen können die zu viel gewährten Berechtigungen erheblich reduziert werden. |
Empfehlungen, die keinen öffentlichen Zugriff oder einfache Rollen gewähren | P4 |
Mit diesen Empfehlungen können Sie zwar nicht erforderliche Berechtigungen reduzieren, sie entfernen aber weder öffentlichen Zugriff noch einfache Berechtigungen. Daher haben sie eine niedrigere Priorität. |
Schweregrad der Insights
Den Statistiken werden Schweregrade zugewiesen, die auf ihrer empfundene Dringlichkeit basieren. Schweregradstufen können LOW
, MEDIUM
, HIGH
oder CRITICAL
sein.
Der Schweregrad einer Richtlinienstatistik hängt von der Rollenbindung ab, für die die Statistik gilt:
Statistikdetails | Schweregrad | Erklärung |
---|---|---|
Informationen zu Rollenbindungen, die öffentlichen Zugriff auf Cloud Storage-Buckets gewähren | CRITICAL |
Öffentlich zugängliche Buckets können von jedem im Internet aufgerufen werden. Wenn Sie den öffentlichen Zugriff entfernen, haben Sie mehr Kontrolle über Ihre Daten. |
Informationen zu Rollenbindungen, die einfache Rollen (Inhaber, Bearbeiter und Betrachter) für ein Projekt, einen Ordner oder eine Organisation gewähren | HIGH |
Einfache Rollen sind sehr weit gefasst und die Erteilung von Informationen für diese Rollen kann die zu viel gewährten Berechtigungen erheblich reduzieren. |
Statistiken, die keinen öffentlichen Zugriff oder einfache Rollen gewähren | LOW |
Obwohl diese Informationen nicht erforderliche Berechtigungen hervorheben, umfassen sie keinen öffentlichen Zugriff oder einfache Berechtigungen mit hoher Berechtigungen. Sie haben daher eine niedrigere Priorität. |
Alle Statistiken zum "Lateral Movement" haben den Schweregrad LOW
.
So werden Rollenempfehlungen angewendet
Der IAM-Recommender wendet Empfehlungen nicht automatisch an. Stattdessen müssen Sie Ihre Empfehlungen prüfen und entscheiden, ob Sie sie anwenden oder ablehnen möchten. Informationen zum Prüfen, Anwenden und Ablehnen von Rollenempfehlungen finden Sie unter Rollenempfehlungen für Projekte, Ordner und Organisationen prüfen und anwenden oder Rollenempfehlungen für Cloud Storage-Buckets prüfen und anwenden.
Audit-Logging
Wenn Sie eine Empfehlung übernehmen oder ablehnen, erstellt der IAM-Recommender einen Logeintrag. Sie können diese Einträge im Empfehlungsverlauf oder in Ihren Google Cloud-Audit-Logs ansehen.
Untertypen von Rollenempfehlungen
Rollenempfehlungen werden je nach empfohlener Aktion in mehrere Untertypen aufgeteilt. Wenn Sie die gcloud CLI oder die REST API verwenden, können Sie Ihre Empfehlungen mithilfe dieser Untertypen filtern.
Untertyp | Beschreibung |
---|---|
REMOVE_ROLE |
Empfehlung, die Rolle des Hauptkontos auf Projekt-, Ordner- oder Organisationsebene zu entfernen. |
REMOVE_ROLE_STORAGE_BUCKET |
Empfehlung, die Rolle des Hauptkontos auf Bucket-Ebene zu entfernen. |
REPLACE_ROLE |
Eine Empfehlung zum Ersetzen der Rolle des Hauptkontos auf Projekt-, Ordner- oder Organisationsebene durch eine weniger strikte Rolle. Der empfohlene Ersatz kann eine vorhandene benutzerdefinierte Rolle oder eine oder mehrere vordefinierte Rollen sein. |
REPLACE_ROLE_CUSTOMIZABLE |
Es wird empfohlen, die Rolle des Hauptkontos durch eine neue benutzerdefinierte Rolle zu ersetzen, die weniger weitreichend als ihre aktuelle Rolle ist. |
REPLACE_ROLE_STORAGE_BUCKET |
Es wird empfohlen, die Rolle des Hauptkontos auf Bucket-Ebene durch eine weniger strikte Rolle zu ersetzen. Der empfohlene Ersatz kann eine vorhandene benutzerdefinierte Rolle oder eine oder mehrere vordefinierte Rollen sein. |
SERVICE_AGENT_WITH_DEFAULT_ROLE |
Es wird empfohlen, die Inhaber-, Bearbeiter- oder Betrachterrolle eines von Google verwalteten Dienstkontos durch die Rolle zu ersetzen, die dem Dienstkonto bei der Erstellung automatisch zugewiesen wurde. Weitere Informationen finden Sie unter Empfehlungen für von Google verwaltete Dienstkonten. |
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE |
Es wird empfohlen, die Inhaber-, Bearbeiter- oder Betrachterrolle eines von Google verwalteten Dienstkontos durch eine weniger strikte Rolle zu ersetzen. Weitere Informationen finden Sie unter Empfehlungen für von Google verwaltete Dienstkonten. |
Rollenempfehlungen für von Google verwaltete Dienstkonten
Bei von Google verwalteten Dienstkonten bietet der IAM-Recommender nur Empfehlungen für Rollenbindungen mit einfachen Rollen (Inhaber, Bearbeiter oder Betrachter).
Empfehlungen für von Google verwaltete Dienstkonten sind in zwei Empfehlungsuntertypen unterteilt.
SERVICE_AGENT_WITH_DEFAULT_ROLE
Einigen von Google verwalteten Dienstkonten wird bei der Erstellung automatisch eine Dienst-Agent-Rolle zugewiesen, damit Ihre Google Cloud-Dienste richtig funktionieren. Wenn Sie diese Rolle durch eine einfache Rolle (Inhaber, Bearbeiter oder Betrachter) ersetzen, empfiehlt eine Rollenempfehlung möglicherweise, dass Sie die ursprüngliche Rolle des Dienst-Agents wiederherstellen, um überflüssige Berechtigungen zu entfernen, selbst wenn die Dienst-Agent-Rolle Berechtigungen beinhaltet, die nicht in der einfachen Rolle enthalten sind. Diese Empfehlungen haben den Untertyp SERVICE_AGENT_WITH_DEFAULT_ROLE
. Sie helfen Ihnen dabei, überflüssige Berechtigungen zu entfernen und sicherzustellen, dass alle Google Cloud-Dienste richtig funktionieren.
SERVICE_AGENT_WITH_DEFAULT_ROLE
-Empfehlungen sind der einzige Typ von Empfehlung, der möglicherweise Rollen mit Berechtigungen vorschlagen kann, die nicht in der aktuellen Rolle enthalten sind.
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
Wenn einem von Google verwalteten Dienstkonto bei der Erstellung nicht automatisch eine Rolle zugewiesen wird, beruhen die Empfehlungen für das Dienstkonto ausschließlich auf den Berechtigungen, die das Dienstkonto verwendet. Diese Empfehlungen haben den Untertyp SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
.
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 generiert der IAM-Recommender eine Rollenempfehlung mit der Empfehlung, die Browserrolle für my-user@example.com
zu widerrufen:
Console
gcloud CLI
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/86c14538-dcfd-4326-afe5-ee8ac921e06a"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/browser"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"member": "user:my-user@example.com",
"removedRole": "roles/browser",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012"
}
},
"description": "This role has not been used during the observation window.",
"etag": "\"9fc3241da8bfab51\"",
"lastRefreshTime": "2022-05-20T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fe512038-5455-49g1-8f9c-752e31c8c154",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 6
}
}
},
"priority": "P4",
"recommenderSubtype": "REMOVE_ROLE",
"stateInfo": {
"state": "ACTIVE"
}
}
REST
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fe512038-5455-49g1-8f9c-752e31c8c154",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2022-05-20T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 6
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/browser"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"member": "user:my-user@example.com",
"removedRole": "roles/browser"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"9fc3241da8bfab51\"",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/86c14538-dcfd-4326-afe5-ee8ac921e06a"
}
],
"priority": "P4"
}
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 generiert der IAM-Recommender eine Rollenempfehlung, dass Sie die Rolle „Bearbeiter“ widerrufen und durch eine Kombination aus zwei anderen Rollen ersetzen müssen. Dadurch werden Tausende nicht erforderliche Berechtigungen entfernt:
Console
gcloud CLI
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/3d4ef3d6-bdf0-4330-975d-c65cb929c44d"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/iam.serviceAccountUser"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/editor"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"addedRoles": [
"roles/iam.serviceAccountUser",
"roles/storage.objectAdmin"
],
"member": "user:my-user@example.com",
"minimumObservationPeriodInDays": "0",
"removedRole": "roles/editor",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012"
}
},
"description": "Replace the current role with smaller predefined roles to cover the permissions needed.",
"etag": "\"0da9a354c2a83d96\"",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/4637db3d-dba5-45eb-95ac-b4ee4b4cd14e",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 2998
}
}
},
"priority": "P2",
"recommenderSubtype": "REPLACE_ROLE",
"stateInfo": {
"state": "ACTIVE"
}
}
REST
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/4637db3d-dba5-45eb-95ac-b4ee4b4cd14e",
"description": "Replace the current role with smaller predefined roles to cover the permissions needed.",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 2998
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/iam.serviceAccountOwner"
}
},
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/editor"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"member": "user:my-user@example.com",
"removedRole": "roles/editor",
"addedRoles": [
"roles/iam.serviceAccountUser",
"roles/storage.objectAdmin"
],
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"0da9a354c2a83d96\"",
"recommenderSubtype": "REPLACE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/3d4ef3d6-bdf0-4330-975d-c65cb929c44d"
}
],
"priority": "P2"
}
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 enthält mehr als 10 Berechtigungen. Richtlinienstatistiken zeigen jedoch, dass my-user@example.com
in den letzten 90 Tagen nur 4 dieser Berechtigungen genutzt hat.
Daher generiert der IAM-Recommender eine Rollenempfehlung, dass Sie eine benutzerdefinierte Rolle erstellen sollten, die nur die Berechtigungen enthält, die my-user@example.com
tatsächlich verwendet hat:
Console
gcloud CLI
Der Untertyp REPLACE_ROLE_CUSTOMIZABLE
gibt an, dass der IAM-Recommender eine benutzerdefinierte Rolle mit den verwendeten Berechtigungen erstellt. Wenn Sie die verwendeten Berechtigungen sehen möchten, rufen Sie die zugehörige Richtlinienstatistik ab.
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/2799dc04-b12e-4cf6-86aa-d81907d31f58"
}
],
"associatedResourceNames": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.user"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"minimumObservationPeriodInDays": "0"
}
},
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"etag": "\"c7f57a4725d32d66\"",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/ba1fc977-fddd-3856-a829-f69649ae8075",
"originalContent": {},
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {},
"revokedIamPermissionsCount": 1
}
},
"priority": "P4",
"recommenderSubtype": "REPLACE_ROLE_CUSTOMIZABLE",
"stateInfo": {
"state": "ACTIVE"
},
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
]
}
REST
Der Untertyp REPLACE_ROLE_CUSTOMIZABLE
gibt an, dass der IAM-Recommender empfiehlt, eine benutzerdefinierte Rolle mit den verwendeten Berechtigungen zu erstellen. Wenn Sie die verwendeten Berechtigungen sehen möchten, rufen Sie die zugehörige Richtlinienstatistik ab.
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/ba1fc977-fddd-3856-a829-f69649ae8075",
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 1
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.user"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.admin"
}
}
]
}
],
"overview": {
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"c7f57a4725d32d66\"",
"recommenderSubtype": "REPLACE_ROLE_CUSTOMIZABLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/2799dc04-b12e-4cf6-86aa-d81907d31f58"
}
],
"priority": "P4"
}
Die Rollenempfehlung 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. Eine Richtlinienstatistik gibt jedoch an, dass das Dienstkonto in den letzten 90 Tagen weniger als 10 Berechtigungen genutzt hat.
Die Richtlinienstatistik zeigt auch mehrere Berechtigungen an, die das Dienstkonto in Zukunft benötigen wird. Der IAM-Recommender hat diese Berechtigungen mithilfe von maschinellem Lernen ermittelt.
Der IAM-Recommender generiert eine Rollenempfehlung für Sie, dass Sie die Bearbeiterrolle 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 nicht erforderliche Berechtigungen entfernt. Dabei werden sowohl die vom Dienstkonto verwendeten Berechtigungen als auch die Berechtigungen berücksichtigt, die das Dienstkonto in Zukunft wahrscheinlich benötigt:
Console
Der IAM-Recommender verwendet ein Symbol für Maschinelles Lernen resourcemanager.projects.get
basierend auf maschinellem Lernen empfohlen:
gcloud CLI
Berechtigungen, die basierend auf dem maschinellen Lernen des IAM-Recommenders und nicht auf der Nutzung von Berechtigungen hinzugefügt wurden, sind in der Empfehlung selbst nicht aufgeführt. Stattdessen werden sie in den Richtlinienstatistiken aufgeführt, die mit der Empfehlung verknüpft sind. Alle ML-basierten Berechtigungen werden im Feld inferredPermissions
der Statistik aufgeführt. In diesem Beispiel wurde die Berechtigung resourcemanager.projects.get
basierend auf maschinellem Lernen empfohlen:
associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f
category: SECURITY
content:
condition:
description: ''
expression: ''
location: ''
title: ''
currentTotalPermissionsCount: '5069'
exercisedPermissions:
- permission: storage.objects.create
- permission: storage.objects.delete
- permission: storage.objects.get
- permission: storage.objects.list
inferredPermissions:
- permission: resourcemanager.projects.get
member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
role: roles/editor
description: 4 of the permissions in this role binding were used in the past 90 days.
etag: '"d3cdec23cc712bd0"'
insightSubtype: PERMISSIONS_USAGE
lastRefreshTime: '2020-07-11T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040
observationPeriod: 7776000s
stateInfo:
state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012
severity: HIGH
Informationen zum Abrufen von Richtlinienstatistiken finden Sie unter Richtlinienstatistiken prüfen.
REST
Berechtigungen, die basierend auf dem maschinellen Lernen des IAM-Recommenders und nicht auf der Nutzung von Berechtigungen hinzugefügt wurden, sind in der Empfehlung selbst nicht aufgeführt. Stattdessen werden sie in den Richtlinienstatistiken aufgeführt, die mit der Empfehlung verknüpft sind. Alle ML-basierten Berechtigungen werden im Feld inferredPermissions
der Statistik aufgeführt. In diesem Beispiel wurde die Berechtigung resourcemanager.projects.get
basierend auf maschinellem Lernen empfohlen:
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
"description": "4 of the permissions in this role binding were used in the past 90 days.",
"content": {
"role": "roles/editor",
"member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
},
"exercisedPermissions": [
{
"permission": "storage.objects.create"
},
{
"permission": "storage.objects.delete"
},
{
"permission": "storage.objects.get"
},
{
"permission": "storage.objects.list"
}
],
"inferredPermissions": [
{
"permission": "resourcemanager.projects.get"
}
],
"currentTotalPermissionsCount: "5069"
},
"lastRefreshTime": "2020-07-12T07:00:00Z",
"observationPeriod": "7776000s",
"stateInfo": {
"state": "ACTIVE"
},
"category": "SECURITY",
"associatedRecommendations": [
{
"recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "PERMISSIONS_USAGE",
"etag": "\"d3cdec23cc712bd0\"",
"severity": "HIGH"
}
Informationen zum Abrufen von Richtlinienstatistiken finden Sie unter Richtlinienstatistiken prüfen.
Nächste Schritte
- Best Practices für die Verwendung von Rollenempfehlungen
- Rollenempfehlungen für Projekte, Ordner und Organisationen prüfen und anwenden
- Rollenempfehlungen für Cloud Storage-Buckets prüfen und anwenden
- Recommender
- Vordefinierte Rollen und benutzerdefinierte Rollen in IAM