Policy Analyzer für IAM-Richtlinien

Mit Policy Analyzer können Sie anhand Ihrer IAM-Zulassungsrichtlinien herausfinden, welche Hauptkonten (z. B. Nutzer, Dienstkonten, Gruppen und Domains) welchen Zugriff auf welche Google Cloud-Ressourcen haben.

Policy Analyzer kann Ihnen helfen, Fragen wie die folgenden zu beantworten:

  • Wer kann auf dieses IAM-Dienstkonto zugreifen?
  • Wer kann Daten in diesem BigQuery-Dataset lesen, die personenidentifizierbare Informationen enthalten?
  • Welche Rollen und Berechtigungen hat die Gruppe dev-testers auf einer Ressource in diesem Projekt?
  • Welche Compute Engine-VM-Instanzen kann Tal in Projekt A löschen?
  • Wer kann um 19 Uhr auf diesen Cloud Storage-Bucket zugreifen?

Funktionsweise von Policy Analyzer

Zur Verwendung von Policy Analyzer erstellen Sie eine Analyseabfrage, geben einen Bereich für die Analyse an und führen dann die Abfrage aus.

Analyseabfragen

Zur Verwendung von Policy Analyzer erstellen Sie eine Analyseabfrage und geben ein oder mehrere der folgenden Felder an:

  • Hauptkonten: Die Identitäten (z. B. Nutzer, Dienstkonten, Gruppen und Domains), deren Zugriff Sie prüfen möchten
  • Zugriff: Die Berechtigungen und Rollen, die Sie prüfen möchten.
  • Ressourcen: Die Ressourcen, für die Sie den Zugriff prüfen möchten
  • (Nur API) Bedingungskontext: Der Kontext, z. B. die Tageszeit, zu dem Sie den Zugriff prüfen möchten.

In der Regel geben Sie ein oder zwei dieser Felder in der Analyseabfrage an und verwenden dann die Abfrageergebnisse, um weitere Informationen zu den nicht angegebenen Feldern zu erhalten. Wenn Sie beispielsweise wissen möchten, wer eine bestimmte Berechtigung für eine bestimmte Ressource hat, geben Sie den Zugriff und die Ressource in der Analyseabfrage an, aber nicht das Hauptkonto.

Weitere Beispiele für die Arten von Abfragen, die Sie erstellen können, finden Sie unter Allgemeine Abfragetypen.

Analyseumfang

Zum Ausführen einer Analyseabfrage müssen Sie einen zu analysierenden Bereich angeben. Der Bereich ist eine Organisation, ein Ordner oder ein Projekt, auf die Sie Ihre Analyse beschränken möchten. Es werden nur IAM-Richtlinien analysiert, die an die Ressource, die als Bereich verwendet wird, und an ihre Nachfolger angehängt sind.

In der REST API und der gcloud CLI geben Sie den Bereich manuell an. In der Google Cloud Console wird der Bereich automatisch anhand des Projekts, des Ordners oder der Organisation bestimmt, die Sie gerade verwalten.

Nachdem Sie eine Analyseabfrage erstellt und den Bereich angegeben haben, können Sie die Abfrage ausführen, um die Richtlinien in diesem Bereich zu analysieren.

Abfrageergebnisse

Wenn Sie eine Analyseabfrage ausführen, meldet Policy Analyzer alle Rollenbindungen, die die in der Abfrage angegebenen Hauptkonten, Zugriffsberechtigungen und Ressourcen enthalten. Für jede Rollenbindung werden die Hauptkonten in der Bindung, der durch die Bindung gewährte Zugriff (Rolle und Berechtigungen) und die Ressource gemeldet, auf die die Bindung Zugriff gewährt.

Sie können sich diese Ergebnisse ansehen, um den Zugriff in Ihrem Projekt, Ihrem Ordner oder Ihrer Organisation besser zu verstehen. Wenn Sie beispielsweise eine Abfrage ausführen, um herauszufinden, welche Hauptkonten Zugriff auf eine bestimmte Ressource haben, überprüfen Sie die Hauptkonten in den Abfrageergebnissen.

Sie können die Informationen in den Abfrageergebnissen anpassen, indem Sie Abfrageoptionen aktivieren.

Unterstützte Richtlinientypen

IAM Policy Analyzer unterstützt nur IAM-Zulassungsrichtlinien.

Die folgenden Formen der Zugriffssteuerung werden von Policy Analyzer nicht unterstützt:

