Google Cloud Recommender

Dieses Dokument enthält eine Anleitung zur Konfiguration und Integration von Google CloudRecommender in Google Security Operations.

Vorbereitung

Führen Sie alle erforderlichen Schritte aus, bevor Sie die Integration konfigurieren.

IAM-Rolle erstellen und konfigurieren

  1. Rufen Sie in der Google Cloud -Console die Seite IAM-Rollen auf.

    IAM-Rollen aufrufen

  2. Klicken Sie auf Rolle erstellen, um eine benutzerdefinierte Rolle mit den für die Integration erforderlichen Berechtigungen zu erstellen.

  3. Geben Sie für eine neue benutzerdefinierte Rolle den Titel, die Beschreibung und eine eindeutige ID an.

  4. Legen Sie die Rollenstartphase auf Allgemeine Verfügbarkeit fest.

  5. Fügen Sie der erstellten Rolle die folgenden Berechtigungen hinzu:

    • iam.roles.create
    • iam.roles.delete
    • iam.roles.get
    • iam.roles.list
    • iam.roles.undelete
    • iam.roles.update
    • iam.serviceAccounts.create
    • iam.serviceAccounts.delete
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.list
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.undelete
    • iam.serviceAccounts.update
    • recommender.iamPolicyInsights.get
    • recommender.iamPolicyInsights.list
    • recommender.iamPolicyLateralMovementInsights.get
    • recommender.iamPolicyLateralMovementInsights.list
    • recommender.iamPolicyRecommendations.get
    • recommender.iamPolicyRecommendations.list
    • recommender.iamPolicyRecommendations.update
    • recommender.iamServiceAccountInsights.get
    • recommender.iamServiceAccountInsights.list
    • recommender.locations.get
    • recommender.locations.list
    • resourcemanager.folders.get
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
    • resourcemanager.organizations.get
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy
    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.list
    • resourcemanager.projects.setIamPolicy
    • securitycenter.assets.list
    • securitycenter.findings.group
    • securitycenter.findings.list
    • securitycenter.findings.listFindingPropertyNames
    • securitycenter.findings.setMute
    • securitycenter.findings.setState
    • securitycenter.sources.get
    • securitycenter.sources.list
    • securitycenter.userinterfacemetadata.get
  6. Klicken Sie auf Erstellen.

Dienstkonto erstellen

  1. Folgen Sie zum Erstellen eines Dienstkontos der Anleitung unter Dienstkonto erstellen.

  2. Nachdem Sie ein Dienstkonto erstellt haben, laden Sie es als JSON-Datei herunter. Sie müssen den Inhalt einer heruntergeladenen JSON-Datei angeben, wenn Sie die Integrationsparameter konfigurieren.

Google Cloud Recommender in Google SecOps einbinden

Eine detaillierte Anleitung zum Konfigurieren einer Integration in Google SecOps SOAR finden Sie unter Integrationen konfigurieren.

Integrationseingaben

Verwenden Sie die folgenden Parameter, um die Integration zu konfigurieren:

Parameter
API Root Erforderlich

Der API-Stamm des Google Cloud Recommender-Dienstes.

Der Standardwert ist https://recommender.googleapis.com/v1/.

Organization ID Optional

Die Organisations-ID, die für die Google Cloud-Recommender-Integration verwendet werden soll.

User's Service Account Erforderlich

Der Inhalt des Google Cloud -Dienstkontos für Empfehlungen.

Geben Sie den vollständigen Inhalt der JSON-Datei des Dienstkontos an, die Sie beim Erstellen eines Dienstkontos heruntergeladen haben.

Verify SSL Optional

Wenn diese Option aktiviert ist, wird geprüft, ob das SSL-Zertifikat für die Verbindung zum Google Cloud -Empfehlungsserver gültig ist.

Standardmäßig aktiviert.

Aktionen

IAM-Empfehlungen anwenden

IAM-Empfehlungen auf Grundlage der bereitgestellten Eingabe anwenden

Diese Aktion funktioniert nur mit den google.iam.policy.Recommender-Empfehlungen.

Entitäten

Die Aktion wird nicht für Entitäten ausgeführt.

Aktionseingaben

Verwenden Sie die folgenden Parameter, um die Aktion zu konfigurieren:

