Richtlinienanalyse in Cloud Storage schreiben

Auf dieser Seite wird erläutert, wie Sie Richtlinien für Identity and Access Management 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

Aktivieren Sie die Cloud Asset API.

Rollen, die zum Aktivieren von APIs erforderlich sind

Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen.

API aktivieren

Sie müssen die API in dem Projekt aktivieren, mit dem Sie die Abfrage senden. Dies muss nicht dieselbe 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 nach Cloud Storage zu exportieren.

Erforderliche IAM-Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt, den Ordner oder die Organisation zuzuweisen, auf die Sie Ihre Abfrage beschränken, um die Berechtigungen zu erhalten, die Sie zum Analysieren einer Richtlinie und zum Exportieren der Ergebnisse nach BigQuery benötigen:

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

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

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um eine Richtlinie zu analysieren und die Ergebnisse nach BigQuery zu exportieren:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • storage.objects.create
  • Zum Analysieren von Richtlinien mit benutzerdefinierten IAM-Rollen: iam.roles.get
  • Zum Analysieren von 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 prüfen möchten, ob ein Hauptkonto aufgrund seiner Mitgliedschaft in einer Google Workspace-Gruppe bestimmte Rollen oder Berechtigungen hat, benötigen Sie die Google Workspace-Berechtigung groups.read. Diese Berechtigung ist in der Rolle „Gruppen-Leser-Administrator“ und in leistungsfähigeren Rollen wie „Gruppenadministrator“ oder „Super Admin“ enthalten. Weitere Informationen finden Sie unter Bestimmte Administratorrollen zuweisen für weitere Informationen.

Richtlinien analysieren und Ergebnisse exportieren

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

gcloud

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

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre Nachfolgerelemente angehängt sind. Verwenden Sie den Wert project, folder oder organization.
  • RESOURCE_ID: Die ID des Google Cloud Projekts, des Ordners oder der Organisation, auf die Sie Ihre Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre Nachfolgerelemente angehängt sind. Projekt-IDs sind alphanumerische Strings, z. B. my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • PRINCIPAL: Das Hauptkonto, dessen Zugriff Sie analysieren möchten, im Format PRINCIPAL_TYPE:ID, z. B. user:my-user@example.com. Eine vollständige Liste der Hauptkontotypen finden Sie unter Hauptkonto-Kennungen.
  • PERMISSIONS: Eine durch Kommas getrennte Liste der Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get,compute.instances.start. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer alle aufgeführten Berechtigungen.
  • STORAGE_OBJECT_URI: Die eindeutige Ressourcen ID des Cloud Storage-Objekts, in das Sie die Analyseergebnisse exportieren möchten, im Format gs://BUCKET_NAME/OBJECT_NAME—z. B. gs://my-bucket/analysis.json.

Führen Sie den Befehl gcloud asset analyze-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

Verwenden Sie die Methode der Cloud Asset Inventory API, um eine IAM-Zulassungsrichtlinie zu analysieren und die Ergebnisse nach Cloud Storage zu exportieren. analyzeIamPolicyLongrunning

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • RESOURCE_TYPE: Der Typ der Ressource, auf die Sie Ihre Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre Nachfolgerelemente angehängt sind. Verwenden Sie den Wert projects, folders oder organizations.
  • RESOURCE_ID: Die ID des Google Cloud Projekts, des Ordners oder der Organisation, auf die Sie Ihre Suche beschränken möchten. Es werden nur IAM-Zulassungsrichtlinien analysiert, die an diese Ressource und ihre Nachfolgerelemente angehängt sind. Projekt-IDs sind alphanumerische Strings, z. B. my-project. Ordner- und Organisations-IDs sind numerisch, z. B. 123456789012.
  • FULL_RESOURCE_NAME: Optional. Der vollständige Ressourcennamen der Ressource, für die Sie den Zugriff analysieren möchten. Eine Liste der Formate für vollständige Ressourcennamen finden Sie unter Format der Ressourcennamen.
  • 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 Hauptkonto-Kennungen.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: Optional. Die Berechtigungen, die Sie prüfen möchten, z. B. compute.instances.get. Wenn Sie mehrere Berechtigungen auflisten, prüft Policy Analyzer alle aufgeführten Berechtigungen.
  • STORAGE_OBJECT_URI: Die eindeutige Ressourcen ID des Cloud Storage-Objekts, in das Sie die Analyseergebnisse exportieren möchten, 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 anfordern:

{
  "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 eine JSON-Antwort ähnlich wie diese 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"
  }
}

Ergebnisse der IAM-Richtlinienanalyse ansehen

So rufen Sie die Analyse der IAM-Richtlinien auf:

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

    Buckets 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.