Rollenempfehlungen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Mit Rollenempfehlungen können Sie unnötige Berechtigungen für Ihre Hauptkonten ermitteln und entfernen und so die Sicherheitskonfigurationen Ihrer Ressourcen verbessern.

Rollenempfehlungen

Rollenempfehlungen sind eine der Arten von Empfehlungen, die von Recommender generiert 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.

Recommender identifiziert unnötige Berechtigungen mithilfe von Richtlinienstatistiken. Richtlinienstatistiken sind ML-basierte Ergebnisse zur Verwendung 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

Recommender generiert Richtlinienstatistiken, indem es die Berechtigungen, die jedes Hauptkonto in den letzten 90 Tagen genutzt hat, mit den Gesamtberechtigungen vergleicht, die das Hauptkonto hat. Es gibt verschiedene Möglichkeiten für ein Hauptkonto, 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 Google Cloud Console können Sie beispielsweise eine Compute Engine-VM-Instanz bearbeiten, für die je nach geänderten Einstellungen unterschiedliche Berechtigungen erforderlich sind. 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.

Recommender ermittelt mithilfe des maschinellen Lernens auch Berechtigungen der aktuellen Rolle eines Hauptkontos, die es vermutlich in Zukunft benötigt, auch wenn das Hauptkonto diese Berechtigungen in den letzten 90 Tagen nicht genutzt hat. Weitere Informationen finden Sie auf dieser Seite unter Maschinelles Lernen für Richtlinienstatistiken.

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. Zur Ermittlung dieser Berechtigungen verwendet Recommender beim Generieren von Richtlinienstatistiken ein Modell für maschinelles Lernen (ML-Modell).

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 Recommender-ML-Pipeline verwendet werden, haben eine k-Anonymität. Dies 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 Richtlinienstatistik anzeigt, dass ein Hauptkonto nicht alle Berechtigungen seiner Rolle benötigt, bewertet Recommender die Rolle, um festzustellen, ob sie widerrufen werden kann oder ob es eine andere Rolle gibt, die besser geeignet ist. Wenn die Rolle widerrufen werden kann, generiert Recommender eine Rollenempfehlung, um die Rolle zu widerrufen. Wenn eine andere Rolle besser geeignet ist, generiert 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.

Neue benutzerdefinierte Rollen in Rollenempfehlungen

Wenn 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 Hauptkontos besser entsprechen.

Wenn Recommender in Ihrer Organisation ein allgemeines Berechtigungsmuster für Berechtigungen erkennt, das keiner vorhandenen vordefinierten oder benutzerdefinierten Rolle zugeordnet ist, empfiehlt es sich möglicherweise, eine neue benutzerdefinierte Rolle auf Projektebene zu 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. 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 Hauptkonto weiterhin mindestens bestimmte Berechtigungen und möglicherweise eine große Anzahl von Berechtigungen, die es noch nicht genutzt hat.

In den folgenden Fällen empfiehlt Recommender 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 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.

Recommender generiert Statistiken zu seitlichen Bewegungen, indem er Rollenbindungen ermittelt, die die folgenden Kriterien erfüllen:

  • 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, generiert Recommender eine Statistik zum "Lateral Movement" der 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.

Recommender verwendet keine Statistiken zum "Lateral Movement", um neue Rollenempfehlungen zu generieren. Dies liegt daran: Wenn ein Dienstkonto seine Berechtigungen zur Identitätsübertragung verwendet, kann ein Recommender das Löschen der Berechtigungen nicht sicher vorschlagen. Wenn eine Rollenempfehlung jedoch vorschlägt, diese Berechtigungen zu entfernen, weil sie nicht verwendet werden, verknüpft der Recommender die Statistiken zum "Lateral Movement" 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 und Rollenempfehlungen werden nicht für jede Rollenbindung generiert. In den folgenden Abschnitten finden Sie Informationen zu den Rollenbindungen, für die Richtlinienstatistiken und Empfehlungen generiert werden.

Verfügbarkeit von Richtlinienstatistiken

