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) auf welche Google Cloud-Ressourcen Zugriff haben.

Policy Analyzer hilft Ihnen bei der Beantwortung folgender Fragen:

  • 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:00 Uhr auf diesen Cloud Storage-Bucket zugreifen?

Funktionsweise von Policy Analyzer

Um Policy Analyzer zu verwenden, 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 mit einem oder mehreren der folgenden Felder:

  • Hauptkonten: Die Identitäten (z. B. Nutzer, Dienstkonten, Gruppen und Domains), deren Zugriff Sie prüfen möchten
  • Zugriff: Die Berechtigungen und Rollen, auf die Sie prüfen möchten
  • Ressourcen: Die Ressourcen, auf die Sie den Zugriff prüfen möchten.
  • (Nur API) Bedingungskontext: Der Kontext (z. B. die Tageszeit), in dem der Zugriff geprüft werden soll

Normalerweise geben Sie eines oder zwei dieser Felder in der Analyseabfrage an und verwenden dann die Abfrageergebnisse, um weitere Informationen zu den Feldern zu erhalten, die Sie nicht angegeben haben. 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 Gängige 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 bzw. das Sie Ihre Analyse beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an die als Bereich verwendete Ressource und an ihre untergeordneten Elemente angehängt sind.

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

Nachdem Sie eine Analyseabfrage erstellt und den Bereich angegeben haben, können Sie die Abfrage ausführen, um 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, Zugriffsrechte 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, der 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 ausgeführt haben, um herauszufinden, welche Hauptkonten Zugriff auf eine bestimmte Ressource haben, würden Sie die Hauptkonten in den Abfrageergebnissen überprüfen.

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. Angenommen, ein Nutzer hat aufgrund einer Zulassungsrichtlinie die Berechtigung iam.roles.get für ein Projekt. Eine Ablehnungsrichtlinie hindert ihn jedoch daran, die Berechtigung zu verwenden. Policy Analyzer meldet, dass sie trotz der Ablehnungsrichtlinie die Berechtigung iam.roles.get haben.

Übernahme von Richtlinien

Um die Richtlinienübernahme zu berücksichtigen, 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, wird einem Hauptkonto nur dann Zugriff gewährt, wenn diese Bedingung erfüllt ist. Policy Analyzer meldet immer Bedingungen, die mit relevanten Rollenbindungen verbunden 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 wird. 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, wird einer der folgenden Schritte ausgeführt:

    • Wenn die Bedingung als „true“ ausgewertet wird, nimmt Policy Analyzer die Rollenbindung in die Abfrageergebnisse auf und markiert die Bedingungsbewertung als TRUE.
    • Wenn die Bedingung als falsch ausgewertet wird, nimmt Policy Analyzer die Rolle nicht in die Abfrageergebnisse auf.
  • Wenn Policy Analyzer eine Bedingung für eine relevante Rollenbindung nicht analysieren kann, wird die Rolle in die Abfrageergebnisse aufgenommen und die Bedingungsbewertung wird als CONDITIONAL markiert.

Datenaktualität

Policy Analyzer verwendet die Cloud Asset API, die für bestmögliche Datenaktualität sorgt. Fast alle Richtlinienaktualisierungen werden innerhalb weniger Minuten in Policy Analyzer angezeigt. Es ist jedoch möglich, dass Policy Analyzer die neuesten Richtlinienaktualisierungen nicht enthält.

Gängige Abfragetypen

In diesem Abschnitt wird beschrieben, wie Sie mithilfe von Analyseabfragen häufige Fragen zum Zugriff beantworten können.

Welche Hauptkonten können auf diese Ressource zugreifen?

Um zu bestimmen, welche Hauptkonten auf eine Ressource zugreifen können, erstellen Sie eine Analyseabfrage, in der die Ressource und optional die Rollen und Berechtigungen angegeben sind, die Sie prüfen möchten.

Mithilfe dieser Abfragen lassen sich Fragen wie die folgenden beantworten:

  • Wer hat Zugriff auf dieses IAM-Dienstkonto?
  • Wer ist berechtigt, 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 aktualisieren, indem er die Identität eines Dienstkontos übernimmt?

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 sowie eine Reihe von Rollen und Berechtigungen angegeben sind, die Sie prüfen möchten.

