IAM-Richtlinien analysieren

Auf dieser Seite wird gezeigt, wie Sie mit dem Richtlinienanalyse-Tool ermitteln können, welche Identitäten oder Principals (Nutzer, Dienstkonten, Gruppen und Domains) welchen Zugriff auf welche Google Cloud-Ressourcen haben.

Typische Fragen, die Ihnen das Policy Analyzer bei der Beantwortung der Frage helfen kann, sind "Wer kann auf dieses IAM-Dienstkonto zugreifen?", "Wer kann Daten in diesem BigQuery-Dataset lesen, die personenidentifizierbare Informationen enthalten?" oder "Wer kann am Datum/Uhrzeit X auf diesen Cloud Storage-Bucket zugreifen?"

Mit der Methode AnalyzeIamPolicy können Sie eine Analyseanfrage senden und dann Ergebnisse in der Antwort erhalten. Je nachdem, welche Datenmenge verarbeitet werden muss, sind die Analyseergebnisse möglicherweise nicht vollständig. Wenn Sie ein vollständiges Ergebnis erhalten, die Ergebnisse zur weiteren Analyse schreiben oder Ihre eigenen Daten speichern möchten, können Sie mit AnalyzeIamPolicyLongrunning in BigQuery oder Cloud Storage schreiben.

Übersicht

Mit dem Richtlinien-Analyzer können Sie eine Zugriffsverwaltung durchführen, den Zugriff sichtbar machen sowie Audit- und Compliance-Aufgaben ausführen.

Beispiele:

  • Das Policy Analyzer unterstützt die Ressourcen- und Richtlinienhierarchie sowie die Übernahme. Die übernommene Richtlinie und die Ressourcenhierarchie unterhalb des angegebenen Analysebereichs werden bei der Analyse effektiver Richtlinien berücksichtigt.
  • Policy Analyzer unterstützt die Erweiterung von Nutzergruppen. Somit kann der Zugriff eines Nutzers ermittelt werden, auch wenn er einer Gruppe angehört.
  • Policy Analyzer unterstützt die Rolle für die Erweiterung von Berechtigungen. Sie haben dadurch mehr Flexibilität bei Abfragen, denn Sie können nach Berechtigung und/oder Rollen abfragen.
  • Das Richtlinien-Analysetool unterstützt eine begrenzte Anzahl von Ressourcenerweiterungen in der Ressourcenhierarchie. In den Abfrageergebnissen können Sie beispielsweise alle VM-Instanzen innerhalb eines Projekts oder alle Projekte in einem Ordner einblenden.
  • Das Policy Analyzer unterstützt IAM-bedingte Rollenbindungen, benötigt jedoch möglicherweise zusätzlichen Kontext für die Anfrage. Zur Analyse von Bedingungen anhand von Datums-/Uhrzeitattributen erfordert das Policy Analyzer beispielsweise den Zeitpunkt in der Anfrage. Dieses Feature wird nur über die API und das gcloud-Tool unterstützt.
  • Bei der Analyse von IAM-Richtlinien unterstützt das Policy Analyzer die Analyse von Identitätswechsel für Dienstkonten, einschließlich des angeketteten Identitätswechsels auf vielen Ebenen. Mit dem Richtlinien-Analysetool können Sie indirekten Zugriff über Dienstkonten analysieren. Dieses Feature wird nur über die API und das gcloud-Tool unterstützt.