In den Policy Analyzer-Abfrageergebnissen werden nicht unterstützte Richtlinientypen nicht berücksichtigt. Beispiel: Ein Nutzer hat die Berechtigung iam.roles.get für ein Projekt aufgrund einer Zulassungsrichtlinie, aber eine Ablehnungsrichtlinie verhindert, dass er die Berechtigung verwendet. Policy Analyzer meldet, dass er trotz der Ablehnungsrichtlinie die Berechtigung iam.roles.get hat.

Übernahme von Richtlinien

Zur Berücksichtigung der Richtlinienübernahme analysiert Policy Analyzer automatisch alle relevanten Zulassungsrichtlinien innerhalb des angegebenen Bereichs, unabhängig davon, wo sie sich in der Ressourcenhierarchie befinden.

Stellen Sie sich beispielsweise vor, Sie möchten herausfinden, wer auf ein IAM-Dienstkonto zugreifen kann:

  • Wenn Sie die Abfrage auf ein Projekt beschränken, analysiert Policy Analyzer die Zulassungsrichtlinie des Dienstkontos und die Zulassungsrichtlinie des Projekts.
  • Wenn Sie die Abfrage auf eine Organisation beschränken, analysiert Policy Analyzer die Zulassungsrichtlinie des Dienstkontos, die Zulassungsrichtlinie des Projekts, zu dem das Dienstkonto gehört, die Zulassungsrichtlinien aller Ordner, die das Projekt enthalten, und die Zulassungsrichtlinie der Organisation.

Bedingter Zugriff

Wenn eine Rollenbindung eine Bedingung hat, gewährt sie einem Hauptkonto nur dann Zugriff, wenn diese Bedingung erfüllt ist. Policy Analyzer meldet Bedingungen, die mit relevanten Rollenbindungen verknüpft sind. Relevante Rollenbindungen sind Rollenbindungen, die die Hauptkonten, den Zugriff und die Ressourcen enthalten, die Sie in der Analyseabfrage angegeben haben.

In einigen Fällen kann Policy Analyzer die Bedingung auch analysieren und so melden, ob die Bedingung erfüllt ist. Policy Analyzer kann die folgenden Bedingungstypen analysieren:

Wenn eine relevante Rollenbindung eine Bedingung enthält, führt Policy Analyzer einen der folgenden Schritte aus:

  • Wenn Policy Analyzer die Bedingung analysieren kann, führt es einen der folgenden Schritte aus:

    • Wenn die Bedingung als „true“ ausgewertet wird, schließt Policy Analyzer die Rollenbindung in die Abfrageergebnisse ein und markiert die Bedingungsbewertung als TRUE.
    • Wenn die Bedingung als falsch ausgewertet wird, enthält Policy Analyzer die Rolle nicht in den Abfrageergebnissen.
  • Wenn Policy Analyzer eine Bedingung für eine relevante Rollenbindung nicht analysieren kann, wird die Rolle in die Abfrageergebnisse aufgenommen und die Bedingungsbewertung als CONDITIONAL markiert.

Datenaktualität

Policy Analyzer verwendet die Cloud Asset API, die eine optimale Datenaktualität bietet. Während fast alle Richtlinienaktualisierungen innerhalb von Minuten in Policy Analyzer angezeigt werden, kann es sein, dass Policy Analyzer nicht die neuesten Richtlinienaktualisierungen enthält.

Gängige Abfragetypen

In diesem Abschnitt wird beschrieben, wie Sie mit Analyseabfragen häufig gestellte Fragen zum Zugriff beantworten können.

Welche Hauptkonten können auf diese Ressource zugreifen?

Um zu ermitteln, welche Hauptkonten auf eine Ressource zugreifen können, erstellen Sie eine Analyseabfrage, die die Ressource und optional die Rollen und Berechtigungen angibt, die Sie prüfen möchten.

Mit diesen Abfragen können Sie beispielsweise folgende Fragen beantworten:

  • Wer hat Zugriff auf dieses IAM-Dienstkonto?
  • Wer hat die Berechtigung, die Identität dieses IAM-Dienstkontos zu übernehmen?
  • Wer sind die Abrechnungsadministratoren für Projekt A?
  • (Nur API und gcloud CLI): Wer kann Projekt A durch die Identitätsübernahme eines Dienstkontos aktualisieren?

Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Bestimmen, welche Hauptkonten auf eine Ressource zugreifen können.

Welche Hauptkonten haben diese Rollen und Berechtigungen?

Um zu ermitteln, welche Hauptkonten bestimmte Rollen und Berechtigungen haben, erstellen Sie eine Analyseabfrage, in der ein Hauptkonto und eine Reihe von Rollen und Berechtigungen angegeben sind, die Sie prüfen möchten.

