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
Rufen Sie in der Google Cloud -Console die Seite IAM-Rollen auf.
Klicken Sie auf Rolle erstellen, um eine benutzerdefinierte Rolle mit den für die Integration erforderlichen Berechtigungen zu erstellen.
Geben Sie für eine neue benutzerdefinierte Rolle den Titel, die Beschreibung und eine eindeutige ID an.
Legen Sie die Rollenstartphase auf Allgemeine Verfügbarkeit fest.
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
Klicken Sie auf Erstellen.
Dienstkonto erstellen
Folgen Sie zum Erstellen eines Dienstkontos der Anleitung unter Dienstkonto erstellen.
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 |
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:
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 |
Recommendation State |
Optional
Gibt den zurückzugebenden Empfehlungsstatus an. Standardwert ist Folgende Werte sind möglich:
|
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 Folgende Werte sind möglich:
|
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 |
|
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:
|
Recommendation State |
Optional
Gibt den Status an, in den die Empfehlung geändert werden soll. Standardwert ist Folgende Werte sind möglich:
|
Recommendation Result |
Optional
Gibt das Ergebnis an, zu dem sich die Empfehlung ändern soll. Standardwert ist Folgende Werte sind möglich:
|
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