Die Analyse kann beispielsweise folgendermaßen eingesetzt werden:

  • Festlegen, welche Hauptkonten auf eine Ressource zugreifen können: Ermitteln Sie Hauptkonten, denen Zugriff auf eine bestimmte Ressource gewährt wurde. Diese Art der Analyse kann verwendet werden, um Fragen wie die folgenden zu beantworten:

    • „Wer hat Zugriff auf dieses IAM-Dienstkonto?“
    • „Wer hat die Berechtigung für dieses IAM-Dienstkonto?“
    • „Wer sind die Abrechnungsadministratoren für Projekt A?“
    • (Nur API- und gcloud-Tool): "Wer kann Projekt A aktualisieren, indem eine Identitätsübernahme des Dienstkontos durchgeführt wird?"
  • Festlegen, welche Hauptkonten bestimmte Rollen oder Berechtigungen haben: Hauptkonten mit den angegebenen Rollen/Berechtigungen für alle anwendbaren Ressourcen finden. Diese Art der Analyse kann verwendet werden, um Fragen wie die folgenden zu beantworten:

    • „Wer ist berechtigt, die Identität der Dienstkonten in meiner Organisation zu übernehmen?“
    • „Wer sind die Abrechnungsadministratoren in meiner Organisation?“
    • (Nur API und gcloud-Tool): "Wer in meiner Organisation kann ein BigQuery-Dataset durch Identitätsübernahme eines Dienstkontos lesen?"
  • Zugriff auf ein Hauptkonto ermitteln: Ermitteln Sie, welcher Zugriff auf eine bestimmte Ressource auf einen bestimmten Principal gewährt wird. Diese Art der Analyse kann verwendet werden, um Fragen wie die folgenden zu beantworten:

    • „Welche Rollen und Berechtigungen hat der Nutzer Ivy für dieses BigQuery-Dataset?“
    • „Welche Rollen und Berechtigungen hat die Gruppe dev-testers auf einer Ressource in diesem Projekt?“
    • (Nur API und gcloud-Tool): "Welche Rollen und Berechtigungen hat der Nutzer Ivy für dieses BigQuery-Dataset, wenn Ivy die Identität eines Dienstkontos übernimmt?"
  • Ressourcen festlegen, auf die ein Hauptkonto zugreifen kann: Hier finden Sie Ressourcen, auf die ein Hauptkonto Zugriff hat. Hiermit können folgende Fragen beantwortet werden:

    • „Welche BigQuery-Datasets hat der Nutzer Ive zum Lesen?“
    • „Welche BigQuery-Datasets ist die dev-testers-Gruppe, deren Inhaber der Dateninhaber ist?“
    • „Welche VMs kann John in Projekt A löschen?“
    • (Nur API und gcloud-Tool): "Welche VMs kann der Nutzer John löschen, indem er die Identität eines Dienstkontos stiehlt?"
  • Bedingten Zugriff bestimmen: Ressourcen ermitteln, auf die ein Hauptkonto für ein bestimmtes Bedingungsattribut zugreifen kann. Hiermit können folgende Fragen beantwortet werden:

    • (Nur API- und gcloud-Tool): "Welche Principals haben compute.instances.get- oder compute.instances.start-Berechtigungen für eine bestimmte Instanz zu einem bestimmten Zeitpunkt?"

Hinweis

  • Sie müssen die Cloud Translation API für Ihr Projekt aktivieren.

  • Wenn Sie die API zum Ausführen dieser Abfragen verwenden, müssen Sie Ihre Umgebung und gcurl einrichten.

    1. Richten Sie die Umgebung ein.

    2. Führen Sie die folgenden Schritte aus, um einen gcurl-Alias einzurichten.

      Führen Sie in einer Compute Engine-Instanz den folgenden Befehl aus.

      alias gcurl='curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json" -X POST -H "X-HTTP-Method-Override: GET"'
      

      Führen Sie den folgenden Befehl aus, wenn Sie sich nicht in einer Compute Engine-Instanz befinden.

      alias gcurl='curl -H "$(oauth2l header --json CREDENTIALS cloud-platform)" \
      -H "Content-Type: application/json" -X POST -H "X-HTTP-Method-Override: GET"'
      

      Dabei ist CREDENTIALS der Pfad Ihrer Anmeldedatendatei, z. B. ~/credentials.json.

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Ausführen einer Richtlinienanalyse erforderlich.

Berechtigungen für den Bereich

Zum Analysieren einer Richtlinie benötigen Sie die folgenden IAM-Berechtigungen für den Bereich, den Sie analysieren:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies

Diese Berechtigungen sind in den folgenden vordefinierten Rollen enthalten:

  • Cloud-Asset-Inhaber (roles/cloudasset.owner)
  • Cloud-Asset-Betrachter (roles/cloudasset.viewer)

Weitere Informationen zu Berechtigungen und Rollen für die Cloud Asset API finden Sie unter Zugriffssteuerung.

Berechtigungen für IAM-Rollen

Wenn Sie in Ihrer Anfrage einen Ordner oder ein Projekt angeben und bei der Analyse Hauptkonten mit einer auf der Organisationsebene definierten benutzerdefinierten IAM-Rolle erkannt werden, ist die Berechtigung iam.roles.get für diese Rolle erforderlich, damit die Analyse die Definition in Ihrem Namen verwenden kann.

