In IAM beschreiben geltende Richtlinien, wie alle übergeordneten Richtlinien und Richtlinien der Vorfahren 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 Ihr Konto die richtige Rolle zum Aufrufen der Cloud Asset Inventory API hat. Informationen zu den einzelnen Berechtigungen für die einzelnen Anruftypen finden Sie unter Berechtigungen.
Effektive 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_IDdie ID des Projekts ist, das die oberste Ebene für die Prüfung der effektiven IAM-Richtlinien darstellt. -
projects/PROJECT_NUMBER, wobeiPROJECT_NUMBERdie Nummer des Projekts ist, das die oberste Ebene für die Prüfung effektiver IAM-Richtlinien darstellt.Google Cloud Projektnummer finden
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 Umschalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach Ihrem 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 sehen, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste nach dem Namen des Projekts.
gcloud-CLI
Sie können eine Google Cloud Projektnummer mit dem folgenden Befehl abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, wobeiFOLDER_IDdie ID des Ordners ist, der die oberste Ebene für die Prüfung der effektiven IAM-Richtlinien darstellt.ID eines Google Cloud -Ordners finden
Google Cloud Console
So finden Sie die ID eines Google Cloud -Ordners:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- 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 eine teilweise oder vollständige Stringübereinstimmung für den Namen des Ordners. Entfernen Sie das Flag
--format, um weitere Informationen zu den gefundenen Ordnern zu sehen.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_IDdie ID der Organisation ist, die die oberste Ebene für die Prüfung effektiver IAM-Richtlinien darstellt.ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- 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 von vollständigen Asset-Namen.
Sie können Richtlinien für maximal 20 Assets in einem Batch 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 geltenden IAM-Richtlinien für die Compute Engine-Instanz my-instance anzuzeigen, die von der Organisation mit der ID my-organization-id übernommen wurden.
ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- 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 der Anfrage:
{ "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_IDdie ID des Projekts ist, das die oberste Ebene für die Prüfung der effektiven IAM-Richtlinien darstellt. -
projects/PROJECT_NUMBER, wobeiPROJECT_NUMBERdie Nummer des Projekts ist, das die oberste Ebene für die Prüfung effektiver IAM-Richtlinien darstellt.Google Cloud Projektnummer finden
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 Umschalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach Ihrem 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 sehen, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste nach dem Namen des Projekts.
gcloud-CLI
Sie können eine Google Cloud Projektnummer mit dem folgenden Befehl abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, wobeiFOLDER_IDdie ID des Ordners ist, der die oberste Ebene für die Prüfung der effektiven IAM-Richtlinien darstellt.ID eines Google Cloud -Ordners finden
Google Cloud Console
So finden Sie die ID eines Google Cloud -Ordners:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- 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 eine teilweise oder vollständige Stringübereinstimmung für den Namen des Ordners. Entfernen Sie das Flag
--format, um weitere Informationen zu den gefundenen Ordnern zu sehen.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_IDdie ID der Organisation ist, die die oberste Ebene für die Prüfung effektiver IAM-Richtlinien darstellt.ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- 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 mit vollständigen Asset-Namen.
Sie können Richtlinien für maximal 20 Assets in einem Batch abrufen.
Alle Optionen finden Sie in der REST-Referenz.
Beispiele für Befehle
Führen Sie einen der folgenden Befehle aus, um die effektiven IAM-Richtlinien für die my-instance Compute Engine-Instanz aufzurufen, die von der Organisation mit der ID my-organization-id übernommen wurden.
ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- 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" ] } ] } } ] } ] }