Parameter
IAM Recommendations JSON Erforderlich

Das JSON-Ergebnis der Empfehlung.

Das JSON-Ergebnis kann als Platzhalter aus den Aktionen List recommendations (Empfehlungen auflisten) oder Get recommendation (Empfehlung abrufen) bereitgestellt werden.

Aktionsausgaben

Ausgabetyp der Aktion
Anhang im Fall-Repository
Link zum Fall‑Repository
Tabelle „Fall-Repository“
Anreicherungstabelle
Entitätsstatistiken
Insight
JSON-Ergebnis Verfügbar
Vorkonfiguriertes Widget
Scriptergebnis Verfügbar
Scriptergebnis
Name des Scriptergebnisses Wert
is_success Wahr/falsch
JSON-Ergebnis
{
  "applied_recommendations": [
    {
      "name": "projects/PROJECT_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/217d3019-bae5-4a52-9968-787fdd546a53",
      "description": "Replace the current role with a smaller role to cover the permissions needed.",
      "lastRefreshTime": "2023-07-28T07:00:00Z",
      "primaryImpact": {
        "category": "SECURITY",
        "securityProjection": {
          "details": {
            "revokedIamPermissionsCount": 610
          }
        }
      },
      "content": {
        "operationGroups": [
          {
            "operations": [
              {
                "action": "add",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/-",
                "value": "USER_ID@example.com",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/role": "roles/compute.instanceAdmin"
                }
              },
              {
                "action": "remove",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/*",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/members/*": "USER_ID@example.com",
                  "/iamPolicy/bindings/*/role": "roles/compute.admin"
                }
              }
            ]
          }
        ],
        "overview": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
          "member": "user:USER_ID@example.com",
          "removedRole": "roles/compute.admin",
          "addedRoles": [
            "roles/compute.instanceAdmin"
          ],
          "minimumObservationPeriodInDays": "0"
        }
      },
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "applied_by": "bulk_apply_by_automated_script-2023-08-11"
        }
      },
      "etag": "\"892d57ee41baa03e\"",
      "recommenderSubtype": "REPLACE_ROLE",
      "associatedInsights": [
        {
          "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID"
        }
      ],
      "priority": "P4"
    },
    {
      "name": "projects/PROJECT_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID",
      "description": "Replace the current role with a smaller role to cover the permissions needed.",
      "lastRefreshTime": "2023-07-28T07:00:00Z",
      "primaryImpact": {
        "category": "SECURITY",
        "securityProjection": {
          "details": {
            "revokedIamPermissionsCount": 19
          }
        }
      },
      "content": {
        "operationGroups": [
          {
            "operations": [
              {
                "action": "add",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/-",
                "value": "user:USER_ID@example.com",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
                }
              },
              {
                "action": "remove",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/*",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/members/*": "user:USER_ID@example.com",
                  "/iamPolicy/bindings/*/role": "roles/storage.admin"
                }
              }
            ]
          }
        ],
        "overview": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
          "member": "user:USER_ID@example.com",
          "removedRole": "roles/storage.admin",
          "addedRoles": [
            "roles/storage.objectAdmin"
          ],
          "minimumObservationPeriodInDays": "0"
        }
      },
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "applied_by": "bulk_apply_by_automated_script-2023-08-11"
        }
      },
      "etag": "\"af7635ffeb512998\"",
      "recommenderSubtype": "REPLACE_ROLE",
      "associatedInsights": [
        {
          "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID"
        }
      ],
      "priority": "P4"
    }
  ],
  "failed_recommendations": []
}
Fall-Repository

Die Aktion gibt die folgenden Ausgabenachrichten aus:

Ausgabemeldung Nachrichtenbeschreibung
Successfully applied provided IAM recommendations. Die Aktion war erfolgreich.
Successfully applied provided IAM recommendation, but some of the recommendations were not applied. Die Aktion war erfolgreich.
No provided IAM recommendations were applied. Empfehlung fehlgeschlagen.
Error executing action ACTION_NAME. Die Aktion hat einen Fehler zurückgegeben.

Empfehlung erhalten

Eine bestimmte Empfehlung vom Google Cloud Recommender-Dienst abrufen.

Entitäten

Die Aktion wird nicht für Entitäten ausgeführt.

Aktionseingaben

