Fehlerbehebung bei Richtlinien

Auf dieser Seite wird beschrieben, wie Sie Probleme mit IAM-Richtlinien (Identity and Access Management) zum Zulassen, Verweigern und Begrenzen des Zugriffs beheben.

Richtlinien-Fehlerbehebung verwenden

Wenn Sie Probleme mit dem Zugriff für ein bestimmtes Hauptkonto beheben müssen, verwenden Sie die Richtlinien-Fehlerbehebung für IAM.

Mit der Richtlinien-Fehlerbehebung können Sie nachvollziehen, ob ein Hauptkonto auf eine Ressource zugreifen kann. Wenn Sie ein Hauptkonto, eine Ressource und eine Berechtigung angeben, prüft die Richtlinien-Fehlerbehebung die Zulassungs-, Ablehnungs- und PAB-Richtlinien (Principal Access Boundary), die sich auf den Zugriff des Hauptkontos auswirken. Anschließend wird angezeigt, ob das Hauptkonto gemäß diesen Richtlinien die angegebene Berechtigung für den Zugriff auf die Ressource verwenden kann. Außerdem werden die relevanten Richtlinien aufgeführt und erläutert, wie sie sich auf den Zugriff des Hauptkontos auswirken.

Informationen zur Fehlerbehebung bei Zulassungs-, Ablehnungs- und Principal Access Boundary-Richtlinien mithilfe der Richtlinien-Fehlerbehebung finden Sie unter Fehlerbehebung bei IAM-Berechtigungen.

Alle Zulassungs- und Ablehnungsrichtlinien ansehen, die für eine Ressource gelten

In Google Cloud wirken sich die folgenden Zulassungs- und Deaktivierungsrichtlinien auf den Zugriff auf eine Ressource aus:

  • Zulassungsrichtlinie der Ressource
  • Ablehnungsrichtlinien der Ressource, falls vorhanden
  • Die Zulassungsrichtlinien des übergeordneten Projekts, des Ordners und der Organisation der Ressource, sofern vorhanden
  • Ablehnungsrichtlinien des übergeordneten Projekts, des Ordners und der Organisation der Ressource, falls vorhanden

Die Richtlinien zum Zulassen oder Ablehnen von übergeordneten Projekten, Ordnern und Organisationen wirken sich aufgrund der Richtlinienübernahme auf den Zugriff auf eine Ressource aus. Wenn Sie eine Zulassung- oder Ablehnungsrichtlinie an ein Projekt, einen Ordner oder eine Organisation anhängen, gilt diese Richtlinie auch für alle Ressourcen innerhalb dieses Projekts, Ordners oder dieser Organisation.

Wenn eine Ablehnungsrichtlinie für eine Organisation beispielsweise besagt, dass ein Hauptkonto keine bestimmte Berechtigung verwenden kann, kann das Hauptkonto diese Berechtigung nicht für eine Ressource innerhalb der Organisation verwenden. Diese Regel gilt auch dann, wenn die Ordner und Projekte innerhalb dieser Organisation striktere Ablehnungsrichtlinien haben oder Richtlinien zulassen, die dem Hauptkonto die Berechtigung erteilen.

Wenn eine „allow”-Richtlinie für ein Projekt einem Hauptkonto eine bestimmte Berechtigung erteilt, hat das Hauptkonto diese Berechtigung für jede Ressource innerhalb des Projekts, sofern ihm diese Berechtigung nicht verweigert wird.

Die Vereinigung aller dieser Richtlinien wird als entsprechende Richtlinie oder effektive Richtlinie für die Ressource bezeichnet.

In Google Cloud können Sie mit dem Befehl gcloud beta projects get-ancestors-iam-policy mit dem Flag --include-deny eine Liste aller Richtlinien zum Zulassen und Verweigern abrufen, die sich auf den Zugriff auf ein Projekt auswirken. Zusammen bilden diese Richtlinien die geltende Richtlinie für das Projekt. Sie können jede Richtlinie untersuchen, um zu sehen, wie sie sich auf den Zugriff des Hauptkontos auswirkt.

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • PROJECT_ID: Ihre Google Cloud-Projekt-ID. Projekt-IDs sind alphanumerische Strings, wie my-project.

