Zulassungsrichtlinien analysieren

Auf dieser Seite wird beschrieben, wie Sie mit dem Policy Analyzer für Zulassungsrichtlinien ermitteln können, welche Hauptkonten (Nutzer, Dienstkonten, Gruppen und Domains) welchen Zugriff auf welcheGoogle Cloud -Ressourcen haben.

Die Beispiele auf dieser Seite zeigen, wie Sie eine Policy Analysis-Abfrage ausführen und die Ergebnisse sofort ansehen können. Wenn Sie die Ergebnisse für die weitere Analyse exportieren möchten, können Sie mit AnalyzeIamPolicyLongrunning Abfrageergebnisse in BigQuery oder Cloud Storage schreiben.

Hinweise

Erforderliche Rollen und Berechtigungen

Die folgenden Rollen und Berechtigungen sind zum Analysieren von Zulassungsrichtlinien erforderlich.

Erforderliche IAM-Rollen

Um die Berechtigungen zu erhalten, die Sie zum Analysieren einer Zulassungsrichtlinie benötigen, bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation zuzuweisen, auf die Sie Ihre Abfrage eingrenzen möchten:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Analysieren einer Zulassungsrichtlinie erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Analysieren einer Zulassungsrichtlinie erforderlich:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • So analysieren Sie Richtlinien mit benutzerdefinierten IAM-Rollen: iam.roles.get
  • So verwenden Sie die Google Cloud CLI zum Analysieren von Richtlinien: serviceusage.services.use

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Erforderliche Google Workspace-Berechtigungen

Wenn Sie Gruppen in Suchergebnissen maximieren möchten, um zu sehen, ob ein Prinzipal aufgrund seiner Mitgliedschaft in einer Google Workspace-Gruppe bestimmte Rollen oder Berechtigungen hat, benötigen Sie die Google Workspace-Berechtigung groups.read. Diese Berechtigung ist in der Rolle „Gruppen-Leser-Administrator“ und in leistungsfähigeren Rollen wie „Gruppenadministrator“ oder „Super Admin“ enthalten. Informationen zum Zuweisen dieser Rollen finden Sie unter Bestimmte Administratorrollen zuweisen.

Ermitteln, welche Hauptkonten auf eine Ressource zugreifen können

Mit der Richtlinienanalyse können Sie prüfen, welche Hauptkonten bestimmte Rollen oder Berechtigungen für eine bestimmte Ressource in Ihrem Projekt, Ordner oder Ihrer Organisation haben. Erstellen Sie dazu eine Abfrage, die die Ressource enthält, für die Sie den Zugriff analysieren möchten, sowie eine oder mehrere Rollen oder Berechtigungen, die geprüft werden sollen.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Bereich Richtlinien analysieren nach dem Bereich Benutzerdefinierte Abfrage und klicken Sie darin auf Benutzerdefinierte Abfrage erstellen.

  3. Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.

  4. Wählen Sie die zu prüfende Ressource und die zu prüfende Rolle oder Berechtigung aus:

    1. Wählen Sie im Feld Parameter 1 aus dem Drop-down-Menü die Option Ressource aus.
    2. Geben Sie im Feld Ressource den vollständigen Ressourcennamen der Ressource ein, für die Sie den Zugriff analysieren möchten. Wenn Sie den vollständigen Ressourcennamen nicht kennen, beginnen Sie mit der Eingabe des Anzeigenamens der Ressource und wählen Sie die Ressource aus der Liste der bereitgestellten Ressourcen aus.
    3. Klicken Sie auf Auswahl hinzufügen.
    4. Wählen Sie im Feld Parameter 2 entweder Rolle oder Berechtigung aus.
    5. Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
    6. Optional: Um nach zusätzlichen Rollen und Berechtigungen zu suchen, fügen Sie weitere Rollen und Berechtigungen hinzu, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten. abgeschlossen.
  5. Optional: Klicken Sie auf Weiter und wählen Sie alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  6. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite „Berichte“ werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für die angegebene Ressource angezeigt.

    Richtlinienanalyseabfragen in der Google Cloud Konsole werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Konsole die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Konsole ein Banner angezeigt, das darauf hinweist, dass die Ergebnisse unvollständig sind. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, exportieren Sie die Ergebnisse nach BigQuery.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • FULL_RESOURCE_NAME: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • PERMISSIONS: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.