Mithilfe dieser Abfragen lassen sich Fragen wie die folgenden beantworten:

  • Wer ist berechtigt, 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 er die Identität eines Dienstkontos übernimmt?

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?

Wenn Sie ermitteln möchten, 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.

Mithilfe dieser Abfragen lassen sich Fragen wie die folgenden 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 Dana die Identität eines Dienstkontos übernimmt?

Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Zugriff eines Hauptkontos auf eine Ressource ermitteln.

Auf welche Ressourcen kann dieses Hauptkonto zugreifen?

Wenn Sie ermitteln möchten, auf welche Ressourcen ein bestimmtes Hauptkonto zugreifen kann, erstellen Sie eine Analyseabfrage, in der Sie ein Hauptkonto sowie die Rollen und Berechtigungen angeben, die Sie prüfen möchten.

Mithilfe dieser Abfragen lassen sich Fragen wie die folgenden beantworten:

  • Für welche BigQuery-Datasets hat Mahan die Leseberechtigung?
  • Bei welchen BigQuery-Datasets ist die Gruppe dev-testers der Dateninhaber?
  • Welche VMs kann Tal in Projekt A löschen?
  • (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 Zugriffsrechte eines Hauptkontos bestimmen.

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 genau wie jede andere Abfrage ausführen.

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

Abfrageergebnisse exportieren

Sie können Abfragen asynchron ausführen und die Abfrageergebnisse mit analyzeIamPolicyLongrunning nach 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 den Abfrageergebnissen weitere Details hinzufügen können.

Informationen zum Aktivieren dieser Optionen finden Sie unter Optionen aktivieren.

Gruppenerweiterung

Wenn Sie die Gruppenerweiterung aktivieren, werden alle Gruppen in den Abfrageergebnissen auf einzelne Mitglieder erweitert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe beschränkt. Wenn Sie ausreichende Gruppenberechtigungen haben, werden auch verschachtelte Gruppen erweitert. Diese Option ist nur wirksam, wenn Sie in der 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 alle Gruppen mit der Berechtigung storage.buckets.delete findet, werden in den Abfrageergebnissen nicht nur die Gruppenkennung, sondern auch alle einzelnen Mitglieder der Gruppe aufgelistet.

Mit dieser Option erhalten Sie Einblick in den Zugriff einzelner Nutzer, auch wenn dieser Zugriff auf deren Mitgliedschaft in einer Gruppe zurückzuführen ist.

Rollenerweiterung

Wenn Sie die Rollenerweiterung aktivieren, werden in den Abfrageergebnissen alle Berechtigungen innerhalb jeder Rolle zusätzlich zur Rolle selbst aufgelistet. Diese Option ist nur verfügbar, wenn Sie in der 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 aufgelistet.

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 nachgeordneten Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) in den Abfrageergebnissen aufgelistet. Diese Erweiterung ist auf 1.000 Ressourcen pro übergeordnete Ressource für Policy Analyzer-Abfragen und 100.000 Ressourcen pro übergeordnete Ressource für Policy Analyzer-Abfragen mit langer Ausführungszeit beschränkt.

Überlegen 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 Abschnitt „Ressourcen“ 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, enthält der Abschnitt „Ressourcen“ der Abfrageergebnisse nicht nur das Projekt, sondern auch alle Compute Engine-Instanzen im Projekt.

Mit dieser Option erhalten Sie detaillierte Informationen zu den 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 von Dienstkonten aktivieren.

Wenn diese Option aktiviert ist, führt Policy Analyzer zusätzliche Analyseabfragen aus, um festzustellen, wer die Identität der Dienstkonten übernehmen kann, die den angegebenen Zugriff auf die angegebenen Ressourcen haben. 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 der eingehenden 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.

Informationen zu den Standardkontingenten und -limits für Policy Analyzer finden Sie in der Cloud Asset Inventory-Dokumentation unter Kontingente und Limits.

Nächste Schritte