Führen Sie den Befehl gcloud beta projects get-ancestors-iam-policy aus:

Linux, macOS oder Cloud Shell

gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json

Windows (PowerShell)

gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json

Windows (cmd.exe)

gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json

Die Antwort enthält die Richtlinien zum Zulassen oder Ablehnen des Projekts, alle Ordner, die Ancestors des Projekts sind und die Organisation. Das folgende Beispiel zeigt Zulassungsrichtlinien für die Organisation 1234567890123 und das Projekt my-project sowie eine Ablehnungsrichtlinie für das Projekt my-project:

[
  {
    "id": "1234567890123",
    "policy": {
      "bindings": [
        {
          "members": [
            "group:cloud-admins@example.com"
          ],
          "role": "roles/iam.denyAdmin"
        },
        {
          "members": [
            "user:raha@example.com"
          ],
          "role": "roles/iam.serviceAccountAdmin"
        }
      ],
      "etag": "BwXW6Eab7TI=",
      "version": 1
    },
    "type": "organization"
  },
  {
    "id": "my-project",
    "policy": {
      "bindings": [
        {
          "members": [
            "group:cloud-admins@example.com"
          ],
          "role": "roles/owner"
        }
      ],
      "etag": "BwXXjOM7L6M=",
      "type": "project"
    }
  },
  {
    "id": "my-project",
    "policy": {
      "createTime": "2022-02-14T21:46:35.865279Z",
      "displayName": "My deny policy",
      "etag": "MTgyMzg2ODcwNTEyMjMxMTM3Mjg=",
      "kind": "DenyPolicy",
      "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F123456789012/denypolicies/my-deny-policy",
      "rules": [
        {
          "denyRule": {
            "deniedPermissions": [
              "iam.googleapis.com/serviceAccounts.create"
            ],
            "deniedPrincipals": [
              "user:raha@example.com"
            ]
          },
          "description": "Prevent service account creation"
        }
      ],
      "uid": "c83e3dc3-d8a6-6f51-4018-814e9f200b05",
      "updateTime": "2022-02-14T21:46:35.865279Z"
    },
    "type": "project"
  }
]

In diesem Beispiel hat Raha die Rolle „Dienstkonto-Administrator“ (roles/iam.serviceAccountAdmin) für die Organisation, aber das Projekt hat eine Ablehnungsrichtlinie, die Raha daran hindert, die Berechtigung iam.googleapis.com/serviceAccounts.create zu verwenden. Wenn Raha versucht, ein Dienstkonto im Projekt my-project zu erstellen, wird die Anfrage daher abgelehnt.

In einigen Fällen müssen Sie möglicherweise nur die geltende Zulassungsrichtlinie für eine Ressource aufrufen, z. B. wenn Ihre Organisation keine Ablehnungsrichtlinien verwendet. In diesen Fällen können Sie die folgenden Methoden mit den folgenden Methoden aufrufen, um die geltende Zulassungsrichtlinie aufzurufen:

  • Rufen Sie die IAM-Richtlinie der Ressource in der Google Cloud Console auf. In der Google Cloud Console wird automatisch die geltende Richtlinie jeder Ressource angezeigt.

    Informationen zum Aufrufen der IAM-Zulassungsrichtlinie einer Ressource in der Google Cloud Console finden Sie unter Aktuellen Zugriff ansehen.

  • Verwenden Sie die Cloud Asset API, um die geltende Zulassungsrichtlinie der Ressource abzurufen. Weitere Informationen zu Geltende IAM-Richtlinien aufrufen.

Wenn Sie eine bestimmte Rollenbindung in einer „allow”-Richtlinie suchen müssen, können Sie in der „allow”-Richtlinie suchen.

Mit Cloud Asset Inventory können Sie in Zulassungsrichtlinien nach Rollenbindungen suchen, die mit den angegebenen Parametern übereinstimmen. Sie können eine Vielzahl von Suchparametern verwenden, darunter:

  • Ressourcentyp
  • Hauptkonto-Typ
  • Rolle
  • Projekt
  • Ordner
  • Organisation

Weitere Informationen finden Sie unter IAM-Zulassungsrichtlinien suchen.