Verwenden Sie die folgenden Parameter, um die Aktion zu konfigurieren:

Parameter
Recommendation name Erforderlich

Gibt den Namen der zurückzugebenden Empfehlung an.

Die Aktion akzeptiert mehrere Werte als durch Kommas getrennten String.

Beispiel für die erwartete Eingabe:

    projects/projectname/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0f262740-bf4a-4c3d-9573-0da3345cf3f7
    

Aktionsausgaben

Ausgabetyp der Aktion
Anhang im Fall-Repository
Link zum Fall‑Repository
Tabelle „Fall-Repository“
Anreicherungstabelle
Entitätsstatistiken
Insight
JSON-Ergebnis Verfügbar
Vorkonfiguriertes Widget
Scriptergebnis Verfügbar
Scriptergebnis
Name des Scriptergebnisses Wert
is_success Wahr/falsch
JSON-Ergebnis
[
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-28T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 68
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/monitoring.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "member": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
        "removedRole": "roles/monitoring.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/"
      }
    ],
    "priority": "P4"
  }
]
Fall-Repository

Die Aktion gibt die folgenden Ausgabenachrichten aus:

Ausgabemeldung Nachrichtenbeschreibung
Successfully found recommendation in the Google Cloud Recommender service. Die Aktion war erfolgreich.
No recommendations were found in the Google Cloud Recommender service. Daten sind nicht verfügbar.
Error executing action ACTION_NAME. Die Aktion hat einen Fehler zurückgegeben.

Empfehlungen auflisten

Listet die verfügbaren Empfehlungen im Google Cloud Recommender-Dienst auf.

Entitäten

Die Aktion wird nicht für Entitäten ausgeführt.

Aktionseingaben

Verwenden Sie die folgenden Parameter, um die Aktion zu konfigurieren:

Parameter
Recommendation Filter Optional

Gibt den Filter zum Abrufen der Empfehlungen an.

Der Parameter sollte ein String in einem der folgenden Formate sein:

  • PROJECTS_OR_ORGANIZATIONS/ PROJECT_OR_ORGANIZATION_NAME_OR_ID
  • //cloudresourcemanager.googleapis.com/ PROJECTS_OR_ORGANIZATIONS/ PROJECT_OR_ORGANIZATION_NAME_OR_ID

Wenn kein Wert angegeben ist, ruft die Aktion die Projekt-ID aus dem konfigurierten Dienstkonto ab.

Recommendation Location Erforderlich

Gibt den Google Cloud Speicherort an, an dem Empfehlungen abgerufen werden sollen.

Standardwert ist global.

Recommendation State Optional

Gibt den zurückzugebenden Empfehlungsstatus an.

Standardwert ist Not Specified.

Folgende Werte sind möglich:

  • Not Specified
  • Active
  • Dismissed
Recommendation Priority Optional

Gibt die Priorität einer zurückzugebenden Empfehlung an. Mehrere Werte können als durch Kommas getrennter String angegeben werden.

Recommender Subtype Optional

Gibt den zurückgegebenen Recommender-Untertyp an.

Standardwert ist Not Specified.

Folgende Werte sind möglich:

  • Not Specified
  • REMOVE_ROLE
  • REPLACE_ROLE
Max Records To Return Optional

Gibt an, wie viele Datensätze zurückgegeben werden sollen. Wenn kein Wert angegeben ist, werden standardmäßig 50 Datensätze zurückgegeben.

Aktionsausgaben

Ausgabetyp der Aktion
Anhang im Fall-Repository
Link zum Fall‑Repository
Tabelle „Fall-Repository“ Verfügbar
Anreicherungstabelle
Entitätsstatistiken
Insight
JSON-Ergebnis Verfügbar
Vorkonfiguriertes Widget
Scriptergebnis Verfügbar
Scriptergebnis
Name des Scriptergebnisses Wert
is_success Wahr/falsch
JSON-Ergebnis
[
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-27T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 68
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID",
                "/iamPolicy/bindings/*/role": "roles/monitoring.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/",
        "member": "serviceAccount:SERVICE_ACCOUNT_ID",
        "removedRole": "roles/monitoring.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/i/locations/global/insightTypes/"
      }
    ],
    "priority": "P4"
  },
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-27T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 5
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "user:USER_ID@example.com",
                "/iamPolicy/bindings/*/role": "roles/chroniclesm.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/projects",
        "member": "user:USER_ID@example.com",
        "removedRole": "roles/chroniclesm.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects"
      }
    ],
    "priority": "P4"
  }
]
Fall-Repository