Berechtigungen für Gruppenmitgliedschaften in Google Workspace

Wenn Sie prüfen, welche Hauptkonten auf eine Ressource zugreifen können, und Sie sich entscheiden, die Mitglieder einer Gruppe zu erweitern, werden wir versuchen, die Gruppen auf Mitglieder mit Ihrer Endbenutzer-Berechtigung zu erweitern. Sie sehen dann nur Mitglieder dieser Gruppen, für deren Mitgliedschaft Sie aufrufen dürfen.

Wenn Sie eine Abfrage erstellen, um zu bestimmen, welcher Zugriff auf ein Hauptkonto auf eine Ressource oder auf welche Ressourcen ein Hauptkonto Zugriff hat, geben Sie ein Hauptkonto an. Wir versuchen zu ermitteln, in welchen Gruppen das angegebene Hauptkonto direkt oder indirekt Mitglied ist. Ihre Anmeldedaten für Endnutzer werden ebenfalls verwendet. Es werden Ihnen nur die Gruppen angezeigt, für die Sie Einblick in die Mitgliedschaft nehmen können.

Damit die Mitgliedschaft angezeigt werden kann, muss dem Hauptkonto die Berechtigung groups.read gewährt werden. Zu den Rollen mit dieser Berechtigung gehören die Rolle GroupsGruppenleser-Administrator“ oder leistungsstärkere Rollen wie GroupsGruppenadministrator“ oder SuperSuper Admin“. Weitere Informationen finden Sie in diesem Thema.

Analyseabfrage

Eine Analyseabfrage besteht aus einem Bereich, einem oder mehreren Selektoren und anderen erweiterten Optionen.

Umfang

Für jede Analyseabfrage müssen Sie einen Bereich angeben: eine Organisation, einen Ordner oder ein Projekt. Alle in diesem Bereich definierten IAM-Richtlinien (entweder auf oder unter der festgelegten Ressourcenebene) werden in die Analyse einbezogen. Deshalb werden IAM-Richtlinien, die oberhalb der Bereichsressourcenebene definiert wurden, nicht in der Analyse berücksichtigt.

Ressourcenauswahl

Mit der Ressourcenauswahl können Sie eine Ressource angeben, die analysiert werden soll, wer im angegebenen Bereich darauf zugreifen darf.

Weitere Informationen finden Sie in der Referenz IamPolicyAnalysisQuery.

Identitätsauswahl

Mit der Identitätsauswahl können Sie eine Identität angeben, um zu analysieren, auf welche Ressourcen die angegebene Identität im angegebenen Bereich zugreifen kann.

Weitere Informationen finden Sie in der Referenz IamPolicyAnalysisQuery.

Zugriffsauswahl

Mit der Zugriffsauswahl können Sie mehrere Rollen oder Berechtigungen angeben, um herauszufinden, wer für welche Ressourcen im angegebenen Bereich gewährt wurde.

Weitere Informationen finden Sie in der Referenz IamPolicyAnalysisQuery.

Erweiterte Optionen

Neben Umfang und Selektoren können Sie in der Abfrage weitere erweiterte Optionen angeben, um mehr Ergebnisse zu erhalten.

Weitere Informationen finden Sie in der Referenz IamPolicyAnalysisQuery.

Bestimmen, welche Hauptkonten auf eine Ressource zugreifen können

Mit dem Policy Analyzer können Sie feststellen, welche Hauptkonten bestimmte Rollen oder Berechtigungen für eine bestimmte Ressource in Ihrem Projekt, Ordner oder Ihrer Organisation haben. Erstellen Sie zum Abrufen dieser Informationen eine Abfrage, die die Ressource enthält, für die Sie den Zugriff analysieren möchten, sowie eine oder mehrere Rollen oder Berechtigungen, auf die geprüft werden soll.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Klicken Sie im Abschnitt Abfrage aus Vorlage erstellen 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 anwenden möchten. Policy Analyzer analysiert den Zugriff für dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen innerhalb dieses Projekts, dieses Ordners oder dieser Organisation.

  4. Wählen Sie die zu prüfende Ressource und die Rolle oder Berechtigung aus, auf die geprüft werden soll:

    1. Wählen Sie im Feld Parameter 1 die Option Ressource aus dem Drop-down-Menü 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 dann die Ressource aus der Liste der bereitgestellten Ressourcen aus.
    3. Klicken Sie auf Selektor 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 weiteren Rollen und Berechtigungen zu suchen, fügen Sie weitere Rollen und Berechtigungen hinzu, bis alle Rollen und Berechtigungen aufgelistet sind, nach denen Sie suchen möchten. aus.
  5. Optional: Klicken Sie auf Weiter und wählen Sie dann erweiterte Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  6. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Abfrage ausführen. Die Berichtsseite zeigt die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für die angegebene Ressource.

