IAM-Richtlinien analysieren

Auf dieser Seite wird gezeigt, wie Sie mit Policy Analyzer die Hauptkonten ermitteln können (Nutzer, Dienstkonten, Gruppen und Domains), welchen Zugriff Google Cloud-Ressourcen

Die Beispiele auf dieser Seite zeigen, wie Sie eine Abfrage zur Richtlinienanalyse ausführen und sofort die Ergebnisse sehen. Wenn Sie die Ergebnisse für weitere Zwecke können Sie AnalyzeIamPolicyLongrunning zum Schreiben Abfrageergebnisse in BigQuery übertragen oder Cloud Storage:

Hinweise

Erforderliche Rollen und Berechtigungen

Die folgenden Rollen und Berechtigungen sind erforderlich, um Zulassungsrichtlinien zu analysieren.

Erforderliche IAM-Rollen

Um die Berechtigungen zu erhalten, die Sie zum Analysieren einer Zulassungsrichtlinie benötigen, bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation, die Sie festlegen an:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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 analysieren Sie Richtlinien mit der Google Cloud CLI: 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 Abfrageergebnissen erweitern möchten, um zu sehen, ob ein Hauptkonto bestimmte Rollen oder Berechtigungen aufgrund ihrer Mitgliedschaft in einem Google Workspace-Gruppe, du benötigst die Google Workspace-Berechtigung groups.read. Diese Berechtigung ist in der Rolle „Gruppen-Leser-Administrator“ und in weiteren Rollen wie Gruppenadministrator oder Super Admin. Wenn Sie mehr darüber erfahren möchten, wie Sie Weitere Informationen zum Zuweisen bestimmter Administratorrollen

Festlegen, welche Hauptkonten auf eine Ressource zugreifen können

Mit der Richtlinienanalyse können Sie prüfen, welche Hauptrollen 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 Policy Analyzer auf.

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage. Klicken Sie in diesem Bereich 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 erweiterte 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 Suchparameter sowie eine Ergebnistabelle angezeigt. aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für das angegebene .

    Abfragen zur Richtlinienanalyse in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nachher eine Minute lang, stoppt die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, Ergebnisse sind unvollständig. Um mehr Ergebnisse für diese Suchanfragen zu erhalten, exportieren Sie die in BigQuery importieren.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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, deren Zugriff Sie analysieren möchten. Eine Liste aller Formate für Ressourcennamen, siehe Ressourcenname Format.
  • PERMISSIONS: A kommagetrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
<ph type="x-smartling-placeholder">

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

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 Zugriffsberechtigungen, Identitäten und Ressourcen, die für Ihre Abfrage relevant sind, zugehörige IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, wird das Analyseergebnis enthält auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, Ergebnis ist CONDITIONAL.

Die Hauptkonten, die eine der angegebenen Berechtigungen für die angegebene Ressource haben, sind in die identities-Felder in der Antwort Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld identities.

...
---
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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyze-iam-policy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

REST

Um zu ermitteln, welche Hauptkonten bestimmte Berechtigungen für ein Ressource, verwenden Sie die analyzeIamPolicy .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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, deren Zugriff Sie analysieren möchten. Eine Liste aller Formate für Ressourcennamen, siehe Ressourcenname Format.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Die Berechtigungen, die nach denen gesucht werden soll, z. B. compute.instances.get. Wenn Sie mehrere überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
<ph type="x-smartling-placeholder">

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 für diese Bindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis so angezeigt: CONDITIONAL

Die Hauptkonten, die eine der angegebenen Berechtigungen für die angegebene Ressource haben, sind in die identities-Felder in der Antwort Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld identities.

