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:
- IAM-Ablehnungsrichtlinien
- Rollenbasierte Zugriffssteuerung für Google Kubernetes Engine
- Cloud Storage-Zugriffssteuerungslisten
- Verhinderung des öffentlichen Zugriffs auf Cloud Storage
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:
- Bedingungen auf der Grundlage von Ressourcenattributen für Ressourcentypen, die einen Ressourcennamen angeben
- Bedingungen für Datum und Uhrzeit (nur API und gcloud CLI) Damit Policy Analyzer diese Bedingungen analysieren kann, müssen Sie in Ihrer Analyseabfrage die Uhrzeit des Zugriffs (
accessTime
) angeben. Informationen dazu, wie Sie diesen Kontext bereitstellen, finden Sie unter Zugriff zu einem bestimmten Zeitpunkt bestimmen.
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 die Bedingung als „true“ ausgewertet wird, nimmt Policy Analyzer die Rollenbindung in die Abfrageergebnisse auf und markiert die Bedingungsbewertung als
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ürproject-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 Berechtigungcompute.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
- Hier erfahren Sie, wie Sie mit Policy Analyzer eine Zulassungsrichtlinie analysieren.
- Hier erfahren Sie, wie Sie mit der REST API Richtlinienanalyse-Abfragen speichern können.