gcloud

Mit dem gcloud-Befehl asset analyze-iam-policy können Sie AnalyzeIamPolicy für Ihr API-Projekt aufrufen. Sie benötigen die Cloud SDK-Version 314.0.0 oder höher. Sie können Ihre Version mit dem Befehl gcloud version prüfen.

So prüfen Sie, welche Hauptkonten die COMMA_SEPARATED_PERMISSIONS auf dem FULL_RESOURCE_NAME unter ORG_ID haben:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

So können Sie beispielsweise prüfen, welche Hauptkonten die Berechtigungen compute.instances.get oder compute.instances.start für die Compute Engine-Instanz ipa-gce-instance-2 unter der Organisation 1234567890 haben:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start"

REST

  1. IAM-Richtlinien analysieren und Ergebnisse mit dem Alias gcurl schreiben.

  2. Erstellen Sie eine request.json-Datei für den Anfragetext und legen Sie deren Inhalt auf die Analyseanforderung im JSON-Format fest.

    Der folgende Anfragetext prüft beispielsweise die Berechtigungen compute.instances.get oder compute.instances.start auf der Compute Engine-Instanz ipa-gce-instance-2:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analysieren Sie IAM-Richtlinien mit dem folgenden gcurl-Befehl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Dabei ist ORG_ID Ihre Organisations-ID, z. B. 1234567890.

Bestimmung von Hauptkonten mit bestimmten Rollen oder Berechtigungen

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 zum Abrufen dieser Informationen eine Abfrage, die eine oder mehrere Rollen oder Berechtigungen enthält, auf die geprüft werden soll, ohne eine Ressource anzugeben.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Klicken Sie im Abschnitt Abfrage aus Vorlage erstellen 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 anwenden möchten. Policy Analyzer analysiert den Zugriff für dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen innerhalb dieses Projekts, dieses Ordners 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 Selektor 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 Berechtigungen hinzu, bis alle Rollen und Berechtigungen aufgelistet sind, nach denen Sie suchen möchten.
  7. Optional: Klicken Sie auf Weiter und wählen Sie dann erweiterte Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  8. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Abfrage ausführen. Die Berichtsseite zeigt die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Hauptkonten mit den angegebenen Rollen oder Berechtigungen für eine der betroffenen Ressourcen.

gcloud

Mit dem gcloud-Befehl asset analyze-iam-policy können Sie AnalyzeIamPolicy für Ihr API-Projekt aufrufen. Sie benötigen die Cloud SDK-Version 314.0.0 oder höher. Sie können Ihre Version mit dem Befehl gcloud version prüfen.

So prüfen Sie, welche Hauptkonten die COMMA_SEPARATED_PERMISSIONS unter ORG_ID haben:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

So können Sie beispielsweise prüfen, welche Hauptkonten die Berechtigungen compute.instances.get oder compute.instances.start unter der Organisation 1234567890 haben:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --permissions="compute.instances.get,compute.instances.start"

