Auf dieser Seite wird beschrieben, wie Sie mit Policy Analyzer herausfinden, welche Hauptkonten (Nutzer, Dienstkonten, Gruppen und Domains) welchen Zugriff auf welche Google Cloud-Ressourcen haben.
Die Beispiele auf dieser Seite zeigen, wie eine Richtlinienanalyseabfrage ausgeführt und die Ergebnisse sofort angezeigt werden können. Wenn Sie die Ergebnisse zur weiteren Analyse exportieren möchten, können Sie AnalyzeIamPolicyLongrunning
verwenden, um Abfrageergebnisse in BigQuery oder Cloud Storage zu schreiben.
Hinweise
Cloud Asset API aktivieren.
Sie müssen die API in dem Projekt oder der Organisation aktivieren, die Sie zum Senden der Abfrage verwenden. Dies muss nicht dieselbe Ressource sein, auf die Sie den Bereich Ihrer Abfrage beziehen.
Optional: Informieren Sie sich über die Funktionsweise von Policy Analyzer.
Erforderliche Rollen und Berechtigungen
Die folgenden Rollen und Berechtigungen sind für die Analyse von Zulassungsrichtlinien erforderlich.
Erforderliche IAM-Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation zu gewähren, auf die die Abfrage beschränkt werden soll, um die Berechtigungen zu erhalten, die Sie zum Analysieren einer Zulassungsrichtlinie benötigen:
-
Betrachter von Cloud-Assets (
roles/cloudasset.viewer
) -
So analysieren Sie Richtlinien mit benutzerdefinierten IAM-Rollen:
Rollenbetrachter (
roles/iam.roleViewer
) -
So verwenden Sie die Google Cloud CLI zum Analysieren von Richtlinien:
Service Usage-Nutzer (
roles/serviceusage.serviceUsageConsumer
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Analysieren einer Zulassungsrichtlinie erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Zulassungsrichtlinie zu analysieren:
-
cloudasset.assets.analyzeIamPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
So analysieren Sie Richtlinien mit benutzerdefinierten IAM-Rollen:
iam.roles.get
-
So verwenden Sie die Google Cloud CLI zum Analysieren von Richtlinien:
serviceusage.services.use
Möglicherweise können Sie diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Erforderliche Google Workspace-Berechtigungen
Wenn Sie Gruppen in Abfrageergebnissen erweitern möchten, um zu sehen, ob ein Hauptkonto aufgrund seiner Mitgliedschaft in einer Google Workspace-Gruppe bestimmte Rollen oder Berechtigungen hat, benötigen Sie die Google Workspace-Berechtigung groups.read
.
Diese Berechtigung ist in der Rolle „Gruppenleser-Administrator“ und in leistungsfähigeren Rollen wie den Rollen „Gruppenadministrator“ oder „Super Admin“ enthalten. Informationen zum Zuweisen dieser Rollen finden Sie unter Bestimmte Administratorrollen zuweisen.
Ermitteln, welche Hauptkonten auf eine Ressource zugreifen können
Mit der Richtlinienanalyse können Sie prüfen, welche Hauptrollen bestimmte Rollen oder Berechtigungen für eine bestimmte Ressource in Ihrem Projekt, Ordner oder Ihrer Organisation haben. Erstellen Sie dazu eine Abfrage, die die Ressource enthält, für die Sie den Zugriff analysieren möchten, sowie eine oder mehrere Rollen oder Berechtigungen, die geprüft werden sollen.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage und klicken Sie in diesem Bereich auf Benutzerdefinierte Abfrage erstellen.
Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.
Wählen Sie die zu prüfende Ressource und die zu prüfende Rolle oder Berechtigung aus:
- Wählen Sie im Feld Parameter 1 aus dem Drop-down-Menü die Option Ressource aus.
- Geben Sie im Feld Ressource den vollständigen Ressourcennamen der Ressource ein, für die Sie den Zugriff analysieren möchten. Wenn Sie den vollständigen Ressourcennamen nicht kennen, beginnen Sie mit der Eingabe des Anzeigenamens der Ressource und wählen Sie die Ressource aus der Liste der bereitgestellten Ressourcen aus.
- Klicken Sie auf Auswahl hinzufügen.
- Wählen Sie im Feld Parameter 2 entweder Rolle oder Berechtigung aus.
- Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
- Optional: Um nach zusätzlichen Rollen und Berechtigungen zu suchen, fügen Sie weitere Rollen und Berechtigungen hinzu, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten. abgeschlossen.
Optional: Klicken Sie auf Weiter und wählen Sie dann alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.
Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite des Berichts werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für die angegebene Ressource angezeigt.
Richtlinienanalyseabfragen in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, dass die Ergebnisse unvollständig sind. Exportieren Sie die Ergebnisse nach BigQuery, um vollständige Ergebnisse für diese Abfragen zu erhalten.
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertproject
,folder
oderorganization
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.FULL_RESOURCE_NAME
: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Formate für Ressourcennamen finden Sie unter Format von Ressourcennamen.PERMISSIONS
: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get,compute.instances.start
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.
Führen Sie den Befehl gcloud asset analysis-iam-policy aus:
Linux, macOS oder Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --full-resource-name=FULL_RESOURCE_NAME \ --permissions='PERMISSIONS'
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --full-resource-name=FULL_RESOURCE_NAME ` --permissions='PERMISSIONS'
Windows (cmd.exe)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --full-resource-name=FULL_RESOURCE_NAME ^ --permissions='PERMISSIONS'
Sie erhalten eine YAML-Antwort mit Analyseergebnissen. In jedem Analyseergebnis wird eine Reihe von Zugriffen, Identitäten und Ressourcen aufgelistet, die für Ihre Abfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, lautet das Ergebnis CONDITIONAL
.
Die Hauptkonten, die eine der angegebenen Berechtigungen für die angegebene Ressource haben, werden in der Antwort in den identities
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld identities
hervorgehoben ist.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: members: - user: my-user@example.com role: roles/compute.admin --- ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyze-iam-policy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
REST
Verwenden Sie die Methode analyzeIamPolicy
der Cloud Asset Inventory API, um zu ermitteln, welche Hauptkonten bestimmte Berechtigungen für eine Ressource haben.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertprojects
,folders
oderorganizations
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.FULL_RESOURCE_NAME
: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Formate für Ressourcennamen finden Sie unter Format von Ressourcennamen.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Die Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
JSON-Text der Anfrage:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL
aufgeführt.
Die Hauptkonten, die eine der angegebenen Berechtigungen für die angegebene Ressource haben, werden in der Antwort in den identities
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld identities
hervorgehoben ist.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "permission": "compute.instances.get" }, { "permission": "compute.instances.start" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyzeIamPolicy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
Ermitteln, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben
Mit der Richtlinienanalyse können Sie prüfen, welche Hauptkonten bestimmte Rollen oder Berechtigungen für Google Cloud-Ressourcen in Ihrer Organisation haben. Erstellen Sie dazu eine Abfrage, die eine oder mehrere Rollen oder Berechtigungen zur Prüfung enthält, aber keine Ressource angibt.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage und klicken Sie in diesem Bereich auf Benutzerdefinierte Abfrage erstellen.
Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.
Wählen Sie im Feld Parameter 1 entweder Rolle oder Berechtigung aus.
Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
Optional: So suchen Sie nach zusätzlichen Rollen und Berechtigungen:
- Klicken Sie auf Auswahl hinzufügen.
- Wählen Sie im Feld Parameter 2 entweder Rolle oder Berechtigung aus.
- Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
- Fügen Sie weitere Rollen- und Berechtigungsauswahl hinzu, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten.
Optional: Klicken Sie auf Weiter und wählen Sie dann alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.
Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite „Bericht“ werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für eine unter die Vorgaben fallende Ressource angezeigt.
Richtlinienanalyseabfragen in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, dass die Ergebnisse unvollständig sind. Exportieren Sie die Ergebnisse nach BigQuery, um vollständige Ergebnisse für diese Abfragen zu erhalten.
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertproject
,folder
oderorganization
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.ROLES
: Eine durch Kommas getrennte Liste der Rollen, die Sie prüfen möchten, z. B.roles/compute.admin,roles/compute.imageUser
. Wenn Sie mehrere Rollen auflisten, sucht Policy Analyzer nach einer der aufgeführten Rollen.PERMISSIONS
: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get,compute.instances.start
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.
Führen Sie den Befehl gcloud asset analysis-iam-policy aus:
Linux, macOS oder Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --roles='ROLES' \ --permissions='PERMISSIONS'
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --roles='ROLES' ` --permissions='PERMISSIONS'
Windows (cmd.exe)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --roles='ROLES' ^ --permissions='PERMISSIONS'
Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL
aufgeführt.
Die Hauptkonten mit einer der angegebenen Rollen oder Berechtigungen werden in der Antwort in den identities
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld identities
hervorgehoben ist.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start - role: roles/compute.admin identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: members: - user: my-user@example.com role: roles/compute.admin --- ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyze-iam-policy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
REST
Verwenden Sie die Methode analyzeIamPolicy
der Cloud Asset Inventory API, um zu ermitteln, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertprojects
,folders
oderorganizations
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.ROLE_1
,ROLE_2
...ROLE_N
: Die Rollen, die Sie überprüfen möchten, z. B.roles/compute.admin
. Wenn Sie mehrere Rollen auflisten, sucht Policy Analyzer nach einer der aufgeführten Rollen.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Die Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
JSON-Text der Anfrage:
{ "analysisQuery": { "accessSelector": { "roles": [ "ROLE_1", "ROLE_2", "ROLE_N" ], "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL
aufgeführt.
Die Hauptkonten mit einer der angegebenen Rollen oder Berechtigungen werden in der Antwort in den identities
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld identities
hervorgehoben ist.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "permission": "compute.instances.get" }, { "role": "roles/compute.admin" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyzeIamPolicy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
Ermitteln, welchen Zugriff ein Hauptkonto auf eine Ressource hat
Mit der Richtlinienanalyse können Sie überprüfen, welche Rollen oder Berechtigungen ein Hauptkonto für eine Ressource in Ihrer Organisation hat. Erstellen Sie dazu eine Abfrage zum Zugriff mit dem Hauptkonto, dessen Zugriff Sie analysieren möchten, sowie der Ressource, für die Sie den Zugriff analysieren möchten.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage und klicken Sie in diesem Bereich auf Benutzerdefinierte Abfrage erstellen.
Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.
Wählen Sie die Ressource und das Hauptkonto aus, die überprüft werden sollen:
- Wählen Sie im Feld Parameter 1 aus dem Drop-down-Menü die Option Ressource aus.
- Geben Sie im Feld Ressource den vollständigen Ressourcennamen der Ressource ein, für die Sie den Zugriff analysieren möchten. Wenn Sie den vollständigen Ressourcennamen nicht kennen, beginnen Sie mit der Eingabe des Anzeigenamens der Ressource und wählen Sie die Ressource aus der Liste der bereitgestellten Ressourcen aus.
- Klicken Sie auf Auswahl hinzufügen.
- Wählen Sie im Feld Parameter 2 aus dem Drop-down-Menü die Option Hauptkonto aus.
- Geben Sie im Feld Hauptkonto den Namen eines Nutzers, eines Dienstkontos oder einer Gruppe ein. Wählen Sie dann den Nutzer, das Dienstkonto oder die Gruppe aus, deren Zugriff Sie in der Liste der bereitgestellten Hauptkonten analysieren möchten.
Optional: Klicken Sie auf Weiter und wählen Sie dann alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.
Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite des Berichts werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Rollen angezeigt, die das angegebene Hauptkonto für die angegebene Ressource hat.
Richtlinienanalyseabfragen in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, dass die Ergebnisse unvollständig sind. Exportieren Sie die Ergebnisse nach BigQuery, um vollständige Ergebnisse für diese Abfragen zu erhalten.
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertproject
,folder
oderorganization
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.FULL_RESOURCE_NAME
: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Formate für Ressourcennamen finden Sie unter Format von Ressourcennamen.PRINCIPAL
: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im FormatPRINCIPAL_TYPE:ID
, z. B.user:my-user@example.com
. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkontenkennungen.
Führen Sie den Befehl gcloud asset analysis-iam-policy aus:
Linux, macOS oder Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --full-resource-name=FULL_RESOURCE_NAME \ --identity=PRINCIPAL
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --full-resource-name=FULL_RESOURCE_NAME ` --identity=PRINCIPAL
Windows (cmd.exe)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --full-resource-name=FULL_RESOURCE_NAME ^ --identity=PRINCIPAL
Sie erhalten eine YAML-Antwort mit Analyseergebnissen. In jedem Analyseergebnis wird eine Reihe von Zugriffen, Identitäten und Ressourcen aufgelistet, die für Ihre Abfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, lautet das Ergebnis CONDITIONAL
.
Die Rollen, die das Hauptkonto für die angegebene Ressource hat, sind in der Antwort in den accesses
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld accesses
hervorgehoben ist.
... --- ACLs: - accesses: - roles/iam.serviceAccountUser identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: members: - user: my-user@example.com role: roles/iam.serviceAccountUser --- ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyze-iam-policy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
REST
Verwenden Sie die Methode analyzeIamPolicy
der Cloud Asset Inventory API, um festzustellen, welchen Zugriff ein Hauptkonto auf eine Ressource hat.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertprojects
,folders
oderorganizations
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.FULL_RESOURCE_NAME
: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Formate für Ressourcennamen finden Sie unter Format von Ressourcennamen.PRINCIPAL
: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im FormatPRINCIPAL_TYPE:ID
, z. B.user:my-user@example.com
. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkontenkennungen.
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
JSON-Text der Anfrage:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "identitySelector": { "identity": "PRINCIPAL" } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL
aufgeführt.
Die Rollen, die das Hauptkonto für die angegebene Ressource hat, sind in der Antwort in den accesses
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld accesses
hervorgehoben ist.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/iam.serviceAccountUser", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "roles": "iam.serviceAccountUser" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyzeIamPolicy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
Bestimmen, auf welche Ressourcen ein Hauptkonto zugreifen kann
Mit der Richtlinienanalyse können Sie prüfen, welche Ressourcen in Ihrer Organisation bestimmte Rollen oder Berechtigungen haben. Erstellen Sie dazu eine Abfrage zu einer Ressource, die das Hauptkonto enthält, dessen Zugriff Sie analysieren möchten, sowie eine oder mehrere Berechtigungen oder Rollen, die Sie überprüfen möchten.
Console
Rufen Sie in der Google Cloud Console die Seite Policy Analyzer auf.
Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage und klicken Sie in diesem Bereich auf Benutzerdefinierte Abfrage erstellen.
Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.
Wählen Sie das Hauptkonto aus, das überprüft werden soll, und wählen Sie die Rolle oder Berechtigung aus, die geprüft werden soll:
- Wählen Sie im Feld Parameter 1 aus dem Drop-down-Menü die Option Hauptkonto aus.
- Geben Sie im Feld Hauptkonto den Namen eines Nutzers, eines Dienstkontos oder einer Gruppe ein. Wählen Sie dann den Nutzer, das Dienstkonto oder die Gruppe aus, deren Zugriff Sie in der Liste der bereitgestellten Hauptkonten analysieren möchten.
- Klicken Sie auf Auswahl hinzufügen.
- Wählen Sie im Feld Parameter 2 entweder Rolle oder Berechtigung aus.
- Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
- Optional: Um nach zusätzlichen Rollen und Berechtigungen zu suchen, fügen Sie weitere Rollen und Berechtigungen hinzu, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten. abgeschlossen.
Optional: Klicken Sie auf Weiter und wählen Sie dann alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.
Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite des Berichts werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Ressourcen angezeigt, für die das angegebene Hauptkonto die angegebenen Rollen oder Berechtigungen hat.
Richtlinienanalyseabfragen in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, dass die Ergebnisse unvollständig sind. Exportieren Sie die Ergebnisse nach BigQuery, um vollständige Ergebnisse für diese Abfragen zu erhalten.
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertproject
,folder
oderorganization
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.PRINCIPAL
: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im FormatPRINCIPAL_TYPE:ID
, z. B.user:my-user@example.com
. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkontenkennungen.PERMISSIONS
: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get,compute.instances.start
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.
Führen Sie den Befehl gcloud asset analysis-iam-policy aus:
Linux, macOS oder Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --identity=PRINCIPAL \ --permissions='PERMISSIONS'
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --identity=PRINCIPAL ` --permissions='PERMISSIONS'
Windows (cmd.exe)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --identity=PRINCIPAL ^ --permissions='PERMISSIONS'
Sie erhalten eine YAML-Antwort mit Analyseergebnissen. In jedem Analyseergebnis wird eine Reihe von Zugriffen, Identitäten und Ressourcen aufgelistet, die für Ihre Abfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, lautet das Ergebnis CONDITIONAL
.
Die Ressourcen, für die das angegebene Hauptkonto eine der angegebenen Berechtigungen hat, werden in der Antwort in den resources
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld resources
hervorgehoben ist.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start identities: - name: user:my-user@example.com resources: - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image policy: attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image binding: members: - user: my-user@example.com role: roles/compute.admin --- ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyze-iam-policy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
REST
Mit der Methode analyzeIamPolicy
der Cloud Asset Inventory API können Sie ermitteln, auf welche Ressourcen ein Hauptkonto zugreifen kann.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertprojects
,folders
oderorganizations
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.PRINCIPAL
: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im FormatPRINCIPAL_TYPE:ID
, z. B.user:my-user@example.com
. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkontenkennungen.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Die Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
JSON-Text der Anfrage:
{ "analysisQuery": { "identitySelector": { "identity": "PRINCIPAL" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL
aufgeführt.
Die Ressourcen, für die das angegebene Hauptkonto eine der angegebenen Berechtigungen hat, werden in der Antwort in den resources
-Feldern aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, bei dem das Feld resources
hervorgehoben ist.
... { "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image" } ], "accesses": [ { "permission": "compute.instances.get" }, { "permission": "compute.instances.start" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyzeIamPolicy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
Zugriff zu einem bestimmten Zeitpunkt festlegen
Wenn ausreichend Kontext vorhanden ist, kann Policy Analyzer bedingte IAM-Rollenbindungen analysieren, die nur zu bestimmten Zeiten Zugriff gewähren. Diese Bedingungen werden als Datum/Uhrzeit-Bedingungen bezeichnet. Damit Policy Analyzer Rollenbindungen mit Datum/Uhrzeit-Bedingungen genau analysieren kann, müssen Sie die Zugriffszeit in der Anfrage definieren.
Policy Analyzer kann auch Ressourcenbedingungen ohne zusätzliche Nutzereingabe analysieren. Weitere Informationen dazu, wie Policy Analyzer mit Bedingungen arbeitet, finden Sie unter Bedingter Zugriff.
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertproject
,folder
oderorganization
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.PERMISSIONS
: Optional. Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get,compute.instances.start
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.-
FULL_RESOURCE_NAME
: Optional. Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Formate von Ressourcennamen finden Sie unter Format von Ressourcennamen. PERMISSIONS
: Optional. Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get,compute.instances.start
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.ACCESS_TIME
: Die Uhrzeit, die Sie prüfen möchten. Diese Zeit muss in der Zukunft liegen. Verwenden Sie einen Zeitstempel im RFC 3339-Format, z. B.2099-02-01T00:00:00Z
.
Führen Sie den Befehl gcloud asset analysis-iam-policy aus:
Linux, macOS oder Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --identity=PRINCIPAL \ --full-resource-name=FULL_RESOURCE_NAME \ --permissions='PERMISSIONS' \ --access-time=ACCESS_TIME
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --identity=PRINCIPAL ` --full-resource-name=FULL_RESOURCE_NAME ` --permissions='PERMISSIONS' ` --access-time=ACCESS_TIME
Windows (cmd.exe)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --identity=PRINCIPAL ^ --full-resource-name=FULL_RESOURCE_NAME ^ --permissions='PERMISSIONS' ^ --access-time=ACCESS_TIME
Sie erhalten eine YAML-Antwort mit Analyseergebnissen. In jedem Analyseergebnis wird eine Reihe von Zugriffen, Identitäten und Ressourcen aufgelistet, die für Ihre Abfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, lautet das Ergebnis CONDITIONAL
.
Wenn Sie die Zugriffszeit in die Anfrage aufnehmen, kann Policy Analyzer die Datums-/Uhrzeitbedingungen auswerten. Wenn die Bedingung als falsch ausgewertet wird, ist diese Rolle nicht in der Antwort enthalten. Wenn die Bedingung als wahr ausgewertet wird, wird das Ergebnis der Bedingung als TRUE
aufgeführt.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start conditionEvaluationValue: 'TRUE' identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: condition: expression: request.time.getHours("America/Los_Angeles") >= 5 title: No access before 5am PST members: - user: my-user@example.com role: roles/compute.admin --- ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyze-iam-policy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
REST
Mit der Methode analyzeIamPolicy
der Cloud Asset Inventory API können Sie ermitteln, welche Hauptkonten zu einem bestimmten Zeitpunkt bestimmte Berechtigungen für eine Ressource haben.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
RESOURCE_TYPE
: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Verwenden Sie den Wertprojects
,folders
oderorganizations
.RESOURCE_ID
: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die bzw. die die Suche beschränkt werden soll. Es werden nur IAM-Zulassungsrichtlinien analysiert, die mit dieser Ressource und ihren Nachfolger verknüpft sind. Projekt-IDs sind alphanumerische Strings, wiemy-project
. Ordner- und Organisations-IDs sind numerisch, z. B.123456789012
.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Optional. Die Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.-
FULL_RESOURCE_NAME
: Optional. Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Formate von Ressourcennamen finden Sie unter Format von Ressourcennamen. PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Optional. Die Berechtigungen, die Sie prüfen möchten, z. B.compute.instances.get
. Wenn Sie mehrere Berechtigungen auflisten, sucht Policy Analyzer nach einer der aufgeführten Berechtigungen.ACCESS_TIME
: Die Uhrzeit, die Sie prüfen möchten. Diese Zeit muss in der Zukunft liegen. Verwenden Sie einen Zeitstempel im RFC 3339-Format, z. B.2099-02-01T00:00:00Z
.
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
JSON-Text der Anfrage:
{ "analysisQuery": { "identitySelector": { "identity": "PRINCIPAL" }, "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] }, "conditionContext": { "accessTime": "ACCESS_TIME" } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsbewertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL
aufgeführt.
Wenn Sie die Zugriffszeit in die Anfrage aufnehmen, kann Policy Analyzer die Datums-/Uhrzeitbedingungen auswerten. Wenn die Bedingung als falsch ausgewertet wird, ist diese Rolle nicht in der Antwort enthalten. Wenn die Bedingung als wahr ausgewertet wird, ist der Wert für die Bedingungsbewertung in der Analyseantwort TRUE
.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ], "condition": { "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5", "title": "No access before 5am PST" } }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "permission": "compute.instances.get" }, { "permission": "compute.instances.start" } ], "conditionEvaluation": { "evaluationValue": "TRUE" } } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Wenn es bei der Anfrage zu einer Zeitüberschreitung kommt, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED
angezeigt. Um vollständige Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse entweder in BigQuery oder Cloud Storage und verwenden die lang andauernde Version von analyzeIamPolicy
. Eine Anleitung dazu finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.
Optionen aktivieren
Sie können die folgenden Optionen aktivieren, um detailliertere Abfrageergebnisse zu erhalten.
Console
Wahltaste | Beschreibung |
---|---|
Ressourcen in Ressource(n) auflisten, die der Abfrage entsprechen | Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen bis zu 1.000 relevante nachgeordnete Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) in den Abfrageergebnissen aufgelistet. |
Einzelne Nutzer in Gruppen auflisten |
Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen in einzelne Mitglieder erweitert. Wenn Sie ausreichende Gruppenberechtigungen haben, werden verschachtelte Gruppen ebenfalls maximiert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe beschränkt. Diese Option ist nur verfügbar, wenn Sie in der Abfrage kein Hauptkonto angeben. |
Berechtigungen in Rollen auflisten |
Wenn Sie diese Option 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. |
gcloud
In diesem Abschnitt werden mehrere gängige Flags beschrieben, die Sie hinzufügen können, wenn Sie Zulassungsrichtlinien über die gcloud CLI analysieren. Eine vollständige Liste der Optionen finden Sie unter Optionale Flags.
Flag | Beschreibung |
---|---|
--analyze-service-account-impersonation |
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:
Dies ist ein sehr teurer Vorgang, da er automatisch viele Abfragen ausführt. Es wird dringend empfohlen, den Export nach BigQuery oder den Export nach Cloud Storage mit |
--expand-groups |
Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen in einzelne Mitglieder erweitert. Wenn Sie ausreichende Gruppenberechtigungen haben, werden verschachtelte Gruppen ebenfalls maximiert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe beschränkt. Diese Option ist nur wirksam, wenn Sie in der Abfrage kein Hauptkonto angeben. |
--expand-resources |
Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen bis zu 1.000 relevante nachgeordnete Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) in den Abfrageergebnissen aufgelistet. |
--expand-roles |
Wenn Sie diese Option 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. |
--output-group-edges |
Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse die relevanten Mitgliedschaftsbeziehungen zwischen Gruppen aus. |
--output-resource-edges |
Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse die relevanten übergeordneten/untergeordneten Beziehungen zwischen den Ressourcen aus. |
REST
Wenn Sie Optionen aktivieren möchten, fügen Sie Ihrer Analyseabfrage zuerst das Feld options
hinzu. Beispiel:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" }, "accessSelector": { "permissions": [ "iam.roles.get", "iam.roles.list" ] }, "options": { OPTIONS } } }
Ersetzen Sie OPTIONS
durch die Optionen, die Sie aktivieren möchten, im Format "OPTION": true
. In der folgenden Tabelle werden die verfügbaren Optionen beschrieben:
Wahltaste | Beschreibung |
---|---|
analyzeServiceAccountImpersonation |
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:
Dies ist ein sehr teurer Vorgang, da er automatisch viele Abfragen ausführt. Es wird dringend empfohlen, den Export nach BigQuery oder den Export nach Cloud Storage mit |
expandGroups |
Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen in einzelne Mitglieder erweitert. Wenn Sie ausreichende Gruppenberechtigungen haben, werden verschachtelte Gruppen ebenfalls maximiert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe beschränkt. Diese Option ist nur wirksam, wenn Sie in der Abfrage kein Hauptkonto angeben. |
expandResources |
Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen bis zu 1.000 relevante nachgeordnete Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) in den Abfrageergebnissen aufgelistet. |
expandRoles |
Wenn Sie diese Option 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. |
outputGroupEdges |
Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse die relevanten Mitgliedschaftsbeziehungen zwischen Gruppen aus. |
outputResourceEdges |
Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse die relevanten übergeordneten/untergeordneten Beziehungen zwischen den Ressourcen aus. |
Nächste Schritte
- Hier erfahren Sie, wie Sie mit
AnalyzeIamPolicyLongrunning
in BigQuery schreiben oder in Cloud Storage schreiben. - Sehen Sie sich an, wie Sie mit der REST API Richtlinienanalyse-Abfragen speichern können.
- Sehen Sie sich die verfügbaren Tools zur Fehlerbehebung beim Zugriff an, mit denen Sie herausfinden können, warum ein Hauptkonto keinen bestimmten Zugriffstyp hat.