Mit dem Policy Analyzer für Zulassungsrichtlinien können Sie ermitteln, welche Hauptkonten (z. B. Nutzer, Dienstkonten, Gruppen und Domains) basierend auf Ihren IAM-Zulassungsrichtlinien Zugriff auf welche Google Cloud-Ressourcen haben.
Mit dem Richtlinien-Analyzer für Zulassungsrichtlinien können Sie Fragen wie die folgenden 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:00 Uhr auf diesen Cloud Storage-Bucket zugreifen?
Funktionsweise von Policy Analyzer für Zulassungsrichtlinien
Wenn Sie den Policy Analyzer für Zulassungsrichtlinien verwenden möchten, erstellen Sie eine Analyseabfrage, geben Sie einen Umfang für die Analyse an und führen Sie die Abfrage dann aus.
Analyseabfragen
Wenn Sie Policy Analyzer verwenden möchten, erstellen Sie eine Analyseabfrage, in der Sie mindestens eines der folgenden Felder angeben:
- Hauptkonten: Die Identitäten (z. B. Nutzer, Dienstkonten, Gruppen und Domains), deren Zugriff Sie prüfen möchten
- Zugriff: Die Berechtigungen und Rollen, nach denen Sie suchen möchten
- Ressourcen: Die Ressourcen, für die Sie den Zugriff prüfen möchten
- (Nur API) Kontextbedingung: Der Kontext, z. B. die Tageszeit, unter dem der Zugriff geprüft werden soll
Normalerweise geben Sie in der Analyseabfrage ein oder zwei dieser Felder 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 in der Analyseabfrage den Zugriff und die Ressource 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
Wenn Sie eine Analyseabfrage ausführen möchten, müssen Sie einen Gültigkeitsbereich angeben. Der Umfang ist eine Organisation, ein Ordner oder ein Projekt, auf das Sie die Analyse beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit der als Umfang verwendeten Ressource und ihren untergeordneten Elementen verknüpft sind.
In der REST API und der gcloud CLI geben Sie den Umfang manuell an. In der Google Cloud Console wird der Umfang automatisch basierend auf dem Projekt, dem Ordner oder der Organisation festgelegt, die Sie verwalten.
Nachdem Sie eine Analyseabfrage erstellt und den Umfang angegeben haben, können Sie die Abfrage ausführen, um Richtlinien in diesem Umfang zu analysieren.
Abfrageergebnisse
Wenn Sie eine Analyseabfrage ausführen, meldet Policy Analyzer alle Rollenbindungen, die die in der Abfrage angegebenen Hauptkonten, Zugriffe und Ressourcen enthalten. Für jede Rollenbindung werden die Hauptkonten in der Bindung, der Zugriff (Rolle und Berechtigungen), den die Bindung gewährt, und die Ressource, auf die die Bindung Zugriff gewährt, aufgeführt.
Anhand dieser Ergebnisse können Sie den Zugriff in Ihrem Projekt, Ordner oder Ihrer Organisation besser nachvollziehen. Wenn Sie beispielsweise eine Abfrage ausführen, um herauszufinden, welche Hauptkonten Zugriff auf eine bestimmte Ressource haben, sehen Sie sich die Hauptkonten in den Abfrageergebnissen an.
Sie können die Informationen in den Abfrageergebnissen anpassen, indem Sie die Abfrageoptionen aktivieren.
Unterstützte Richtlinientypen
Policy Analyzer für Zulassungsrichtlinien unterstützt nur IAM-Zulassungsrichtlinien.
Der Richtlinien-Analyzer für Zulassungsrichtlinien unterstützt die folgenden Zugriffssteuerungsformen nicht:
- IAM-Ablehnungsrichtlinien
- IAM-Richtlinien zur Begrenzung des Hauptkontozugriffs
- Rollenbasierte Zugriffssteuerung in der Google Kubernetes Engine
- Cloud Storage-Zugriffssteuerungslisten
- Verhinderung des öffentlichen Zugriffs auf Cloud Storage
In den Abfrageergebnissen der Richtlinienanalyse werden keine nicht unterstützten Richtlinientypen berücksichtigt. Angenommen, ein Nutzer hat aufgrund einer Zulassungsrichtlinie die Berechtigung iam.roles.get
für ein Projekt, aber eine Ablehnungsrichtlinie verhindert, dass er die Berechtigung verwendet. Policy Analyzer meldet, dass der Nutzer trotz der Ablehnungsrichtlinie die Berechtigung iam.roles.get
hat.
Übernahme von Richtlinien
Um die Richtlinienübernahme zu berücksichtigen, werden im Policy Analyzer automatisch alle relevanten Zulassungsrichtlinien im angegebenen Bereich analysiert, unabhängig davon, wo sie sich in der Ressourcenhierarchie befinden.
Angenommen, Sie möchten herausfinden, wer auf ein IAM-Dienstkonto zugreifen kann:
- Wenn Sie die Abfrage auf ein Projekt beschränken, analysiert Policy Analyzer die „Zulassen“-Richtlinie des Dienstkontos und die „Zulassen“-Richtlinie 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 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 auch die Bedingung analysieren, d. h., es kann melden, ob die Bedingung erfüllt wäre. Mit Policy Analyzer können die folgenden Arten von Bedingungen analysiert werden:
- Bedingungen, die auf Ressourcenattributen basieren, für Ressourcentypen mit einem Ressourcennamen
- Datums-/Zeitbedingungen (nur API und gcloud CLI) Damit Policy Analyzer diese Bedingungen analysieren kann, müssen Sie in Ihrer Analyseabfrage den Zeitpunkt des Zugriffs (
accessTime
) angeben. Wie Sie diesen Kontext bereitstellen, erfahren Sie unter Zugriff zu einer bestimmten Zeit festlegen.
Wenn eine relevante Rollenbindung eine Bedingung enthält, führt Policy Analyzer einen der folgenden Schritte aus:
Wenn Policy Analyzer die Bedingung analysieren kann, geschieht Folgendes:
- Wenn die Bedingung als wahr ausgewertet wird, nimmt Policy Analyzer die Rollenbindung in die Abfrageergebnisse auf und kennzeichnet die Bedingungsauswertung als
TRUE
. - Wenn die Bedingung als falsch ausgewertet wird, wird die Rolle von Policy Analyzer nicht in die Abfrageergebnisse aufgenommen.
- Wenn die Bedingung als wahr ausgewertet wird, nimmt Policy Analyzer die Rollenbindung in die Abfrageergebnisse auf und kennzeichnet die Bedingungsauswertung als
Wenn Policy Analyzer eine Bedingung für eine relevante Rollenbindung nicht analysieren kann, wird die Rolle in die Suchergebnisse aufgenommen und die Bedingung wird als
CONDITIONAL
gekennzeichnet.
Datenaktualität
Policy Analyzer verwendet die Cloud Asset API, die eine bestmögliche Datenaktualität bietet. Fast alle Richtlinienaktualisierungen werden innerhalb weniger Minuten in Policy Analyzer angezeigt. Es kann jedoch sein, dass Policy Analyzer nicht die neuesten Richtlinienaktualisierungen enthält.
Gängige Abfragetypen
In diesem Abschnitt wird beschrieben, wie Sie mithilfe von Analyseabfragen häufig gestellte Fragen zum Zugriff beantworten können.
Welche Hauptkonten können auf diese Ressource zugreifen?
Wenn Sie ermitteln möchten, welche Hauptkonten auf eine Ressource zugreifen können, erstellen Sie eine Analyseabfrage, in der die Ressource und optional die Rollen und Berechtigungen angegeben werden, nach denen Sie suchen möchten.
Mit diesen Abfragen können Sie Fragen wie die folgenden beantworten:
- Wer hat Zugriff auf dieses IAM-Dienstkonto?
- Wer hat die Berechtigung für dieses IAM-Dienstkonto?
- Wer sind die Abrechnungsadministratoren für Projekt A?
- (Nur API und gcloud CLI): Wer kann Projekt A durch Übernahme der Identität eines Dienstkontos aktualisieren?
Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Ermitteln, welche Hauptkonten auf eine Ressource zugreifen können.
Welche Hauptkonten haben diese Rollen und Berechtigungen?
Wenn Sie herausfinden möchten, welche Hauptkonten bestimmte Rollen und Berechtigungen haben, erstellen Sie eine Analyseabfrage, in der ein Hauptkonto und eine Reihe von Rollen und Berechtigungen angegeben werden, nach denen Sie suchen möchten.
Mit diesen Abfragen können Sie Fragen wie die folgenden beantworten:
- Wer ist berechtigt, die Identität der Dienstkonten in meiner Organisation zu übernehmen?
- Wer sind die Abrechnungsadministratoren in meiner Organisation?
- Wer kann Daten in diesem BigQuery-Dataset lesen, das personenidentifizierbare Informationen enthält?
- (Nur API und gcloud CLI): Wer in meiner Organisation kann ein BigQuery-Dataset lesen, indem er die Identität eines Dienstkontos annimmt?
Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Ermitteln, 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, in der ein Hauptkonto und eine Ressource angegeben werden, für die Sie Berechtigungen prüfen möchten.
Mit diesen Abfragen können Sie Fragen wie die folgenden beantworten:
- Welche Rollen und Berechtigungen hat der Nutzer 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 der Nutzer Dana in diesem BigQuery-Dataset, wenn Dana die Identität eines Dienstkontos übernommen hat?
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 ein Hauptkonto und die Rollen und Berechtigungen angegeben sind, die Sie prüfen möchten.
Mit diesen Abfragen können Sie Fragen wie die folgenden beantworten:
- Welche BigQuery-Datasets darf der Nutzer Mahan lesen?
- Für welche 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 löschen, wenn er ein Dienstkonto ausgibt?
Informationen zum Erstellen und Senden dieser Abfragen finden Sie unter Feststellen, auf welche Ressourcen ein Hauptkonto zugreifen kann.
Gespeicherte Analyseabfragen
Wenn Sie die REST API verwenden, können Sie Analyseabfragen speichern, um sie wiederzuverwenden oder für andere freizugeben. 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 die Suchergebnisse detaillierter gestalten können.
Informationen zum Aktivieren dieser Optionen finden Sie unter Optionen aktivieren.
Gruppenerweiterung
Wenn Sie die Gruppenerweiterung aktivieren, werden alle Gruppen in den Abfrageergebnissen in einzelne Mitglieder maximiert. Die maximale Anzahl der Mitglieder pro Gruppe ist auf 1.000 begrenzt. Wenn Sie entsprechende Gruppenberechtigungen haben, werden auch verschachtelte Gruppen maximiert. Diese Option ist nur wirksam, wenn Sie in Ihrer Abfrage keinen Hauptberechtigten angeben.
Angenommen, Sie aktivieren die Gruppenerweiterung für die Abfrage „Wer hat die Berechtigung storage.buckets.delete
für project-1
?“. Wenn der Policy Analyzer Gruppen mit der Berechtigung storage.buckets.delete
findet, werden 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 aufgrund ihrer Gruppenmitgliedschaft erfolgt.
Rollenerweiterung
Wenn Sie die Rollenerweiterung aktivieren, werden in den Abfrageergebnissen neben der Rolle selbst auch alle Berechtigungen innerhalb der einzelnen Rollen aufgeführt. 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 der Richtlinienanalysator 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 untergeordneten Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) aufgeführt. Diese Ausweitung ist auf 1.000 Ressourcen pro übergeordnete Ressource für Policy Analyzer-Abfragen und auf 100.000 Ressourcen pro übergeordnete Ressource für langlaufende Policy Analyzer-Abfragen beschränkt.
Betrachten 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, wird im Abschnitt „Ressourcen“ der Abfrage nicht nur das Projekt, sondern auch alle Speicher-Buckets im Projekt 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 der Richtlinienanalysator feststellt, dass
my-user@example.com
eine Rolle auf Projektebene hat, die diese Berechtigung enthält, werden im Abschnitt „Ressourcen“ der Abfrageergebnisse nicht nur das Projekt, sondern auch alle Compute Engine-Instanzen im Projekt aufgeführt.
Mit dieser Option erhalten Sie detaillierte Informationen zu den Ressourcen, auf die Ihre Hauptbenutzer 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 zu ermitteln, wer die Identität der Dienstkonten übernehmen kann, die den angegebenen Zugriff auf die angegebenen Ressourcen haben. Policy Analyzer führt eine Abfrage für jedes Dienstkonto in den Abfrageergebnissen 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 schränkt außerdem die Gruppenerweiterung innerhalb der Gruppenmitgliedschaften und die Ressourcenerweiterung innerhalb der Ressourcenhierarchie ein.
Die Standardkontingente und -limits für Policy Analyzer finden Sie in der Cloud Asset Inventory-Dokumentation unter Kontingente und Limits.
Preise
Jede Organisation kann kostenlos bis zu 20 Analyseabfragen pro Tag 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, muss die Premium-Stufe von Security Command Center auf Organisationsebene aktiviert sein. Weitere Informationen finden Sie unter Fragen zur Abrechnung.
Nächste Schritte
- Informationen zum Analysieren einer Zulassungsrichtlinie mit Policy Analyzer
- Informationen zum Speichern von Abfragen zur Richtlinienanalyse mit der REST API