Mit diesen Abfragen können Sie beispielsweise folgende Fragen beantworten:

  • Wer hat die Berechtigung, die Identität von Dienstkonten in meiner Organisation zu übernehmen?
  • Wer sind die Abrechnungsadministratoren in meiner Organisation?
  • Wer kann Daten in diesem BigQuery-Dataset lesen, die personenidentifizierbare Informationen enthalten?
  • (Nur API und gcloud CLI): Wer in meiner Organisation kann ein BigQuery-Dataset lesen, indem es die Identität eines Dienstkontos annimmt?

Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Bestimmen, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben.

Welche Rollen und Berechtigungen hat dieses Hauptkonto für diese Ressource?

Um zu ermitteln, welche Rollen und Berechtigungen ein Hauptkonto für eine bestimmte Ressource hat, erstellen Sie eine Analyseabfrage, die ein Hauptkonto und eine Ressource angibt, für die Sie Berechtigungen prüfen möchten.

Mit diesen Abfragen können Sie beispielsweise folgende Fragen beantworten:

  • Welche Rollen und Berechtigungen hat die Nutzerin Sasha für dieses BigQuery-Dataset?
  • Welche Rollen und Berechtigungen hat die Gruppe dev-testers auf einer Ressource in diesem Projekt?
  • (Nur API und gcloud CLI): Welche Rollen und Berechtigungen hat die Nutzerin Dana für dieses BigQuery-Dataset, wenn sie die Identität eines Dienstkontos annimmt?

Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Bestimmen, welchen Zugriff ein Hauptkonto auf eine Ressource hat.

Auf welche Ressourcen kann dieses Hauptkonto zugreifen?

Um zu ermitteln, auf welche Ressourcen ein bestimmtes Hauptkonto zugreifen kann, erstellen Sie eine Analyseabfrage, in der ein Hauptkonto und die Rollen und Berechtigungen angegeben sind, die Sie prüfen möchten.

Mit diesen Abfragen können Sie beispielsweise folgende Fragen beantworten:

  • Welche BigQuery-Datasets darf der Nutzer Mahan lesen?
  • Bei welchen BigQuery-Datasets handelt es sich um die dev-testers-Gruppe, deren Dateninhaber ist?
  • Welche VMs können in Projekt A gelöscht werden?
  • (Nur API und gcloud CLI): Welche VMs kann der Nutzer John löschen, indem er die Identität eines Dienstkontos übernimmt?

Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Bestimmen, auf welche Ressourcen ein Hauptkonto zugreifen kann.

Gespeicherte Analyseabfragen

Wenn Sie die REST API verwenden, können Sie Analyseabfragen speichern, um sie wiederzuverwenden oder mit anderen zu teilen. Sie können eine gespeicherte Abfrage wie jede andere Abfrage ausführen.

Weitere Informationen zum Speichern von Abfragen finden Sie unter Gespeicherte Abfragen verwalten.

Abfrageergebnisse exportieren

Mit analyzeIamPolicyLongrunning können Sie Abfragen asynchron ausführen und Abfrageergebnisse in BigQuery oder Cloud Storage exportieren.

Informationen zum Exportieren von Abfrageergebnissen nach BigQuery finden Sie unter Richtlinienanalyse in BigQuery schreiben.

Informationen zum Exportieren von Abfrageergebnissen nach Cloud Storage finden Sie unter Richtlinienanalyse in Cloud Storage schreiben.

Abfrageoptionen

Policy Analyzer bietet mehrere Optionen, mit denen Sie Ihren Abfrageergebnissen weitere Details hinzufügen können.

Wie Sie diese Optionen aktivieren, erfahren Sie unter Optionen aktivieren.

Gruppenerweiterung

Wenn Sie die Gruppenerweiterung aktivieren, werden alle Gruppen in den Abfrageergebnissen zu einzelnen Mitgliedern erweitert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe beschränkt. Wenn Sie genügend Gruppenberechtigungen haben, werden auch verschachtelte Gruppen maximiert. Diese Option ist nur wirksam, wenn Sie in Ihrer Abfrage kein Hauptkonto angeben.

Angenommen, Sie aktivieren die Gruppenerweiterung für die Abfrage „Wer hat die Berechtigung storage.buckets.delete für project-1?“. Wenn Policy Analyzer Gruppen mit der Berechtigung storage.buckets.delete findet, wird in den Abfrageergebnissen nicht nur die Gruppen-ID, sondern auch alle einzelnen Mitglieder der Gruppe aufgeführt.