Damit Recommender eine Richtlinienstatistik für eine Rollenbindung generieren kann, muss Folgendes zutreffen:

  • Die IAM-Zulassungsrichtlinie, die die Rollenbindung enthält, muss an eine der folgenden Ressourcen angehängt werden:

    • Cloud Storage-Bucket
    • Projekt
    • Ordner
    • Organisation

    Recommender generiert nur Richtlinienstatistiken für Rollen, die für diese Ressourcen gewährt wurden.

  • Die Rollenbindung darf keine Bedingung enthalten. Recommender generiert keine Richtlinienstatistiken für bedingte Rollenbindungen.

Es kann bis zu 10 Tage dauern, bis Recommender Richtlinienstatistiken für eine neue Rollenbindung generiert.

Verfügbarkeit von Statistiken zum "Lateral Movement"

Statistiken zu seitlichen Bewegungen werden für Rollenbindungen für die folgenden Ressourcen generiert:

  • Organisationen
  • Ordner
  • Projekte
  • Dienstkonten

Verfügbarkeit von Rollenempfehlungen

Damit Recommender eine Rollenempfehlung für eine Rollenbindung generieren kann, muss Folgendes zutreffen:

  • Mit der Rollenbindung muss eine Richtlinienstatistik verknüpft sein. Diese Richtlinie dient als Grundlage für die Empfehlung.
  • Die Rollenbindung muss älter als 90 Tage sein. Dadurch wird sichergestellt, dass Recommender genügend Nutzungsdaten hat, um eine Empfehlung zu geben.
  • Wenn das Hauptkonto in der Rollenbindung ein von Google verwaltetes Dienstkonto ist, muss die Rollenbindung "Inhaber", "Bearbeiter" oder "Betrachter" sein. 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 keine Statistiken enthält oder seit 90 Tagen nicht vorhanden ist, wird in der Spalte Analysierte Berechtigungen in der Google Cloud Console das Symbol angezeigt.

In einigen Fällen generiert Recommender keine Rollenempfehlungen für eine Rollenbindung, die älter als 90 Tage ist und mit einer Statistik verknüpft ist. Dies kann einen der folgenden 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, empfiehlt Recommender keine andere vordefinierte Rolle.

    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. 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 diese Rolle nur einem Hauptkonto zugewiesen ist, wird von Recommender nicht empfohlen, diese 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, jedoch nicht mit dem 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 mit einfachen Rollen (Inhaber, Bearbeiter und Betrachter) für ein Projekt, einen Ordner oder eine Organisation P2 Einfache Rollen sind sehr moderat und das Anwenden von Empfehlungen für diese Rollen kann die zu viel gewährten Berechtigungen erheblich reduzieren.
Empfehlungen, die keinen öffentlichen Zugriff oder einfache Rollen gewähren P4 Diese Empfehlungen helfen Ihnen zwar dabei, nicht erforderliche Berechtigungen zu reduzieren, sie entfernen jedoch keinen öffentlichen Zugriff oder einfache Berechtigungen, wodurch sie eine niedrigere Priorität haben.

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.
Statistiken für Rollenbindungen mit einfachen Rollen (Inhaber, Bearbeiter und Betrachter) für ein Projekt, einen Ordner oder eine Organisation HIGH Einfache Rollen sind sehr moderat und wenn Sie Informationen für diese Rollen nutzen, können Sie die Berechtigungen, die Ihnen gewährt wurden, deutlich verringern.
Statistiken, die keinen öffentlichen Zugriff oder einfache Rollen gewähren LOW Obwohl diese Statistiken nicht erforderliche Berechtigungen hervorheben, beziehen sie keinen öffentlichen Zugriff oder sehr einfache grundlegende Rollen ein, wodurch sie eine niedrigere Priorität haben.

Alle Statistiken zum "Lateral Movement" haben den Schweregrad LOW.