Die Aktion gibt die folgenden Ausgabenachrichten aus:

Ausgabemeldung Nachrichtenbeschreibung
Successfully found recommendations for the provided criteria in the Google Cloud Recommender service. Die Aktion war erfolgreich.
No recommendations were found for the provided criteria in the Google Cloud Recommender service. Keine Daten verfügbar.
Error executing action ACTION_NAME. Die Aktion hat einen Fehler zurückgegeben.

Die Aktion enthält die folgende Tabelle für die Fallwand:

Verfügbare Empfehlungen
Spalten
  • Name
  • Beschreibung
  • Kategorie
  • Empfehlungsuntertyp
  • Priorität
  • Bundesland
  • Letzte Aktualisierung

Ping

Testen Sie die Verbindung zum Google Cloud Recommender-Dienst mit Parametern, die auf der Seite mit der Integrationskonfiguration auf dem Tab „Google SecOps Marketplace“ angegeben sind.

Entitäten

Die Aktion wird nicht für Entitäten ausgeführt.

Aktionseingaben

Aktionsausgaben

Ausgabetyp der Aktion
Anhang im Fall-Repository
Link zum Fall‑Repository
Tabelle „Fall-Repository“
Anreicherungstabelle
Entitätsstatistiken
Insight
JSON-Ergebnis
Vorkonfiguriertes Widget
Scriptergebnis Verfügbar
Scriptergebnis
Name des Scriptergebnisses Wert
is_success Wahr/falsch
Fall-Repository

Die Aktion gibt die folgenden Ausgabenachrichten aus:

Ausgabemeldung Nachrichtenbeschreibung
Successfully connected to the Google Cloud Recommender service with the provided connection parameters! Die Aktion war erfolgreich.
Failed to connect to the Google Cloud Recommender service! Die Aktion hat einen Fehler zurückgegeben.

Updateempfehlung

Aktualisieren Sie die Empfehlung im Google Cloud -Recommender-Dienst.

Entitäten

Die Aktion wird nicht für Entitäten ausgeführt.

Aktionseingaben

Verwenden Sie die folgenden Parameter, um die Aktion zu konfigurieren:

Parameter
Recommendation name Erforderlich

Gibt den Namen der zu aktualisierenden Empfehlung an.

Die Aktion akzeptiert mehrere Werte als durch Kommas getrennten String.

Beispiel für die erwartete Eingabe: projects/projectname/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0f262740-bf4a-4c3d-9573-0da3345cf3f7

Recommendation State Optional

Gibt den Status an, in den die Empfehlung geändert werden soll.

Standardwert ist Not Specified.

Folgende Werte sind möglich:

  • Not Specified
  • Claimed
  • Dismissed
Recommendation Result Optional

Gibt das Ergebnis an, zu dem sich die Empfehlung ändern soll.

Standardwert ist Not Specified.

Folgende Werte sind möglich:

  • Not Specified
  • Failed
  • Succeeded

Aktionsausgaben

Ausgabetyp der Aktion
Anhang im Fall-Repository
Link zum Fall‑Repository
Tabelle „Fall-Repository“
Anreicherungstabelle
Entitätsstatistiken
Insight
JSON-Ergebnis Verfügbar
Vorkonfiguriertes Widget
Scriptergebnis Verfügbar
Scriptergebnis
Name des Scriptergebnisses Wert
is_success Wahr/falsch
JSON-Ergebnis
[
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-28T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 68
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/monitoring.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "member": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
        "removedRole": "roles/monitoring.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/"
      }
    ],
    "priority": "P4"
  }
]
Fall-Repository

Die Aktion gibt die folgenden Ausgabenachrichten aus:

Ausgabemeldung Nachrichtenbeschreibung
Successfully updated recommendation in the Google Cloud Recommender service. Die Aktion war erfolgreich.
No recommendations were found in the Google Cloud Recommender service. Daten sind nicht verfügbar.
Error executing action ACTION_NAME. Die Aktion hat einen Fehler zurückgegeben.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten