In IAM beschreiben geltende Richtlinien, wie alle übergeordneten und übergeordneten Richtlinien in der Ressourcenhierarchie für eine Ressource übernommen werden.
Nur Zulassungsrichtlinien werden für den Abruf über Cloud Asset Inventory unterstützt. Die folgenden Formen der Zugriffssteuerung werden nicht unterstützt:
Hinweise
Aktivieren Sie die Cloud Asset Inventory API in dem Projekt, in dem Sie Cloud Asset Inventory-Befehle ausführen.
Prüfen Sie, ob Ihrem Konto die richtige Rolle zum Aufrufen der Cloud Asset Inventory API zugewiesen ist. Informationen zu den einzelnen Berechtigungen für jeden Anruftyp finden Sie unter Berechtigungen.
Gültige Richtlinien für Ressourcen ansehen
gcloud
gcloud asset get-effective-iam-policy \ --scope=SCOPE_PATH \ --names=ASSET_NAME_1,ASSET_NAME_2,...
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 die oberste Ebene ist, auf der gültige IAM-Richtlinien geprüft werden. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
die Nummer des Projekts ist, das die oberste Ebene ist, auf der gültige IAM-Richtlinien geprüft werden.Projektnummer für Google Cloud ermitteln
Google Cloud Console
So finden Sie die Projektnummer eines Google Cloud -Projekts:
-
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 ist, der die oberste Ebene darstellt, von der aus gültige IAM-Richtlinien geprüft werden sollen.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 die oberste Ebene ist, von der aus gültige IAM-Richtlinien geprüft werden.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))"
-
-
ASSET_NAME_#
: Eine durch Kommas getrennte Liste der vollständigen Namen der Assets.
Sie können Richtlinien für maximal 20 Assets gleichzeitig abrufen.
Eine vollständige Liste der Optionen finden Sie in der Referenz zur gcloud CLI.
Beispiel
Führen Sie den folgenden Befehl aus, um die gültigen IAM-Richtlinien auf der Compute Engine-Instanz my-instance
aufzurufen, die von der Organisation mit der ID my-organization-id
übernommen 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 asset get-effective-iam-policy \ --scope=organizations/my-organization-id \ --names=//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance
Beispielantwort
policyResults: - fullResourceName: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance policies: - attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project policy: bindings: - members: - user:alex@example.com - user:bola@example.com role: roles/cloudkms.admin - members: - serviceAccount:000000000000-compute@developer.gserviceaccount.com role: roles/editor - attachedResource: //cloudresourcemanager.googleapis.com/folders/000000000000 policy: bindings: - members: - user:cruz@example.com role: roles/resourcemanager.folderAdmin - members: - user:dani@example.com role: roles/resourcemanager.folderEditor - attachedResource: //cloudresourcemanager.googleapis.com/organizations/0000000000000 policy: bindings: - members: - user:hao@example.com role: organizations/0000000000000/roles/CustomProjectAdmin - members: - serviceAccount:000000000000@cloudservices.gserviceaccount.com - user:ira@example.com - user:jie@example.com role: roles/accesscontextmanager.policyAdmin
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/effectiveIamPolicies:batchGet
JSON-Text anfordern:
{ "names": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ] }
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 die oberste Ebene ist, auf der gültige IAM-Richtlinien geprüft werden. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
die Nummer des Projekts ist, das die oberste Ebene darstellt, auf der gültige IAM-Richtlinien geprüft werden.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 ist, der die oberste Ebene darstellt, auf der wirksame IAM-Richtlinien geprüft werden sollen.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 die oberste Ebene ist, von der aus gültige IAM-Richtlinien geprüft werden.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))"
-
-
ASSET_NAME_#
: Ein Array von vollständigen Asset-Namen.
Sie können Richtlinien für maximal 20 Assets gleichzeitig abrufen.
Weitere Informationen zu allen Optionen finden Sie in der REST-Referenz.
Befehlsbeispiele
Führen Sie einen der folgenden Befehle aus, um die effektiven IAM-Richtlinien auf der Compute Engine-Instanz my-instance
aufzurufen, die von der Organisation mit der ID my-organization-id
übernommen 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))"
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 '{ "names": [ "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance" ] }' \ https://cloudasset.googleapis.com/v1/organizations/my-organization-id/effectiveIamPolicies:batchGet
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "names": [ "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance" ] } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/organizations/my-organization-id/effectiveIamPolicies:batchGet" | Select-Object -Expand Content
Beispielantwort
{ "policyResults": [ { "fullResourceName": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1", "policies": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/my-project", "policy": { "bindings": [ { "role": "roles/cloudkms.admin", "members": [ "user:alex@example.com", "user:bola@example.com" ] }, { "role": "roles/editor", "members": [ "serviceAccount:000000000000-compute@developer.gserviceaccount.com" ] } ] } }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/000000000000", "policy": { "bindings": [ { "role": "roles/resourcemanager.folderAdmin", "members": [ "user:cruz@example.com" ] }, { "role": "roles/resourcemanager.folderEditor", "members": [ "user:dani@example.com" ] } ] } }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/000000000000", "policy": { "bindings": [ { "role": "organizations/1060291660910/roles/CustomProjectAdmin", "members": [ "user:hao@example.com" ] }, { "role": "roles/accesscontextmanager.policyAdmin", "members": [ "serviceAccount:000000000000@cloudservices.gserviceaccount.com", "user:ira@example.com", "user:jie@example.com" ] } ] } } ] } ] }