REST

  1. IAM-Richtlinien analysieren und Ergebnisse mit dem Alias gcurl schreiben.

  2. Erstellen Sie eine request.json-Datei für den Anfragetext und legen Sie deren Inhalt auf die Analyseanforderung im JSON-Format fest.

    Mit dem folgenden Anfragetext wird beispielsweise geprüft, welche Hauptkonten die Berechtigungen compute.instances.get oder compute.instances.start für alle anwendbaren Ressourcen haben:

    {
      "analysisQuery": {
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analysieren Sie IAM-Richtlinien mit dem folgenden gcurl-Befehl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Dabei ist ORG_ID Ihre Organisations-ID, z. B. 1234567890.

Zugriff eines Prinzips 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 zum Abrufen dieser Informationen eine Abfrage, die das Hauptkonto enthält, dessen Zugriff Sie analysieren möchten, und die Ressource, für die Sie den Zugriff analysieren möchten.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Klicken Sie im Abschnitt Abfrage aus Vorlage erstellen 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 anwenden möchten. Policy Analyzer analysiert den Zugriff für dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen innerhalb dieses Projekts, dieses Ordners oder dieser Organisation.

  4. Wählen Sie die zu prüfende Ressource und das Hauptkonto aus:

    1. Wählen Sie im Feld Parameter 1 die Option Ressource aus dem Drop-down-Menü 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 dann die Ressource aus der Liste der bereitgestellten Ressourcen aus.
    3. Klicken Sie auf Selektor hinzufügen.
    4. Wählen Sie im Feld Parameter 2 die Option Principal aus dem Drop-down-Menü aus.
    5. Geben Sie im Feld Hauptkonto den Namen eines Nutzers, Dienstkontos oder einer Gruppe ein. Wählen Sie dann in der Liste der Hauptkonten den Nutzer, das Dienstkonto oder die Gruppe aus, dessen Zugriff Sie analysieren möchten.
  5. Optional: Klicken Sie auf Weiter und wählen Sie dann erweiterte Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  6. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Abfrage ausführen. Die Berichtsseite zeigt die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle aller Rollen, die das angegebene Hauptkonto für die angegebene Ressource hat.

gcloud

Mit dem gcloud-Befehl asset analyze-iam-policy können Sie AnalyzeIamPolicy für Ihr API-Projekt aufrufen. Sie benötigen Cloud SDK Version 314.0.0 oder höher. Sie können Ihre Version mit dem Befehl gcloud version prüfen.

So ermitteln Sie, welche Rollen oder Berechtigungen USER in FULL_RESOURCE_NAME für ORG_ID zugewiesen haben:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --identity="USER"

Welche Rollen oder Berechtigungen hat der Nutzer user1@example.com auf der Compute Engine-Instanz ipa-gce-instance-2 unter der Organisation 1234567890?

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --identity="user:user1@example.com"

REST

  1. IAM-Richtlinien analysieren und Ergebnisse mit dem Alias gcurl schreiben.

  2. Erstellen Sie eine request.json-Datei für den Anfragetext und legen Sie deren Inhalt auf die Analyseanforderung im JSON-Format fest.

    Mit dem folgenden Anfragetext wird beispielsweise geprüft, welche Rollen oder Berechtigungen der Nutzer user1@example.com in der Compute Engine-Instanz ipa-gce-instance-2 gewährt hat:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "identitySelector": {
          "identity": "user:user1@example.com"
        }
      }
    }
    
  3. Analysieren Sie IAM-Richtlinien mit dem folgenden gcurl-Befehl.

    gcurl -d @request.json \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Dabei ist ORG_ID Ihre Organisations-ID, z. B. 1234567890.

Bestimmung, 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 zum Abrufen dieser Informationen eine Abfrage, die das Hauptkonto enthält, dessen Zugriff Sie analysieren möchten, und eine oder mehrere Berechtigungen oder Rollen, die Sie prüfen möchten.

Console

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

    Zur Seite „Richtlinienanalyse“

  2. Klicken Sie im Abschnitt Abfrage aus Vorlage erstellen 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 anwenden möchten. Policy Analyzer analysiert den Zugriff für dieses Projekt, diesen Ordner oder diese Organisation sowie alle Ressourcen innerhalb dieses Projekts, dieses Ordners oder dieser Organisation.

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

    1. Wählen Sie im Feld Parameter 1 die Option Principal aus dem Drop-down-Menü aus.
    2. Geben Sie im Feld Hauptkonto den Namen eines Nutzers, Dienstkontos oder einer Gruppe ein. Wählen Sie dann in der Liste der Hauptkonten den Nutzer, das Dienstkonto oder die Gruppe aus, dessen Zugriff Sie analysieren möchten.
    3. Klicken Sie auf Selektor 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: Fügen Sie weitere Rollen und Berechtigungen hinzu, Rolle undBerechtigung Selektoren, bis alle Rollen und Berechtigungen aufgeführt sind, die Sie prüfen möchten.
  5. Optional: Klicken Sie auf Weiter und wählen Sie dann erweiterte Optionen aus, die Sie für diese Abfrage aktivieren möchten.

  6. Klicken Sie im Bereich Benutzerdefinierte Abfrage auf Abfrage ausführen. Die Berichtsseite zeigt die von Ihnen eingegebenen Abfrageparameter und eine Ergebnistabelle mit allen Ressourcen, für die das angegebene Hauptkonto die angegebenen Rollen oder Berechtigungen hat.