So werden Rollenempfehlungen angewendet

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 anwenden oder ablehnen, erstellt der Recommender einen entsprechenden 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 Empfehlung, die Rolle des Hauptkontos auf Projekt-, Ordner- oder Organisationsebene durch eine weniger umfassende Rolle zu ersetzen. Der empfohlene Ersatz kann eine vorhandene benutzerdefinierte oder eine oder mehrere vordefinierte Rollen sein.
REPLACE_ROLE_CUSTOMIZABLE Empfehlung, die Rolle des Hauptkontos durch eine neue benutzerdefinierte Rolle zu ersetzen, die weniger umfangreich als ihre aktuelle Rolle ist.
REPLACE_ROLE_STORAGE_BUCKET Empfehlung, die Rolle des Hauptkontos auf Bucket-Ebene durch eine weniger umfassende Rolle zu ersetzen. Der empfohlene Ersatz kann eine vorhandene benutzerdefinierte 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 Recommender Empfehlungen nur 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 Recommender eine Rollenempfehlung, die empfiehlt, dass Sie die Rolle „Sucher“ von my-user@example.com widerrufen:

Console

gcloud

{
  "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 Recommender eine Rollenempfehlung, die empfiehlt, dass Sie die Rolle „Bearbeiter“ widerrufen und durch eine Kombination aus zwei anderen Rollen ersetzen. Dadurch werden Tausende unnötige Berechtigungen entfernt:

Console

gcloud

{
  "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 Recommender eine Rollenempfehlung, die empfiehlt, dass Sie eine benutzerdefinierte Rolle erstellen, die nur die Berechtigungen enthält, die my-user@example.com tatsächlich verwendet hat:

Console

gcloud

Der Untertyp REPLACE_ROLE_CUSTOMIZABLE gibt an, dass Recommender das Erstellen einer benutzerdefinierten Rolle mit den verwendeten Berechtigungen empfiehlt. Wenn Sie die verwendeten Berechtigungen sehen möchten, rufen Sie die zugehörige Richtlinie 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 Recommender das Erstellen einer benutzerdefinierten Rolle mit den verwendeten Berechtigungen empfiehlt. Wenn Sie die verwendeten Berechtigungen sehen möchten, rufen Sie die zugehörige Richtlinie 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. Recommender hat diese Berechtigungen mithilfe von maschinellem Lernen ermittelt.

Recommender generiert eine Rollenempfehlung, in der vorgeschlagen wird, die Rolle "Bearbeiter" zu widerrufen und durch die Rolle "Storage-Objekt-Administrator" zu 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. Gleichzeitig werden sowohl die vom Dienstkonto verwendeten Berechtigungen als auch die Berechtigungen berücksichtigt, die das Dienstkonto in Zukunft wahrscheinlich benötigt:

Console

Der Recommender erkennt mithilfe des Symbols Maschinelles Lernen Berechtigungen, die basierend auf dem maschinellen Lernen von Recommender hinzugefügt wurden, nicht anhand der Berechtigungsnutzung. In diesem Beispiel wurde die Berechtigung resourcemanager.projects.get auf Basis von maschinellem Lernen empfohlen:

gcloud

Berechtigungen, die auf Grundlage des maschinellen Lernens von Recommender und nicht anhand der Berechtigungsnutzung hinzugefügt wurden, sind nicht in der Empfehlung selbst aufgeführt. Stattdessen werden sie in den Richtlinienstatistiken für die Empfehlung aufgeführt. Alle ML-basierten Berechtigungen werden im Feld inferredPermissions der Statistik aufgeführt. In diesem Beispiel wurde die Berechtigung resourcemanager.projects.get auf der Grundlage von 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 auf Grundlage des maschinellen Lernens von Recommender und nicht anhand der Berechtigungsnutzung hinzugefügt wurden, sind nicht in der Empfehlung selbst aufgeführt. Stattdessen werden sie in den Richtlinienstatistiken für die Empfehlung aufgeführt. Alle ML-basierten Berechtigungen werden im Feld inferredPermissions der Statistik aufgeführt. In diesem Beispiel wurde die Berechtigung resourcemanager.projects.get auf der Grundlage von 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.

Weitere Informationen