Richtlinienanalyse in Cloud Storage schreiben

Auf dieser Seite wird erläutert, wie Sie Richtlinien für die Identitäts- und Zugriffsverwaltung asynchron analysieren und die Ergebnisse in Cloud Storage schreiben. Die Funktion entspricht weitgehend der Analyse von IAM-Richtlinien, mit dem Unterschied, dass das Analyseergebnis in einen Cloud Storage-Bucket geschrieben wird.

Hinweis

Cloud Asset API aktivieren.

Aktivieren Sie die API

Sie müssen die API in dem Projekt oder der Organisation aktivieren, die Sie zum Senden der Abfrage verwenden möchten. Dies muss nicht die gleiche Ressource sein, auf die Sie Ihre Abfrage beschränken.

Erforderliche Rollen und Berechtigungen

Die folgenden Rollen und Berechtigungen sind erforderlich, um eine Richtlinienanalyse auszuführen und die Ergebnisse in Cloud Storage zu exportieren.

Erforderliche IAM-Rollen

Wenn Sie die Berechtigungen erhalten möchten, die Sie zum Analysieren einer Richtlinie und zum Exportieren der Ergebnisse nach BigQuery benötigen, bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation zu gewähren, auf die sich Ihre Abfrage bezieht:

  • Cloud-Asset-Betrachter (roles/cloudasset.viewer)
  • Storage-Objekt-Ersteller (roles/storage.objectCreator)
  • So analysieren Sie Richtlinien mit benutzerdefinierten IAM-Rollen: Rollenbetrachter (roles/iam.roleViewer)
  • Zur Verwendung von Google Cloud CLI: Dienstnutzungsnutzer (roles/serviceusage.serviceUsageConsumer)

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Analysieren einer Richtlinie und zum Exportieren der Ergebnisse nach BigQuery erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • storage.objects.create
  • So analysieren Sie Richtlinien mit benutzerdefinierten IAM-Rollen: iam.roles.get
  • So verwenden Sie die Google Cloud-Befehlszeile für die Analyse 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 sehen möchten, ob ein Hauptkonto bestimmte Rollen oder Berechtigungen aufgrund seiner Mitgliedschaft in einer Google Workspace-Gruppe hat, benötigen Sie die Google Workspace-Berechtigung groups.read. Diese Berechtigung ist in der Rolle „Gruppenleser-Administrator“ und in leistungsstarken Rollen wie „Gruppenadministrator“ oder „Super Admin“ enthalten. Weitere Informationen finden Sie im Abschnitt Bestimmte Administratorrollen zuweisen.

AnalyzeIamPolicyLongrunning wird angerufen...

Mit der Methode AnalyzeIamPolicyLongrunning können Sie eine Analyseanfrage senden und Ergebnisse im angegebenen Cloud Storage-Bucket abrufen.

gcloud

Bevor Sie eine der folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:

  • RESOURCE_TYPE: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Nur IAM-Richtlinien, die an diese Ressource und ihre Nachfolger angehängt sind, werden analysiert. Verwende den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die/die Ihre Suche angewendet werden soll. Nur IAM-Richtlinien, die an diese Ressource und ihre Nachfolger angehängt sind, werden analysiert. 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 Hauptkennungen.
  • 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, wird im Policy Analyzer eine der aufgeführten Berechtigungen gesucht.
  • STORAGE_OBJECT_URI: Die eindeutige Ressourcenkennung des Cloud Storage-Objekts, in das Sie Analyseergebnisse exportieren möchten, z. B. im Format gs://BUCKET_NAME/OBJECT_NAME, z. B. gs://my-bucket/analysis.json.

Führen Sie den Befehl gcloud asset analytics-iam-policy-longRunning aus.

Linux, macOS oder Cloud Shell

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS' \
    --gcs-output-path=STORAGE_OBJECT_URI

Windows (PowerShell)

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS' `
    --gcs-output-path=STORAGE_OBJECT_URI

Windows (cmd.exe)

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS' ^
    --gcs-output-path=STORAGE_OBJECT_URI

Sie sollten eine Antwort ähnlich der folgenden erhalten:

Analyze IAM Policy in progress.
Use [gcloud asset operations describe projects/my-project/operations/AnalyzeIamPolicyLongrunning/1195028485971902504711950280359719028666] to check the status of the operation.

REST

Wenn Sie eine IAM-Zulassungsrichtlinie analysieren und die Ergebnisse in Cloud Storage exportieren möchten, verwenden Sie die Methode analyzeIamPolicyLongrunning der Cloud Asset Inventory API.

Bevor Sie eine der Anfragedaten verwenden, nehmen Sie folgende Ersetzungen vor:

  • RESOURCE_TYPE: Der Ressourcentyp, auf den Sie die Suche beschränken möchten. Nur IAM-Richtlinien, die an diese Ressource und ihre Nachfolger angehängt sind, werden analysiert. Verwende den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud-Projekts, des Ordners oder der Organisation, auf die/die Ihre Suche angewendet werden soll. Nur IAM-Richtlinien, die an diese Ressource und ihre Nachfolger angehängt sind, werden analysiert. Projekt-IDs sind alphanumerische Strings, wie my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • FULL_RESOURCE_NAME: optional. Der vollständige Ressourcenname der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der vollständigen Ressourcennamenformate finden Sie unter Ressourcennamen.
  • PRINCIPAL: optional. 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 Hauptkennungen.
  • 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, ermittelt das Policy Analyzer eine der aufgeführten Berechtigungen.
  • STORAGE_OBJECT_URI: Die eindeutige Ressourcenkennung des Cloud Storage-Objekts, in das Sie Analyseergebnisse exportieren möchten, z. B. im Format gs://BUCKET_NAME/OBJECT_NAME, z. B. gs://my-bucket/analysis.json.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "outputConfig": {
      "gcsDestination": {
        "uri": "STORAGE_OBJECT_URI"
      }
    }
  }
}

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

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/my-project/operations/AnalyzeIamPolicyLongrunning/1206385342502762515812063858425027606003",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata",
    "createTime": "2022-04-12T21:31:10.753173929Z"
  }
}

IAM-Richtlinienanalyseergebnisse aufrufen

So rufen Sie die Analyse der IAM-Richtlinien auf:

  1. Rufen Sie in der Konsole die Seite Browser auf.

    Browser aufrufen

  2. Öffnen Sie die neue Datei, in die Sie die Analyse exportiert haben.

In den Ergebnissen werden Tupel von {identity, role(s)/permission(s), resource} zusammen mit IAM-Richtlinien aufgelistet, die diese Tupel generieren.