gcloud

Mit dem gcloud-Befehl asset analyze-iam-policy können Sie AnalyzeIamPolicy für Ihr API-Projekt aufrufen. Sie benötigen Cloud SDK Version 314.0.0 oder höher. Sie können Ihre Version mit dem Befehl gcloud version prüfen.

Festzulegen, für welche Ressource ein USER den Wert COMMA_SEPARATED_PERMISSIONS unter ORG_ID hat.

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --identity="USER" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Für welche Ressourcen hat user1@example.comdie Berechtigung compute.instances.get oder compute.instances.start unter der Organisation 1234567890?

gcloud asset analyze-iam-policy --organization="1234567890" \
    --identity="user:user1@example.com" \
    --permissions="compute.instances.get,compute.instances.start"

REST

  1. IAM-Richtlinien analysieren und Ergebnisse mit dem Alias gcurl schreiben.

  2. Erstellen Sie eine request.json-Datei für den Anfragetext und legen Sie deren Inhalt auf die Analyseanforderung im JSON-Format fest.

    Der folgende Anfragetext prüft beispielsweise, welche Ressourcen user1@example.com die Berechtigungen compute.instances.get oder compute.instances.start haben:

    {
      "analysisQuery": {
        "identitySelector": {
          "identity": "user:user1@example.com"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analysieren Sie IAM-Richtlinien mit dem folgenden gcurl-Befehl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Dabei ist ORG_ID Ihre Organisations-ID, z. B. 1234567890.

Bedingten Zugriff ermitteln

Das Policy Analyzer kann bedingte IAM-Rollenbindungen analysieren, um zu ermitteln, welche Hauptkonten ein gewünschtes Bedingungsattribut haben, das den Zugriff auf Ressourcen einschränkt. Einem Dienstkonto können beispielsweise eine oder mehrere Rollen für eine Ressource zugewiesen werden, die nur Zugriff auf ein bestimmtes Datum oder eine bestimmte Uhrzeit zulassen.

Sie können accessTime im Feld ConditionContext festlegen, um die bedingte Analyse der bedingten Datums-/Uhrzeitattribute zu aktivieren.

gcloud

Mit dem gcloud-Befehl asset analyze-iam-policy können Sie AnalyzeIamPolicy für Ihr API-Projekt aufrufen. Sie müssen Cloud SDK Version 335.0.0 oder höher ausführen. Sie können Ihre Version mit dem Befehl gcloud version prüfen.

So prüfen Sie, welche Hauptkonten COMMA_SEPARATED_PERMISSIONS für FULL_RESOURCE_NAME unter ORG_ID um DATE_TIME haben:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS" \
    --access-time="DATE_TIME"

So erfahren Sie beispielsweise, welche Hauptkonten die Berechtigungen compute.instances.get oder compute.instances.start für die Compute Engine-Instanz ipa-gce-instance-2 unter Organisation 1234567890 bei 2099-03-01T00:00:00Z haben. Weitere Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start" \
    --access-time="2099-03-01T00:00:00Z"

REST

  1. IAM-Richtlinien analysieren und Ergebnisse mit dem Alias gcurl schreiben.

  2. Erstellen Sie eine request.json-Datei für den Anfragetext und legen Sie deren Inhalt auf die Analyseanforderung im JSON-Format fest.

    Im folgenden Anfragetext wird beispielsweise geprüft, wer die Berechtigungen compute.instances.get oder compute.instances.start für die Compute Engine-Instanz ipa-gce-instance-2 bei 2099-03-01T00:00:00Z hat:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        },
        "conditionContext": {
          "accessTime": "2099-03-01T00:00:00Z"
        }
      }
    }
    
  3. Analysieren Sie IAM-Richtlinien mit dem folgenden gcurl-Befehl.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Dabei ist ORG_ID Ihre Organisations-ID, z. B. 1234567890.

Clientbibliothek und API-Referenz

Abfrage erstellen

Weitere Anwendungsfälle und Optionen für Abfragen finden Sie unter Abfrage von IAM-Richtlinien analysieren.