Mit dieser Option können Sie den Zugriff einzelner Nutzer nachvollziehen, auch wenn dieser Zugriff auf ihre Mitgliedschaft in einer Gruppe zurückzuführen ist.

Rollenerweiterung

Wenn Sie die Rollenerweiterung aktivieren, werden in den Abfrageergebnissen alle Berechtigungen in jeder Rolle zusätzlich zur Rolle selbst aufgelistet. Diese Option ist nur verfügbar, wenn Sie in Ihrer Abfrage keine Berechtigungen oder Rollen angeben.

Angenommen, Sie aktivieren die Rollenerweiterung für die Abfrage „Welchen Zugriff hat my-user@example.com auf den Bucket bucket-1?“ Wenn Policy Analyzer Rollen findet, die my-user@example.com Zugriff auf bucket-1 gewähren, werden in den Abfrageergebnissen nicht nur der Rollenname, sondern auch alle in der Rolle enthaltenen Berechtigungen aufgeführt.

Mit dieser Option können Sie genau sehen, welche Berechtigungen Ihre Hauptkonten haben.

Ressourcenerweiterung

Wenn Sie die Ressourcenerweiterung für eine Policy Analyzer-Abfrage aktivieren, werden in den Abfrageergebnissen alle relevanten Nachfolgeressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) in den Abfrageergebnissen aufgelistet. Diese Erweiterung ist für Policy Analyzer-Abfragen auf 1.000 Ressourcen pro übergeordnete Ressource und für Policy Analyzer-Abfragen mit langer Ausführungszeit auf 100.000 Ressourcen pro übergeordnete Ressource beschränkt.

Berücksichtigen Sie beispielsweise, wie sich die Ressourcenerweiterung auf die folgenden Abfragen auswirken würde:

  • Wer hat die Berechtigung storage.buckets.delete für project-1?

    Wenn Sie die Ressourcenerweiterung für diese Abfrage aktivieren, werden im Ressourcenabschnitt der Abfrageergebnisse nicht nur das Projekt, sondern auch alle Storage-Buckets innerhalb des Projekts aufgeführt.

  • Für welche Ressourcen hat my-user@example.com die Berechtigung compute.instances.setIamPolicy?

    Wenn Sie die Ressourcenerweiterung für diese Abfrage aktivieren und Policy Analyzer feststellt, dass my-user@example.com eine Rolle auf Projektebene mit dieser Berechtigung hat, werden im Ressourcenbereich der Abfrageergebnisse nicht nur das Projekt, sondern auch alle Compute Engine-Instanzen innerhalb des Projekts aufgeführt.

Mit dieser Option erhalten Sie einen detaillierten Überblick über die Ressourcen, auf die Ihre Hauptkonten zugreifen können.

Identitätsübertragung für ein Dienstkonto

Wenn Sie die REST API oder die gcloud CLI verwenden, können Sie die Analyse der Identitätsübernahme des Dienstkontos aktivieren.

Wenn diese Option aktiviert ist, führt Policy Analyzer zusätzliche Analyseabfragen aus, um festzustellen, wer die Identität der Dienstkonten mit dem angegebenen Zugriff auf die angegebenen Ressourcen übernehmen kann. Policy Analyzer führt für jedes Dienstkonto in den Abfrageergebnissen eine Abfrage aus. Mit diesen Abfragen wird analysiert, wer eine der folgenden Berechtigungen für das Dienstkonto hat:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Kontingente und Limits

Cloud Asset Inventory erzwingt die Rate eingehender Anfragen, einschließlich Anfragen zur Richtlinienanalyse, basierend auf dem Nutzerprojekt. Cloud Asset Inventory begrenzt auch die Gruppenerweiterung innerhalb der Gruppenmitgliedschaften und die Ressourcenerweiterung innerhalb der Ressourcenhierarchie.

Die Standardkontingente und -limits für Policy Analyzer finden Sie in der Cloud Asset Inventory-Dokumentation unter Kontingente und Limits.

Preise

Jede Organisation kann bis zu 20 Analyseabfragen pro Tag kostenlos ausführen. Dieses Limit umfasst sowohl die Analyse von Zulassungsrichtlinien als auch die Analyse von Organisationsrichtlinien.

Wenn Sie mehr als 20 Analyseabfragen pro Tag ausführen möchten, müssen Sie die Premium-Stufe von Security Command Center auf Organisationsebene aktivieren. Weitere Informationen finden Sie unter Fragen zur Abrechnung.

Nächste Schritte