Führen Sie den Befehl gcloud asset analyze-iam-policy aus:

Linux, macOS oder Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS'

Sie erhalten eine YAML-Antwort mit Analyseergebnissen. Jedes Analyseergebnis enthält eine Reihe von Zugriffen, Identitäten und Ressourcen, die für Ihre Anfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, ist das Ergebnis CONDITIONAL.

Die Hauptkonten, die eine der angegebenen Berechtigungen für die angegebene Ressource haben, werden in den identities-Feldern in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld identities hervorgehoben ist.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyze-iam-policy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

REST

Mit der Methode analyzeIamPolicy der Cloud Asset Inventory API können Sie ermitteln, welche Hauptkonten bestimmte Berechtigungen für eine Ressource haben.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • FULL_RESOURCE_NAME: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Die Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.

HTTP-Methode und URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

JSON-Text anfordern:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL aufgeführt.

Die Hauptkonten, die eine der angegebenen Berechtigungen für die angegebene Ressource haben, werden in den identities-Feldern in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld identities hervorgehoben ist.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyzeIamPolicy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

Ermitteln, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben

Mit der Richtlinienanalyse können Sie prüfen, welche Hauptkonten bestimmte Rollen oder Berechtigungen für eine beliebige Google Cloud Ressource in Ihrer Organisation haben. Erstellen Sie dazu eine Abfrage, die eine oder mehrere Rollen oder Berechtigungen zur Prüfung enthält, aber keine Ressource angibt.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Bereich Richtlinien analysieren nach dem Bereich Benutzerdefinierte Abfrage und klicken Sie darin auf Benutzerdefinierte Abfrage erstellen.

  3. Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.

  4. Wählen Sie im Feld Parameter 1 entweder Rolle oder Berechtigung aus.

  5. Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.

  6. Optional: So suchen Sie nach zusätzlichen Rollen und Berechtigungen:

    1. Klicken Sie auf Auswahl hinzufügen.
    2. Wählen Sie im Feld Parameter 2 entweder Rolle oder Berechtigung aus.
    3. Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
    4. Fügen Sie weitere Rollen- und Berechtigungsauswahl hinzu, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten.
  7. Optional: Klicken Sie auf Weiter und wählen Sie alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  8. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite „Berichte“ werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für alle angegebenen Ressourcen angezeigt.

    Richtlinienanalyseabfragen in der Google Cloud Konsole werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Konsole die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Konsole ein Banner angezeigt, das darauf hinweist, dass die Ergebnisse unvollständig sind. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, exportieren Sie die Ergebnisse nach BigQuery.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • ROLES: Eine durch Kommas getrennte Liste der Rollen, die Sie prüfen möchten, z. B. roles/compute.admin,roles/compute.imageUser. Wenn Sie mehrere Rollen angeben, prüft Policy Analyzer, ob eine der aufgeführten Rollen vorhanden ist.
  • PERMISSIONS: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.

Führen Sie den Befehl gcloud asset analyze-iam-policy aus:

Linux, macOS oder Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --roles='ROLES' \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --roles='ROLES' `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --roles='ROLES' ^
    --permissions='PERMISSIONS'

Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL aufgeführt.

Die Hauptkonten mit einer der angegebenen Rollen oder Berechtigungen werden in den Feldern identities in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld identities hervorgehoben ist.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  - role: roles/compute.admin
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyze-iam-policy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

REST

Mit der Methode analyzeIamPolicy der Cloud Asset Inventory API können Sie ermitteln, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • ROLE_1,ROLE_2ROLE_N: Die Rollen, die Sie prüfen möchten, z. B. roles/compute.admin. Wenn Sie mehrere Rollen angeben, wird im Policy Analyzer nach allen aufgeführten Rollen gesucht.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Die Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.

HTTP-Methode und URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

JSON-Text anfordern:

{
  "analysisQuery": {
    "accessSelector": {
      "roles": [
        "ROLE_1",
        "ROLE_2",
        "ROLE_N"
      ],
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL aufgeführt.

Die Hauptkonten mit einer der angegebenen Rollen oder Berechtigungen werden in den Feldern identities in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld identities hervorgehoben ist.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "role": "roles/compute.admin"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyzeIamPolicy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

Zugriff eines Hauptkontos auf eine Ressource ermitteln

Mit der Richtlinienanalyse können Sie überprüfen, welche Rollen oder Berechtigungen ein Hauptkonto für eine Ressource in Ihrer Organisation hat. Erstellen Sie dazu eine Abfrage zum Zugriff mit dem Hauptkonto, dessen Zugriff Sie analysieren möchten, sowie der Ressource, für die Sie den Zugriff analysieren möchten.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Bereich Richtlinien analysieren nach dem Bereich Benutzerdefinierte Abfrage und klicken Sie darin auf Benutzerdefinierte Abfrage erstellen.

  3. Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.

  4. Wählen Sie die Ressource und das Hauptkonto aus, die überprüft werden sollen:

    1. Wählen Sie im Feld Parameter 1 aus dem Drop-down-Menü die Option Ressource aus.
    2. Geben Sie im Feld Ressource den vollständigen Ressourcennamen der Ressource ein, für die Sie den Zugriff analysieren möchten. Wenn Sie den vollständigen Ressourcennamen nicht kennen, beginnen Sie mit der Eingabe des Anzeigenamens der Ressource und wählen Sie die Ressource aus der Liste der bereitgestellten Ressourcen aus.
    3. Klicken Sie auf Auswahl hinzufügen.
    4. Wählen Sie im Feld Parameter 2 aus dem Drop-down-Menü die Option Hauptkonto aus.
    5. Geben Sie im Feld Hauptkonto den Namen eines Nutzers, eines Dienstkontos oder einer Gruppe ein. Wählen Sie dann den Nutzer, das Dienstkonto oder die Gruppe aus, deren Zugriff Sie in der Liste der bereitgestellten Hauptkonten analysieren möchten.
  5. Optional: Klicken Sie auf Weiter und wählen Sie alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  6. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Seite „Berichte“ werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle für alle Rollen angezeigt, die im angegebenen Hauptkonto für die angegebene Ressource aufgelistet sind.

    Richtlinienanalyseabfragen in der Google Cloud Konsole werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Konsole die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Konsole ein Banner angezeigt, das darauf hinweist, dass die Ergebnisse unvollständig sind. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, exportieren Sie die Ergebnisse nach BigQuery.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • FULL_RESOURCE_NAME: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • PRINCIPAL: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im Format PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkonto-Kennungen.

Führen Sie den Befehl gcloud asset analyze-iam-policy aus:

Linux, macOS oder Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL

Sie erhalten eine YAML-Antwort mit Analyseergebnissen. Jedes Analyseergebnis enthält eine Reihe von Zugriffen, Identitäten und Ressourcen, die für Ihre Anfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, ist das Ergebnis CONDITIONAL.

Die Rollen, die das Hauptkonto für die angegebene Ressource hat, werden in den Feldern accesses in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld accesses hervorgehoben ist.

...
---
ACLs:
- accesses:
  - roles/iam.serviceAccountUser
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/iam.serviceAccountUser
---
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyze-iam-policy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

REST

Wenn Sie ermitteln möchten, welchen Zugriff ein Prinzipal auf eine Ressource hat, verwenden Sie die Methode analyzeIamPolicy der Cloud Asset Inventory API.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • FULL_RESOURCE_NAME: Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • PRINCIPAL: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im Format PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkonto-Kennungen.

HTTP-Methode und URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

JSON-Text anfordern:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL aufgeführt.

Die Rollen, die das Hauptkonto für die angegebene Ressource hat, werden in den Feldern accesses in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld accesses hervorgehoben ist.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/iam.serviceAccountUser",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "roles": "iam.serviceAccountUser"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyzeIamPolicy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

Ermitteln, auf welche Ressourcen ein Hauptkonto zugreifen kann

Mit der Richtlinienanalyse können Sie prüfen, welche Ressourcen in Ihrer Organisation bestimmte Rollen oder Berechtigungen haben. Erstellen Sie dazu eine Abfrage zu einer Ressource, die das Hauptkonto enthält, dessen Zugriff Sie analysieren möchten, sowie eine oder mehrere Berechtigungen oder Rollen, die Sie überprüfen möchten.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Bereich Richtlinien analysieren nach dem Bereich Benutzerdefinierte Abfrage und klicken Sie darin auf Benutzerdefinierte Abfrage erstellen.

  3. Wählen Sie im Feld Abfragebereich auswählen das Projekt, den Ordner oder die Organisation aus, auf die Sie die Abfrage beschränken möchten. Policy Analyzer analysiert den Zugriff auf dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen in diesem Projekt, Ordner oder dieser Organisation.

  4. Wählen Sie das Hauptkonto aus, das überprüft werden soll, und wählen Sie die Rolle oder Berechtigung aus, die geprüft werden soll:

    1. Wählen Sie im Feld Parameter 1 aus dem Drop-down-Menü die Option Hauptkonto aus.
    2. Geben Sie im Feld Hauptkonto den Namen eines Nutzers, eines Dienstkontos oder einer Gruppe ein. Wählen Sie dann den Nutzer, das Dienstkonto oder die Gruppe aus, deren Zugriff Sie in der Liste der bereitgestellten Hauptkonten analysieren möchten.
    3. Klicken Sie auf Auswahl hinzufügen.
    4. Wählen Sie im Feld Parameter 2 entweder Rolle oder Berechtigung aus.
    5. Wählen Sie im Feld Rolle auswählen oder Berechtigung auswählen die Rolle oder Berechtigung aus, die Sie prüfen möchten.
    6. Optional: Um nach zusätzlichen Rollen und Berechtigungen zu suchen, fügen Sie weitere Rollen und Berechtigungen hinzu, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten. abgeschlossen.
  5. Optional: Klicken Sie auf Weiter und wählen Sie alle erweiterten Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  6. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Analysieren > Abfrage ausführen. Auf der Berichtsseite werden die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Ressourcen angezeigt, auf denen das angegebene Hauptkonto die angegebenen Rollen oder Berechtigungen hat.

    Richtlinienanalyseabfragen in der Google Cloud Konsole werden bis zu einer Minute lang ausgeführt. Nach einer Minute beendet die Google Cloud Konsole die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die Abfrage in diesem Zeitraum nicht abgeschlossen wurde, wird in der Google Cloud Konsole ein Banner angezeigt, das darauf hinweist, dass die Ergebnisse unvollständig sind. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, exportieren Sie die Ergebnisse nach BigQuery.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PRINCIPAL: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im Format PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkonto-Kennungen.
  • PERMISSIONS: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.

Führen Sie den Befehl gcloud asset analyze-iam-policy aus:

Linux, macOS oder Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS'

Sie erhalten eine YAML-Antwort mit Analyseergebnissen. Jedes Analyseergebnis enthält eine Reihe von Zugriffen, Identitäten und Ressourcen, die für Ihre Anfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, ist das Ergebnis CONDITIONAL.

Die Ressourcen, für die der angegebene Principal eine der angegebenen Berechtigungen hat, werden in den Feldern resources in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld resources hervorgehoben ist.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image
policy:
  attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyze-iam-policy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

REST

Mit der Methode analyzeIamPolicy der Cloud Asset Inventory API können Sie ermitteln, auf welche Ressourcen ein Hauptkonto zugreifen kann.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PRINCIPAL: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im Format PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkonto-Kennungen.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Die Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.

HTTP-Methode und URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

JSON-Text anfordern:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL aufgeführt.

Die Ressourcen, für die der angegebene Principal eine der angegebenen Berechtigungen hat, werden in den Feldern resources in der Antwort aufgeführt. Das folgende Beispiel zeigt ein einzelnes Analyseergebnis, in dem das Feld resources hervorgehoben ist.

...
{
  "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyzeIamPolicy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

Zugriff zu einem bestimmten Zeitpunkt bestimmen

Wenn genügend Kontext vorhanden ist, kann Policy Analyzer bedingte IAM-Rollenbindungen analysieren, die nur zu bestimmten Zeiten Zugriff gewähren. Diese Bedingungen werden als Datums-/Zeitbedingungen bezeichnet. Damit Policy Analyzer Rollenbindungen mit Datums-/Uhrzeitbedingungen genau analysieren kann, müssen Sie die Zugriffszeit in der Anfrage definieren.

Policy Analyzer kann auch Ressourcenbedingungen ohne zusätzliche Nutzereingabe analysieren. Weitere Informationen zur Funktionsweise von Policy Analyzer mit Bedingungen finden Sie unter Bedingter Zugriff.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PERMISSIONS: Optional. Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.
  • FULL_RESOURCE_NAME: Optional. Der vollständige Ressourcennamen der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • PERMISSIONS: Optional. Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.
  • ACCESS_TIME: Die Zeit, die Sie prüfen möchten. Diese Zeit muss in der Zukunft liegen. Verwenden Sie einen Zeitstempel im RFC 3339-Format, z. B. 2099-02-01T00:00:00Z.

Führen Sie den Befehl gcloud asset analyze-iam-policy aus:

Linux, macOS oder Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS' \
    --access-time=ACCESS_TIME

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS' `
    --access-time=ACCESS_TIME

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS' ^
    --access-time=ACCESS_TIME

Sie erhalten eine YAML-Antwort mit Analyseergebnissen. Jedes Analyseergebnis enthält eine Reihe von Zugriffen, Identitäten und Ressourcen, die für Ihre Anfrage relevant sind, gefolgt von der zugehörigen IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, ist das Ergebnis CONDITIONAL.

Wenn Sie die Zugriffszeit in die Anfrage einbeziehen, kann Policy Analyzer Datums-/Uhrzeitbedingungen auswerten. Wenn die Bedingung „false“ ergibt, wird diese Rolle nicht in die Antwort aufgenommen. Wenn die Bedingung als „wahr“ ausgewertet wird, wird das Ergebnis der Bedingungsauswertung als TRUE aufgeführt.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  conditionEvaluationValue: 'TRUE'
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    condition:
      expression: request.time.getHours("America/Los_Angeles") >= 5
      title: No access before 5am PST
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyze-iam-policy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

REST

Mit der Methode analyzeIamPolicy der Cloud Asset Inventory API können Sie ermitteln, welche Hauptkonten zu einem bestimmten Zeitpunkt bestimmte Berechtigungen für eine Ressource haben.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Verwenden Sie den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID desGoogle Cloud Projekts, Ordners oder der Organisation, auf die Sie Ihre Suche eingrenzen möchten. Es werden nur IAM-„allow“-Richtlinien analysiert, die an diese Ressource und ihre untergeordneten Elemente angehängt sind. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Optional. Die Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.
  • FULL_RESOURCE_NAME: Optional. Der vollständige Ressourcennamen der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Optional. Die Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer, ob eine der aufgeführten Berechtigungen vorhanden ist.
  • ACCESS_TIME: Die Zeit, die Sie prüfen möchten. Diese Zeit muss in der Zukunft liegen. Verwenden Sie einen Zeitstempel im RFC 3339-Format, z. B. 2099-02-01T00:00:00Z.

HTTP-Methode und URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

JSON-Text anfordern:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "conditionContext": {
      "accessTime": "ACCESS_TIME"
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie erhalten eine JSON-Antwort mit Analyseergebnissen. Jedes Analyseergebnis beschreibt eine relevante IAM-Rollenbindung und listet dann die Ressource, die Zugriffe und die Hauptkonten in dieser Bindung auf. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis als CONDITIONAL aufgeführt.

Wenn Sie die Zugriffszeit in die Anfrage einbeziehen, kann Policy Analyzer Datums-/Uhrzeitbedingungen auswerten. Wenn die Bedingung „false“ ergibt, wird diese Rolle nicht in die Antwort aufgenommen. Wenn die Bedingung als „wahr“ ausgewertet wird, ist der Wert der Bedingungsauswertung in der Analyseantwort TRUE.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ],
    "condition": {
      "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5",
      "title": "No access before 5am PST"
    }
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ],
      "conditionEvaluation": {
        "evaluationValue": "TRUE"
      }
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Wenn für die Anfrage ein Zeitlimit überschritten wird, bevor die Abfrage abgeschlossen ist, wird der Fehler DEADLINE_EXCEEDED zurückgegeben. Wenn Sie mehr Ergebnisse für diese Abfragen erhalten möchten, schreiben Sie die Ergebnisse mit der Langzeitversion von analyzeIamPolicy in BigQuery oder Cloud Storage. Eine Anleitung finden Sie unter Richtlinienanalyse in BigQuery schreiben oder Richtlinienanalyse in Cloud Storage schreiben.

Optionen aktivieren

Sie können die folgenden Optionen aktivieren, um detailliertere Abfrageergebnisse zu erhalten.

Console

Option Beschreibung
Ressourcen in Ressource(n) auflisten, die der Abfrage entsprechen Wenn Sie diese Option aktivieren, werden in den Suchergebnissen bis zu 1.000 relevante untergeordnete Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) aufgeführt.
Einzelne Nutzer in Gruppen auflisten

Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen auf einzelne Mitglieder erweitert. Wenn Sie entsprechende Gruppenberechtigungen haben, werden auch verschachtelte Gruppen maximiert. Die Erweiterung ist auf 1.000 Mitglieder pro Gruppe begrenzt.

Diese Option ist nur verfügbar, wenn Sie in Ihrer Anfrage keinen Prinzipal angeben.

Berechtigungen in Rollen auflisten

Wenn Sie diese Option aktivieren, werden in den Suchergebnissen neben der Rolle selbst auch alle Berechtigungen innerhalb der einzelnen Rollen aufgeführt.

Diese Option ist nur verfügbar, wenn Sie in Ihrer Abfrage keine Berechtigungen oder Rollen angeben.

gcloud

In diesem Abschnitt werden einige gängige Flags beschrieben, die Sie hinzufügen können, wenn Sie die gcloud CLI zum Analysieren von Zulassungsrichtlinien verwenden. Eine vollständige Liste der Optionen finden Sie unter Optionale Flags.

Flag Beschreibung
--analyze-service-account-impersonation

Wenn diese Option aktiviert ist, führt Policy Analyzer zusätzliche Analyseabfragen aus, um zu ermitteln, wer die Dienstkonten mit dem angegebenen Zugriff auf die angegebenen Ressourcen annehmen kann. Policy Analyzer führt für jedes Dienstkonto in den Abfrageergebnissen eine Abfrage aus. Mit diesen Abfragen wird analysiert, wer eine der folgenden Berechtigungen für das Dienstkonto hat:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Das ist ein sehr teurer Vorgang, da automatisch viele Anfragen ausgeführt werden. Wir empfehlen dringend, mit analyze-iam-policy-longrunning nach BigQuery zu exportieren oder mit analyze-iam-policy-longrunning nach Cloud Storage zu exportieren, anstatt analyze-iam-policy zu verwenden.

--expand-groups

Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen auf einzelne Mitglieder erweitert. Wenn Sie entsprechende Gruppenberechtigungen haben, werden auch verschachtelte Gruppen maximiert. Die Erweiterung ist auf 1.000 Mitglieder pro Gruppe begrenzt.

Diese Option ist nur wirksam, wenn Sie in Ihrer Anfrage keinen Principal angeben.

--expand-resources Wenn Sie diese Option aktivieren, werden in den Suchergebnissen bis zu 1.000 relevante untergeordnete Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) aufgeführt.
--expand-roles

Wenn Sie diese Option aktivieren, werden in den Suchergebnissen neben der Rolle selbst auch alle Berechtigungen innerhalb der einzelnen Rollen aufgeführt.

Diese Option ist nur verfügbar, wenn Sie in Ihrer Abfrage keine Berechtigungen oder Rollen angeben.

--output-group-edges Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen die relevanten Mitgliedschaftsbeziehungen zwischen Gruppen ausgegeben.
--output-resource-edges Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen die relevanten über- und untergeordneten Beziehungen zwischen Ressourcen ausgegeben.

REST

Wenn Sie Optionen aktivieren möchten, müssen Sie Ihrer Analyseabfrage zuerst ein options-Feld hinzufügen. Beispiel:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
    },
    "accessSelector": {
      "permissions": [
        "iam.roles.get",
        "iam.roles.list"
      ]
   },
   "options": {
     OPTIONS
   }
  }
}

Ersetzen Sie OPTIONS durch die Optionen, die Sie aktivieren möchten, im Format "OPTION": true. In der folgenden Tabelle werden die verfügbaren Optionen beschrieben:

Option Beschreibung
analyzeServiceAccountImpersonation

Wenn diese Option aktiviert ist, führt Policy Analyzer zusätzliche Analyseabfragen aus, um zu ermitteln, wer die Dienstkonten mit dem angegebenen Zugriff auf die angegebenen Ressourcen annehmen kann. Policy Analyzer führt für jedes Dienstkonto in den Abfrageergebnissen eine Abfrage aus. Mit diesen Abfragen wird analysiert, wer eine der folgenden Berechtigungen für das Dienstkonto hat:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Das ist ein sehr teurer Vorgang, da automatisch viele Anfragen ausgeführt werden. Wir empfehlen dringend, mit AnalyzeIamPolicyLongrunning nach BigQuery zu exportieren oder mit AnalyzeIamPolicyLongrunning nach Cloud Storage zu exportieren, anstatt AnalyzeIamPolicy zu verwenden.

expandGroups

Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen auf einzelne Mitglieder erweitert. Wenn Sie entsprechende Gruppenberechtigungen haben, werden auch verschachtelte Gruppen maximiert. Die Erweiterung ist auf 1.000 Mitglieder pro Gruppe begrenzt.

Diese Option ist nur wirksam, wenn Sie in Ihrer Anfrage keinen Principal angeben.

expandResources Wenn Sie diese Option aktivieren, werden in den Suchergebnissen bis zu 1.000 relevante untergeordnete Ressourcen für alle übergeordneten Ressourcen (Projekte, Ordner und Organisationen) aufgeführt.
expandRoles

Wenn Sie diese Option aktivieren, werden in den Suchergebnissen neben der Rolle selbst auch alle Berechtigungen innerhalb der einzelnen Rollen aufgeführt.

Diese Option ist nur verfügbar, wenn Sie in Ihrer Abfrage keine Berechtigungen oder Rollen angeben.

outputGroupEdges Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen die relevanten Mitgliedschaftsbeziehungen zwischen Gruppen ausgegeben.
outputResourceEdges Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen die relevanten über- und untergeordneten Beziehungen zwischen Ressourcen ausgegeben.

Nächste Schritte