...
{
  "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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyzeIamPolicy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

Ermitteln, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben

Mit der Richtlinienanalyse können Sie prüfen, welche Hauptkonten bestimmte Rollen oder Berechtigungen für Google Cloud-Ressourcen 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 Policy Analyzer auf.

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage. Klicken Sie in diesem Bereich 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 erweiterte 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 Berichtsseite werden die von Ihnen eingegebenen Suchparameter sowie eine Ergebnistabelle angezeigt. aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für alle betroffenen Hauptkonten .

    Abfragen zur Richtlinienanalyse in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nachher eine Minute lang, stoppt die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, Ergebnisse sind unvollständig. Um mehr Ergebnisse für diese Suchanfragen zu erhalten, exportieren Sie die in BigQuery importieren.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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 auflisten, Das Tool sucht nach allen aufgeführten Rollen.
  • PERMISSIONS: A kommagetrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
<ph type="x-smartling-placeholder">

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

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 für diese Bindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis so angezeigt: CONDITIONAL

Die Hauptkonten mit einer der angegebenen Rollen oder Berechtigungen sind in der identities-Felder in der Antwort. Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld identities.

...
---
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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyze-iam-policy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

REST

Verwenden Sie die Funktionen der Cloud Asset Inventory API, um zu ermitteln, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben analyzeIamPolicy .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • ROLE_1, ROLE_2... ROLE_N: Die Rollen, die nach denen gesucht werden soll, z. B. roles/compute.admin. Wenn Sie mehrere sucht Policy Analyzer nach allen aufgeführten Rollen.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Die Berechtigungen, die nach denen gesucht werden soll, z. B. compute.instances.get. Wenn Sie mehrere überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
<ph type="x-smartling-placeholder">

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 für diese Bindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis so angezeigt: CONDITIONAL

Die Hauptkonten mit einer der angegebenen Rollen oder Berechtigungen sind in der identities-Felder in der Antwort. Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld identities.

...
{
  "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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyzeIamPolicy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

Bestimmen, welchen Zugriff ein Hauptkonto auf eine Ressource hat

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 Policy Analyzer auf.

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage. Klicken Sie in diesem Bereich 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 erweiterte 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 Suchparameter sowie eine Ergebnistabelle angezeigt. aller Rollen, die das angegebene Hauptkonto für die angegebene Ressource hat.

    Abfragen zur Richtlinienanalyse in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nachher eine Minute lang, stoppt die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, Ergebnisse sind unvollständig. Um mehr Ergebnisse für diese Suchanfragen zu erhalten, exportieren Sie die in BigQuery importieren.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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, deren Zugriff Sie analysieren möchten. Eine Liste aller Formate für Ressourcennamen, siehe Ressourcenname Format.
  • PRINCIPAL: das Hauptkonto, dessen die Sie analysieren möchten, in der Form PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com Eine vollständige Liste der Haupttypen finden Sie unter Haupt-IDs.
<ph type="x-smartling-placeholder">

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

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 Zugriffsberechtigungen, Identitäten und Ressourcen, die für Ihre Abfrage relevant sind, zugehörige IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, wird das Analyseergebnis enthält auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, Ergebnis ist CONDITIONAL.

Die Rollen, die das Hauptkonto für die angegebene Ressource hat, sind in der accesses aufgeführt in der Antwort. Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld accesses.

...
---
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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyze-iam-policy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

REST

Mit den Methoden der Cloud Asset Inventory API können Sie ermitteln, welchen Zugriff ein Hauptkonto auf eine Ressource hat. analyzeIamPolicy .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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, deren Zugriff Sie analysieren möchten. Eine Liste aller Formate für Ressourcennamen, siehe Ressourcenname Format.
  • PRINCIPAL: das Hauptkonto, dessen die Sie analysieren möchten, in der Form PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com Eine vollständige Liste der Haupttypen finden Sie unter Haupt-IDs.
<ph type="x-smartling-placeholder">

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 für diese Bindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis so angezeigt: CONDITIONAL

Die Rollen des Hauptkontos für die angegebene Ressource sind in der accesses aufgeführt in der Antwort. Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld accesses.

...
{
  "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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyzeIamPolicy. Anweisungen finden Sie unter Schreiben Sie eine Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

Festlegen, 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 Policy Analyzer auf.

    Zur Seite „Richtlinienanalyse“

  2. Suchen Sie im Abschnitt Richtlinien analysieren den Bereich Benutzerdefinierte Abfrage. Klicken Sie in diesem Bereich 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 erweiterte 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 Suchparameter sowie eine Ergebnistabelle angezeigt. aller Ressourcen, für die das angegebene Hauptkonto die angegebenen Rollen hat oder Berechtigungen.

    Abfragen zur Richtlinienanalyse in der Google Cloud Console werden bis zu einer Minute lang ausgeführt. Nachher eine Minute lang, stoppt die Google Cloud Console die Abfrage und zeigt alle verfügbaren Ergebnisse an. Wenn die nicht abgeschlossen wurde, wird in der Google Cloud Console ein Banner mit dem Hinweis angezeigt, Ergebnisse sind unvollständig. Um mehr Ergebnisse für diese Suchanfragen zu erhalten, exportieren Sie die in BigQuery importieren.

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PRINCIPAL: das Hauptkonto, dessen die Sie analysieren möchten, in der Form PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com Eine vollständige Liste der Haupttypen finden Sie unter Haupt-IDs.
  • PERMISSIONS: A kommagetrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
<ph type="x-smartling-placeholder">

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

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 Zugriffsberechtigungen, Identitäten und Ressourcen, die für Ihre Abfrage relevant sind, zugehörige IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, wird das Analyseergebnis enthält auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, Ergebnis ist CONDITIONAL.

Die Ressourcen, für die das angegebene Hauptkonto eine der angegebenen Berechtigungen hat, sind unter die resources-Felder in der Antwort Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld resources.

...
---
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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyze-iam-policy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

REST

Mit den Methoden der Cloud Asset Inventory API bestimmen, auf welche Ressourcen ein Hauptkonto zugreifen kann analyzeIamPolicy .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PRINCIPAL: das Hauptkonto, dessen die Sie analysieren möchten, in der Form PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com Eine vollständige Liste der Haupttypen finden Sie unter Haupt-IDs.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Die Berechtigungen, die nach denen gesucht werden soll, z. B. compute.instances.get. Wenn Sie mehrere überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
<ph type="x-smartling-placeholder">

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 für diese Bindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis so angezeigt: CONDITIONAL

Die Ressourcen, für die das angegebene Hauptkonto eine der angegebenen Berechtigungen hat, sind unter die resources-Felder in der Antwort Das folgende Beispiel zeigt eine einzelne Analyse Ergebnis mit hervorgehobenem Feld resources.

...
{
  "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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyzeIamPolicy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

Zugriff zu einer bestimmten Zeit bestimmen

Wenn genügend Kontext vorhanden ist, kann Policy Analyzer IAM analysieren. bedingte Rollenbindungen, die nur Zugriff Mal. Diese Bedingungen werden als Datum/Uhrzeit-Bedingungen bezeichnet. Damit Policy Analyzer Rollenbindungen mit Datum/Uhrzeit genau analysieren kann müssen Sie die Zugriffszeit in der Anfrage festlegen.

Policy Analyzer kann auch eine Ressource analysieren, Bedingungen ohne zusätzliche Nutzereingabe. Für Weitere Informationen dazu, wie Policy Analyzer mit Bedingungen funktioniert, 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 die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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 überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
  • FULL_RESOURCE_NAME: Optional. Der vollständige Ressourcenname der Ressource, die deren Zugriff Sie analysieren möchten. Eine Liste aller Formate für Ressourcennamen finden Sie unter Format des Ressourcennamens:
  • 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 überprüft Policy Analyzer nach allen aufgeführten Berechtigungen.
  • ACCESS_TIME: Die gewünschte Uhrzeit um dies zu überprüfen. Dieser Zeitpunkt muss in der Zukunft liegen. Verwenden Sie einen Zeitstempel in RFC 3339-Format – für Beispiel: 2099-02-01T00:00:00Z.
<ph type="x-smartling-placeholder">

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

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 Zugriffsberechtigungen, Identitäten und Ressourcen, die für Ihre Abfrage relevant sind, zugehörige IAM-Rollenbindung. Wenn die Rollenbindung bedingt ist, wird das Analyseergebnis enthält auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, Ergebnis ist CONDITIONAL.

Wenn Sie die Zugriffszeit in die Anfrage aufnehmen, kann Policy Analyzer Datum und Uhrzeit auswerten conditions. Wenn die Bedingung als „false“ ausgewertet wird, ist diese Rolle nicht in der Antwort enthalten. Wenn die Bedingung als wahr ausgewertet wird, wird das Ergebnis der Bedingungsbewertung als TRUE

...
---
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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyze-iam-policy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

REST

Bestimmen, welche Hauptkonten bestimmte Berechtigungen für eine Ressource haben zu einer bestimmten Zeit befinden, nutzen Sie die Methode analyzeIamPolicy .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie die Suche beschränken möchten. Nur IAM-Zulassungsrichtlinien die an diese Ressource und ihre Nachfolger angehängt sind, analysiert werden. Wert verwenden projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud-Projekt, -Ordner oder -Organisation, auf das bzw. die Sie die Suche beschränken möchten. Nur An diese Ressource und ihre Nachfolger gebundene IAM-Zulassungsrichtlinien werden analysiert. 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, sucht Policy Analyzer nach allen aufgeführten Berechtigungen.
  • FULL_RESOURCE_NAME: Optional. Der vollständige Ressourcenname der Ressource, die deren Zugriff Sie analysieren möchten. Eine Liste aller Formate für Ressourcennamen finden Sie unter Format des Ressourcennamens:
  • 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, sucht Policy Analyzer nach allen aufgeführten Berechtigungen.
  • ACCESS_TIME: Die gewünschte Uhrzeit zu überprüfen. Dieser Zeitpunkt muss in der Zukunft liegen. Verwenden Sie einen Zeitstempel in RFC 3339-Format – für Beispiel: 2099-02-01T00:00:00Z.
<ph type="x-smartling-placeholder">

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 für diese Bindung. Wenn die Rollenbindung bedingt ist, enthält das Analyseergebnis auch das Ergebnis der Bedingungsauswertung. Wenn die Bedingung nicht ausgewertet werden konnte, wird das Ergebnis so angezeigt: CONDITIONAL

Wenn Sie die Zugriffszeit in die Anfrage aufnehmen, kann Policy Analyzer Datum und Uhrzeit auswerten conditions. Wenn die Bedingung als „false“ ausgewertet wird, ist diese Rolle nicht in der Antwort enthalten. Wenn die Bedingung als wahr ausgewertet wird, ist der Wert der Bedingungsbewertung 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 bei der Anfrage eine Zeitüberschreitung auftritt, bevor die Abfrage abgeschlossen ist, erhalten Sie eine DEADLINE_EXCEEDED Fehler. Um mehr Ergebnisse für diese Abfragen zu erhalten, schreiben Sie die Ergebnisse mit der Version mit langer Ausführungszeit entweder in BigQuery oder Cloud Storage von analyzeIamPolicy. Anweisungen finden Sie unter Verfassen Sie die Richtlinienanalyse BigQuery oder Schreiben Sie eine Richtlinienanalyse Cloud Storage

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 die Abfrageergebnisse bis zu 1.000 relevante Nachfolger Ressourcen für übergeordnete Ressourcen (Projekte, Ordner und Ressourcen) Organisationen) in den Abfrageergebnissen.
Einzelne Nutzer in Gruppen auflisten

Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen in für einzelne Mitglieder. Wenn Sie ausreichende Gruppenberechtigungen haben, werden verschachtelte Gruppen werden ebenfalls erweitert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe.

Diese Option ist nur verfügbar, wenn Sie in Ihrem Abfrage.

Berechtigungen in Rollen auflisten

Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen alle Berechtigungen in den einzelnen zusätzlich zur Rolle selbst.

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

gcloud

In diesem Abschnitt werden mehrere gängige Flags beschrieben, die Sie hinzufügen können, wenn Sie die Methode gcloud CLI zum Analysieren von Zulassungsrichtlinien. 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 Analysen aus um zu ermitteln, wer die Identität der Dienstkonten übernehmen kann, die den angegebenen Zugriff auf die angegebenen Ressourcen haben. Policy Analyzer führt für jedes Dienstkonto in den Abfrageergebnissen eine Abfrage aus. Diese wird analysiert, wer eine der folgenden Berechtigungen für den Dienstkonto:

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

Dies ist ein sehr teurer Vorgang, da er automatisch viele Suchanfragen. Wir empfehlen Ihnen dringend, Exportieren zu BigQuery oder exportieren in Cloud Storage hochladen, analyze-iam-policy-longrunning statt zu verwenden analyze-iam-policy.

--expand-groups

Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen in für einzelne Mitglieder. Wenn Sie ausreichende Gruppenberechtigungen haben, werden verschachtelte Gruppen werden ebenfalls erweitert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe.

Diese Option ist nur wirksam, wenn Sie in Ihrem Abfrage.

--expand-resources Wenn Sie diese Option aktivieren, werden die Abfrageergebnisse bis zu 1.000 relevante Nachfolger Ressourcen für übergeordnete Ressourcen (Projekte, Ordner und Ressourcen) Organisationen) in den Abfrageergebnissen.
--expand-roles

Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen alle Berechtigungen in den einzelnen zusätzlich zur Rolle selbst.

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

--output-group-edges Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse die relevante Mitgliedschaft Beziehungen zwischen Gruppen.
--output-resource-edges Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse das entsprechende übergeordnete/untergeordnete Element aus. Beziehungen zwischen Ressourcen.

REST

Wenn Sie Optionen aktivieren möchten, fügen Sie Ihrer Analyse zuerst das Feld options hinzu Abfrage. 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 gewünschten Optionen. im Format "OPTION": true. In der folgenden Tabelle beschreibt die verfügbaren Optionen:

Option Beschreibung
analyzeServiceAccountImpersonation

Wenn diese Option aktiviert ist, führt Policy Analyzer zusätzliche Analysen aus um zu ermitteln, wer die Identität der Dienstkonten übernehmen kann, die den angegebenen Zugriff auf die angegebenen Ressourcen haben. Policy Analyzer führt für jedes Dienstkonto in den Abfrageergebnissen eine Abfrage aus. Diese wird analysiert, wer eine der folgenden Berechtigungen für den Dienstkonto:

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

Dies ist ein sehr teurer Vorgang, da er automatisch viele Suchanfragen. Wir empfehlen Ihnen dringend, Exportieren zu BigQuery oder exportieren in Cloud Storage hochladen, AnalyzeIamPolicyLongrunning statt zu verwenden AnalyzeIamPolicy.

expandGroups

Wenn Sie diese Option aktivieren, werden alle Gruppen in den Abfrageergebnissen in für einzelne Mitglieder. Wenn Sie ausreichende Gruppenberechtigungen haben, werden verschachtelte Gruppen werden ebenfalls erweitert. Diese Erweiterung ist auf 1.000 Mitglieder pro Gruppe.

Diese Option ist nur wirksam, wenn Sie in Ihrem Abfrage.

expandResources Wenn Sie diese Option aktivieren, werden die Abfrageergebnisse bis zu 1.000 relevante Nachfolger Ressourcen für übergeordnete Ressourcen (Projekte, Ordner und Ressourcen) Organisationen) in den Abfrageergebnissen.
expandRoles

Wenn Sie diese Option aktivieren, werden in den Abfrageergebnissen alle Berechtigungen in den einzelnen zusätzlich zur Rolle selbst.

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

outputGroupEdges Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse die relevante Mitgliedschaft Beziehungen zwischen Gruppen.
outputResourceEdges Wenn Sie diese Option aktivieren, geben die Abfrageergebnisse das entsprechende übergeordnete/untergeordnete Element aus. Beziehungen zwischen Ressourcen.

Nächste Schritte