Sie können in einem Projekt, Ordner oder einer Organisation nach IAM-Zulassungsrichtlinien für Ihre Ressourcen suchen und die zurückgegebenen Ergebnisse mit einer Abfrage filtern.
Hinweise
Aktivieren Sie die Cloud Asset Inventory API in dem Projekt, in dem Sie Cloud Asset Inventory-Befehle ausführen.
Prüfen Sie, ob Ihr Konto die richtige Rolle zum Aufrufen der Cloud Asset Inventory API hat. Informationen zu den einzelnen Berechtigungen für jeden Anruftyp finden Sie unter Berechtigungen.
Abfrage erstellen
Bevor Sie eine Abfrage erstellen, kann es hilfreich sein, mit einer Suchanfrage zu beginnen, die keine Abfrage angibt. Verwenden Sie die Felder und Werte aus der vollständigen Antwort, um eine Abfrage mit der Syntax für Suchanfragen zu erstellen, und optimieren Sie sie, bis die gewünschten Ergebnisse zurückgegeben werden.
Felder, die in einer Abfrage verwendet werden können, werden in der IamPolicySearchResult
-Referenzdokumentation beschrieben.
Beachten Sie beim Erstellen einer Abfrage die folgenden Einschränkungen:
Das Feld
policy
ist ein verschachteltes Objekt und kann daher nur mit dem Operator:
verwendet werden.Nicht alle Asset-Typen sind suchbar. Unter Ressourcentypen können Sie nachsehen, ob ein Dienst in den Such-APIs nicht verfügbar ist.
Mit den folgenden zusätzlichen Feldern können Sie die Ergebnisse auch auf bestimmte Hauptkontotypen, Berechtigungen oder Rollen beschränken:
Feld | Beschreibung |
---|---|
memberTypes |
Enthält einen der folgenden IAM-Hauptkontotypen:
BeispielmemberTypes=user |
policy.role.permissions |
Enthält bestimmte IAM-Berechtigungen. Beispielpolicy.role.permissions=storage.buckets.create |
roles |
Enthält bestimmte IAM-Rollen. Beispielroles=roles/storage.objectAdmin |
Nach IAM-Zulassungsrichtlinien suchen
Bevor Sie eine Abfrage erstellen, kann es hilfreich sein, mit einer Suchanfrage zu beginnen, die keine Abfrage angibt. Verwenden Sie die Felder und Werte aus der vollständigen Antwort, um eine Abfrage mit der Syntax für Suchanfragen zu erstellen, und optimieren Sie sie, bis die gewünschten Ergebnisse zurückgegeben werden.
Console
Führen Sie die folgenden Schritte aus, um nach Metadaten für IAM-Zulassungsrichtlinien zu suchen.
-
Rufen Sie in der Google Cloud -Konsole die Seite Asset Inventory auf.
- Wechseln Sie zu dem Projekt, dem Ordner oder der Organisation, in dem bzw. der Sie suchen möchten.
- Klicken Sie auf den Tab IAM-Richtlinie.
-
Wenn Sie nach Zulassungsrichtlinien suchen möchten, geben Sie eine Abfrage in das Feld Filter ein. Informationen zum Erstellen einer Suchanfrage finden Sie unter Syntax von Suchanfragen.
Um das Erstellen von Abfragen zu vereinfachen, können Sie auf das Feld Filter klicken, um die verfügbaren suchbaren Felder einzublenden und Ihrer Abfrage hinzuzufügen.
Nach einer Suche werden die zugehörigen Zulassen-Richtlinien in der Tabelle Ergebnisse aufgeführt. Doppelklicken Sie auf die Abfrage, um sie zu bearbeiten, oder verwenden Sie den Bereich Ergebnisse filtern, um Abfragevoreinstellungen anzuwenden oder die Suchergebnisse auf bestimmte Kriterien einzugrenzen.
Wenn Sie die Abfrage als Google Cloud CLI-Befehl anzeigen möchten, klicken Sie auf Abfrage anzeigen.
Klicken Sie zum Exportieren der Ergebnisse auf CSV-Datei herunterladen.
gcloud
gcloud asset search-all-iam-policies \ --scope=SCOPE_PATH \ --query="QUERY" \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --order-by="ORDER_BY"
Geben Sie folgende Werte an:
-
SCOPE_PATH
: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID
, wobeiPROJECT_ID
die ID des Projekts ist, das Assets mit IAM-Zulassungsrichtlinien enthält, nach denen Sie suchen möchten. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
die Nummer des Projekts ist, das Assets mit IAM-Zulassungsrichtlinien enthält, nach denen Sie suchen möchten.Projektnummer für Google Cloud ermitteln
Google Cloud Console
So rufen Sie die Projektnummer eines Google Cloud -Projekts ab:
-
Rufen Sie in der Google Cloud -Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem Projektnamen. Der Projektname, die Projektnummer und die Projekt-ID werden in der Nähe der Überschrift Willkommen angezeigt.
Es werden bis zu 4.000 Ressourcen angezeigt. Wenn Sie das gewünschte Projekt nicht finden, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste mit dem Namen des Projekts.
gcloud-CLI
Sie können die Projektnummer eines Google Cloud -Projekts mit dem folgenden Befehl abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, wobeiFOLDER_ID
die ID des Ordners mit Assets mit IAM-Zulassungsrichtlinien ist, nach denen Sie suchen möchten.ID eines Ordners in Google Cloud ermitteln
Google Cloud Console
So rufen Sie die ID eines Ordners in Google Cloud ab:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl abrufen:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dabei ist TOP_LEVEL_FOLDER_NAME ein teilweiser oder vollständiger Stringabgleich mit dem Namen des Ordners. Entfernen Sie das
--format
-Flag, um weitere Informationen zu den gefundenen Ordnern aufzurufen.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, wobeiORGANIZATION_ID
die ID der Organisation ist, die Assets mit IAM-Zulassungsrichtlinien enthält, nach denen Sie suchen möchten.ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY
: Optional. Der Abfrageausdruck. Wenn nicht angegeben oder leer, wird im angegebenen Umfang nach allen Ressourcen gesucht. Informationen zum Erstellen einer Suchanfrage finden Sie unter Syntax von Suchanfragen. ASSET_TYPE_#
: Optional. Eine durch Kommas getrennte Liste von suchbaren Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird einINVALID_ARGUMENT
-Fehler zurückgegeben. Wenn--asset-types
nicht angegeben ist, werden alle Asset-Typen zurückgegeben.-
ORDER_BY
: Optional. Eine durch Kommas getrennte Liste von Feldern, die die Sortierreihenfolge der Ergebnisse angibt. Die Standardreihenfolge ist aufsteigend. Fügen Sie nach dem FeldnamenDESC
ein, um die absteigende Reihenfolge anzugeben. Welche Felder sortiert werden können, erfahren Sie in der Referenzdokumentation.
Mit den Flags --format
und --flatten
können Sie die Ausgabe der gcloud CLI formatieren.
Eine vollständige Liste der Optionen finden Sie in der Referenz zur gcloud CLI.
Beispiel
Führen Sie den folgenden Befehl aus, um eine Liste aller Compute Engine-Instanzen (compute.googleapis.com/Instance
) im Projekt my-project
mit einer IAM-Zulassungsrichtlinie aufzurufen, die sie an den Nutzer alex@example.com
bindet. Die Ergebnisse werden in absteigender Reihenfolge nach Ressource (resource DESC
) sortiert.
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy:\"user:alex@example.com\"" \ --asset-types=compute.googleapis.com/Instance \ --order-by="resource DESC"
Beispielantwort
--- assetType: compute.googleapis.com/Instance folders: - folders/0000000000000 organization: organizations/0000000000000 policy: bindings: - members: - user:alex@example.com role: roles/compute.viewer - members: - user:alex@example.com role: roles/editor - members: - user:alex@example.com role: roles/owner project: projects/0000000000000 resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/debian
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:searchAllIamPolicies
JSON-Text anfordern:
{ "query": "QUERY", "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN" }
Geben Sie folgende Werte an:
-
SCOPE_PATH
: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID
, wobeiPROJECT_ID
die ID des Projekts ist, das Assets mit IAM-Zulassungsrichtlinien enthält, nach denen Sie suchen möchten. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
die Nummer des Projekts ist, das Assets mit IAM-Zulassungsrichtlinien enthält, nach denen Sie suchen möchten.Projektnummer für Google Cloud ermitteln
Google Cloud Console
So rufen Sie die Projektnummer eines Google Cloud -Projekts ab:
-
Rufen Sie in der Google Cloud -Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem Projektnamen. Der Projektname, die Projektnummer und die Projekt-ID werden in der Nähe der Überschrift Willkommen angezeigt.
Es werden bis zu 4.000 Ressourcen angezeigt. Wenn Sie das gewünschte Projekt nicht finden, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste mit dem Namen des Projekts.
gcloud-CLI
Sie können die Projektnummer eines Google Cloud -Projekts mit dem folgenden Befehl abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, wobeiFOLDER_ID
die ID des Ordners mit Assets mit IAM-Zulassungsrichtlinien ist, nach denen Sie suchen möchten.ID eines Ordners in Google Cloud ermitteln
Google Cloud Console
So rufen Sie die ID eines Ordners in Google Cloud ab:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl abrufen:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dabei ist TOP_LEVEL_FOLDER_NAME ein teilweiser oder vollständiger Stringabgleich mit dem Namen des Ordners. Entfernen Sie das
--format
-Flag, um weitere Informationen zu den gefundenen Ordnern aufzurufen.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, wobeiORGANIZATION_ID
die ID der Organisation ist, die Assets mit IAM-Zulassungsrichtlinien enthält, nach denen Sie suchen möchten.ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY
: Optional. Der Abfrageausdruck. Wenn nicht angegeben oder leer, wird im angegebenen Umfang nach allen Ressourcen gesucht. Informationen zum Erstellen einer Suchanfrage finden Sie unter Syntax von Suchanfragen. ASSET_TYPE_#
: Optional. Ein Array von suchbaren Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird einINVALID_ARGUMENT
-Fehler zurückgegeben. WennassetTypes
nicht angegeben ist, werden alle Asset-Typen zurückgegeben.-
ORDER_BY
: Optional. Eine durch Kommas getrennte Liste von Feldern, die die Sortierreihenfolge der Ergebnisse angibt. Die Standardreihenfolge ist aufsteigend. Fügen Sie nach dem FeldnamenDESC
ein, um die absteigende Reihenfolge anzugeben. Welche Felder sortiert werden können, erfahren Sie in der Referenzdokumentation. -
PAGE_SIZE
: Optional. Die Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen. Der Maximalwert beträgt 500. Wenn der Wert auf0
oder einen negativen Wert festgelegt ist, wird ein geeigneter Standardwert ausgewählt. EinnextPageToken
wird zurückgegeben, um nachfolgende Ergebnisse abzurufen. -
PAGE_TOKEN
: Optional. Lange Antwortantworten werden auf mehrere Seiten verteilt. WennpageToken
nicht angegeben ist, wird die erste Seite zurückgegeben. Nachfolgende Seiten können aufgerufen werden, indem der WertnextPageToken
der vorherigen Antwort als Wert fürpageToken
verwendet wird.
Weitere Informationen zu allen Optionen finden Sie in der REST-Referenz.
Befehlsbeispiele
Führen Sie einen der folgenden Befehle aus, um eine Liste aller Compute Engine-Instanzen (compute.googleapis.com/Instance
) im Projekt my-project
mit einer IAM-Zulassungsrichtlinie aufzurufen, die sie an den Nutzer alex@example.com
bindet. Die Ergebnisse werden in absteigender Reihenfolge nach Ressource (resource DESC
) sortiert.
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "query": "policy:\"user:alex@example.com\"", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "resource DESC" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "query": "policy:\"user:alex@example.com\"", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "resource DESC" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Beispielantwort
{ "resource": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/debian", "project": "projects/0000000000000", "policy": { "bindings": [ { "role": "roles/compute.viewer", "members": [ "user:alex@example.com" ] }, { "role": "roles/editor", "members": [ "user:alex@example.com" ] }, { "role": "roles/owner", "members": [ "user:alex@example.com" ] } ] }, "assetType": "compute.googleapis.com/Instance", "folders": [ "folders/0000000000000" ], "organization": "organizations/0000000000000" }
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Suchbeispiele
Die folgenden Codebeispiele zeigen spezifische Suchanfragen für gcloud und REST, die Ihnen dabei helfen sollen, eigene Suchanfragen zu erstellen.
Ressourcen mit IAM-Zulassungsrichtlinien
Im folgenden Beispiel wird gezeigt, wie im Projekt my-project
nach allen Ressourcen mit IAM-Zulassungsrichtlinien gesucht wird.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --flatten="policy.bindings[].members[]" \ --format="table(resource, policy.bindings.role, policy.bindings.members)"
REST
HTTP-Methode und URL:
GET https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Benannte Ressourcen mit IAM-Zulassungsrichtlinien
Im folgenden Beispiel wird gezeigt, wie Sie nach allen Ressourcen mit example
im Namen suchen, für die IAM-Zulassungsrichtlinien gelten.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="resource:example"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
JSON-Text anfordern:
{ "pageSize": 1, "query": "resource:example" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "resource:example" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "resource:example" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
IAM-Zulassungsrichtlinien für Projekte, Ordner und Organisationen
Im folgenden Beispiel wird gezeigt, wie Sie nach allen IAM-Zulassungsrichtlinien für alle Projekte und Ordner in der Organisation mit der ID my-organization-id
suchen.
ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --asset-types=cloudresourcemanager.*
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
JSON-Text anfordern:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Inhaber eines Projekts
Im folgenden Beispiel wird gezeigt, wie Sie im Projekt my-project
nach Hauptkonten mit der Rolle Inhaber (roles/owner
) suchen.
Bei dieser Anfrage werden nur Hauptkonten zurückgegeben, denen die Rolle „Inhaber“ für das Projekt zugewiesen wurde. Hauptkonten, die die Rolle „Inhaber“ durch Richtlinienübernahme übernehmen, sind nicht enthalten.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="roles:roles/owner" \ --asset-types=cloudresourcemanager.* \ --flatten="policy.bindings[].members[]" \ --format="table(policy.bindings.members)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
JSON-Text anfordern:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "roles:roles/owner" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "roles:roles/owner" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "roles:roles/owner" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Projekte, bei denen ein Hauptkonto die Rolle „Inhaber“ hat
Im folgenden Beispiel wird gezeigt, wie Sie in der Organisation mit der ID my-organization-id
nach Projekten suchen, in denen alex@example.com
die Rolle „Inhaber“ (roles/owner
) hat.
Diese Anfrage gibt nur die Projekte zurück, für die alex@example.com
die Rolle „Inhaber“ zugewiesen wurde. Projekte, für die alex@example.com
die Rolle „Inhaber“ übernommen hat, sind nicht enthalten.
ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy:(roles/owner alex@example.com)" \ --asset-types=cloudresourcemanager.googleapis.com/Project \ --format="table(resource)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
JSON-Text anfordern:
{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:(roles/owner alex@example.com)" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:(roles/owner alex@example.com)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:(roles/owner alex@example.com)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Rollen eines Hauptkontos für ein Projekt
Im folgenden Beispiel wird gezeigt, wie nach den Rollen gesucht wird, die alex@example.com
im Projekt my-project
hat.
Diese Anfrage gibt nur die Rollen zurück, die alex@example.com
für das Projekt gewährt wurden. Rollen, die alex@example.com
durch Richtlinienübernahme übernommen hat, sind nicht enthalten.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy:alex@example.com" \ --asset-types=cloudresourcemanager.googleapis.com/Project \ --flatten="policy.bindings[]" \ --format="table(policy.bindings.role)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
JSON-Text anfordern:
{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:alex@example.com" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:alex@example.com" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.googleapis.com/Project", "pageSize": 1, "query": "policy:alex@example.com" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Berechtigungen eines Hauptkontos für ein Projekt
Im folgenden Beispiel wird gezeigt, wie nach den Berechtigungen gesucht wird, die alex@example.com
für das Projekt my-project
hat.
Bei dieser Anfrage werden nur die Berechtigungen zurückgegeben, die alex@example.com
für das Projekt hat. Es enthält keine Berechtigungen, die alex@example.com
durch Richtlinienübernahme übernommen hat.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy:alex@example.com policy.role.permissions:\"\"" \ --asset-types=cloudresourcemanager.* \ --format="default(explanation.matchedPermissions)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
JSON-Text anfordern:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy:alex@example.com policy.role.permissions:\"\"" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy:alex@example.com policy.role.permissions:\"\"" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy:alex@example.com policy.role.permissions:\"\"" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Berechtigte, die auf Cloud Storage-Buckets zugreifen können
Im folgenden Beispiel wird gezeigt, wie nach Principals gesucht wird, die im Projekt my-project
auf Cloud Storage-Buckets zugreifen können.
gcloud
gcloud asset search-all-iam-policies \ --scope=projects/my-project \ --query="policy.role.permissions:storage.buckets" \ --asset-types=cloudresourcemanager.* \ --flatten="policy.bindings[].members[]" \ --format="table(policy.bindings.members)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
JSON-Text anfordern:
{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy.role.permissions:storage.buckets" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy.role.permissions:storage.buckets" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "cloudresourcemanager.*", "pageSize": 1, "query": "policy.role.permissions:storage.buckets" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllIamPolicies" | Select-Object -Expand Content
Dienstkonten mit der Rolle „Inhaber“
Im folgenden Beispiel wird gezeigt, wie Sie in der Organisation mit der my-organization-id
nach Dienstkonten mit der Rolle „Inhaber“ (roles/owner
) suchen. Mit dieser Abfrage können Sie Ihr Risikoprofil senken.
ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud
In diesem Beispiel wird der Befehl „grep“ verwendet, der in Cloud Shell und Unix-ähnlichen Betriebssystemen verfügbar ist.
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy:(roles/owner serviceAccount)" \ --flatten="policy.bindings[].members[]" \ --format="table(resource.segment(3):label=RESOURCE_TYPE, resource.basename():label=RESOURCE, policy.bindings.members)" | grep serviceAccount
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
JSON-Text anfordern:
{ "pageSize": 1, "query": "policy:(roles/owner serviceAccount)" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "policy:(roles/owner serviceAccount)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "policy:(roles/owner serviceAccount)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Ressourcen mit Rollen, die einer Domain gewährt wurden
Im folgenden Beispiel wird gezeigt, wie Sie in der Organisation mit der ID my-organization-id
nach Ressourcen mit Rollen suchen, die der Domain example.com
gewährt wurden.
ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy:\"domain:example.com\"" \ --flatten="policy.bindings[]" \ --format="table(resource, policy.bindings.role)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
JSON-Text anfordern:
{ "pageSize": 1, "query": "policy:\"domain:DOMAIN_NAME\"" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "policy:\"domain:DOMAIN_NAME\"" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "policy:\"domain:DOMAIN_NAME\"" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Ressourcen mit Rollen, die der Allgemeinheit gewährt wurden
Im folgenden Beispiel wird gezeigt, wie Sie in der Organisation mit der ID my-organization-id
nach Ressourcen mit Rollen suchen, die der Allgemeinheit gewährt wurden.
ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="memberTypes:(allUsers OR allAuthenticatedUsers)" \ --format="table(resource)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
JSON-Text anfordern:
{ "pageSize": 1, "query": "memberTypes:(allUsers OR allAuthenticatedUsers)" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "memberTypes:(allUsers OR allAuthenticatedUsers)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "memberTypes:(allUsers OR allAuthenticatedUsers)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content
Hauptkonten, die IAM-Zulassungsrichtlinien in einer Organisation ändern können
Im folgenden Beispiel wird gezeigt, wie Sie nach Hauptkonten suchen, die IAM-Zulassungsrichtlinien in der Organisation mit der ID my-organization-id
ändern können.
ID einer Google Cloud -Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud -Organisation:
-
Rufen Sie die Google Cloud -Konsole auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
gcloud
gcloud asset search-all-iam-policies \ --scope=organizations/my-organization-id \ --query="policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" \ --format="json(resource, policy.bindings, explanation.matchedPermissions)"
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
JSON-Text anfordern:
{ "pageSize": 1, "query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" }
Befehlsbeispiele
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id:searchAllIamPolicies" | Select-Object -Expand Content