In diesem Thema erfahren Sie, wie Sie die effektive Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) aufrufen. Richtlinien für eine bestimmte Ressource.
In IAM: wirksame Richtlinie beschreibt, wie alle übergeordneten und Ancestor-Richtlinien in der Ressourcenhierarchie für eine Ressource übernommen.
Umfang und Berechtigungen
Wenn Sie geltende IAM-Richtlinien anfordern, müssen Sie eine Umfang. Das kann eine Organisation, ein Ordner oder ein Projekt sein. Alle IAM Richtlinien zurückgegeben, die für oder unter diesem Bereich festgelegt sind. Der Umfang der Anfrage muss nicht mit dem aktivierten Projekt für die Cloud Asset API übereinstimmen. Außerdem sind für das aktivierte Projekt und den Anfragebereich unterschiedliche Berechtigungen erforderlich.
Unterstützte Richtlinientypen
Für gültige IAM-Richtlinien werden nur IAM-Zulassungsrichtlinien unterstützt. Die folgenden Zugriffsarten werden nicht unterstützt Kontrollgruppe:
Hinweise
Führen Sie zuerst die folgenden Schritte aus.
Aktivieren Sie die Cloud Asset Inventory API für Ihr Projekt.
Cloud Asset Inventory API aktivieren
Dieses Projekt muss nicht mit dem Umfang identisch sein. Ihrer Anfragen. Weitere Informationen zum Festlegen eines Projekts beim Aktivieren eines Dienstes
Installieren Sie das Google Cloud SDK.
Optional: Um die Cloud Asset Inventory API direkt aufzurufen, müssen Sie Folgendes tun: Zugriff auf den Befehl
curl
Legen Sie die Berechtigungen fest.
Konfigurieren Sie Berechtigungen für die Cloud Asset API.
Aktivieren Sie die folgenden Berechtigungen für Ihren Anfragebereich.
cloudasset.assets.analyzeIamPolicy
cloudasset.assets.searchAllResources
cloudasset.assets.searchAllIamPolicies
Diese Berechtigungen sind in den folgenden vordefinierten Rollen enthalten:
Cloud-Asset-Inhaber (
roles/cloudasset.owner
)Cloud-Asset-Betrachter (
roles/cloudasset.viewer
)
Weitere Informationen zu Berechtigungen und Rollen für die Cloud Asset API finden Sie unter Zugriffssteuerung.
Gültige IAM-Richtlinien abrufen
gcloud
Um die effektiven IAM-Richtlinien für eine Ressource abzurufen, können Sie
BatchGetEffectiveIamPolicies
mit gcloud asset get-effective-iam-policy
. Sie müssen die Google Cloud CLI-Version 399.0.0 oder höher ausführen.
gcloud asset get-effective-iam-policy \
--scope=SCOPE \
--names=ASSET_NAME_1,ASSET_NAME_2,...
Geben Sie folgende Werte an:
SCOPE
: Ein Bereich kann ein Projekt, ein Ordner oder ein Unternehmen.Zulässige Werte:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud-Projektnummer ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:
-
Rufen Sie in der Google Cloud Console die Seite Dashboard auf.
- Klicken Sie in der Menüleiste auf das Umschaltfeld.
- Wählen Sie im Feld Auswählen Ihre Organisation aus und suchen Sie dann nach dem Projektnamen.
- Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird im Karte Projektinformationen:
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Projektnummer abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud-Ordner-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu finden:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Umschaltfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
- Suchen Sie nach dem Namen Ihres 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 kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Übereinstimmung sein. Entfernen Sie die Option
--format
, um weitere Informationen zu den gefundenen Ordnern aufzurufen.Wenn Sie die ID eines Ordners in einem anderen Ordner abrufen möchten, listen Sie die Unterordner auf:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud-Organisations-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu finden:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Umschaltfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie dann Ihre Organisation aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_NAME
: Eine durch Kommas getrennte Liste der vollständigen Namen von Assets, für die die geltenden IAM-Richtlinien abgerufen werden sollen.Sie können Richtlinien für maximal 20 Assets gleichzeitig abrufen.
Die folgenden Codebeispiele sind Beispiele für gcloud
-Befehle:
Für die Organisations-ID
123456
:gcloud asset get-effective-iam-policy \ --scope=organizations/123456 \ --names=//cloudresourcemanager.googleapis.com/organizations/123456
Für die Ordner-ID
1234567
:gcloud asset get-effective-iam-policy \ --scope=folders/1234567 \ --names=//cloudresourcemanager.googleapis.com/folders/1234567
Für zwei Cloud SQL-Instanzressourcen in einem Projekt mit dem Namen
my-project
:gcloud asset get-effective-iam-policy \ --scope=projects/my-project \ --names=//cloudsql.googleapis.com/projects/my-project/instances/instance1,//cloudsql.googleapis.com/projects/my-project/instances/instance2
REST
Um die effektiven IAM-Richtlinien für eine Ressource mithilfe der Methode
Cloud Asset Inventory API verwenden Sie den folgenden curl
-Befehl:
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"names": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
]
}' \
https://cloudasset.googleapis.com/v1/SCOPE/effectiveIamPolicies:batchGet
Geben Sie folgende Werte an:
ASSET_NAME
: Eine durch Kommas getrennte Liste der vollständigen Namen von Assets, für die die geltenden IAM-Richtlinien abgerufen werden sollen.Sie können Richtlinien für maximal 20 Assets gleichzeitig abrufen.
SCOPE
: Ein Bereich kann ein Projekt, ein Ordner oder ein Unternehmen.Zulässige Werte:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud-Projektnummer ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:
-
Rufen Sie in der Google Cloud Console die Seite Dashboard auf.
- Klicken Sie in der Menüleiste auf das Schalterfeld.
- Wählen Sie im Feld Auswählen Ihre Organisation aus und suchen Sie dann nach dem Projektnamen.
- Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird im Karte Projektinformationen:
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Projektnummer abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud-Ordner-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu finden:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Schalterfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
- Suchen Sie nach dem Namen Ihres 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 kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Übereinstimmung sein. Entfernen Sie die Option
--format
, um weitere Informationen zu den gefundenen Ordnern aufzurufen.Wenn Sie die ID eines Ordners in einem anderen Ordner abrufen möchten, listen Sie die Unterordner auf:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud-Organisations-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu finden:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Umschaltfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie dann Ihre Organisation aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-