Geltende IAM-Richtlinien aufrufen

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.

  1. 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

  2. Installieren Sie das Google Cloud SDK.

  3. Optional: Um die Cloud Asset Inventory API direkt aufzurufen, müssen Sie Folgendes tun: Zugriff auf den Befehl curl

  4. Legen Sie die Berechtigungen fest.

    1. Konfigurieren Sie Berechtigungen für die Cloud Asset API.

    2. 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:

      1. Rufen Sie in der Google Cloud Console die Seite Dashboard auf.

        Zu Google Dashboard

      2. Klicken Sie in der Menüleiste auf das Umschaltfeld.
      3. Wählen Sie im Feld Auswählen Ihre Organisation aus und suchen Sie dann nach dem Projektnamen.
      4. 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:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Umschaltfeld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. 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:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console gehen

      2. Klicken Sie in der Menüleiste auf das Umschaltfeld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie dann Ihre Organisation aus.
      4. 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:

      1. Rufen Sie in der Google Cloud Console die Seite Dashboard auf.

        Zu Google Dashboard

      2. Klicken Sie in der Menüleiste auf das Schalterfeld.
      3. Wählen Sie im Feld Auswählen Ihre Organisation aus und suchen Sie dann nach dem Projektnamen.
      4. 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:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Schalterfeld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. 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:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console gehen

      2. Klicken Sie in der Menüleiste auf das Umschaltfeld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie dann Ihre Organisation aus.
      4. 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))"