Google Cloud Motore per suggerimenti

Questo documento fornisce indicazioni per aiutarti a configurare e integrare Google Cloud Recommender con Google Security Operations.

Prerequisiti

Assicurati di completare tutti i passaggi preliminari prima di configurare l'integrazione.

Crea e configura il ruolo IAM

  1. Nella console Google Cloud , vai alla pagina Ruoli IAM.

    Vai a Ruoli IAM

  2. Fai clic su Crea ruolo per creare un ruolo personalizzato con le autorizzazioni richieste per l'integrazione.

  3. Per un nuovo ruolo personalizzato, fornisci Titolo, Descrizione e un ID univoco.

  4. Imposta Fase di lancio del ruolo su Disponibilità generale.

  5. Aggiungi le seguenti autorizzazioni al ruolo creato:

    • 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. Fai clic su Crea.

Crea un account di servizio

  1. Per creare un account di servizio, segui la procedura per creare un service account.

  2. Dopo aver creato un account di servizio, scaricalo come file JSON. Devi fornire i contenuti di un file JSON scaricato durante la configurazione dei parametri di integrazione.

Integra Google Cloud Recommender con Google SecOps

Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps SOAR, vedi Configurare le integrazioni.

Input di integrazione

Per configurare l'integrazione, utilizza i seguenti parametri:

Parametri
API Root Obbligatorio

La radice dell'API del servizio Google Cloud Recommender.

Il valore predefinito è https://recommender.googleapis.com/v1/

Organization ID Optional

L'ID organizzazione da utilizzare con l'integrazione di Google Cloud Recommender.

User's Service Account Obbligatorio

Il contenuto dell'account di servizio Google Cloud Recommender.

Assicurati di fornire l'intero contenuto del file JSON dell'account di servizio che hai scaricato durante la creazione di un account di servizio.

Verify SSL Optional

Se selezionato, il parametro verifica se il certificato SSL per la connessione al server Google Cloud Recommender è valido.

Questa casella è selezionata per impostazione predefinita.

Azioni

Applica i suggerimenti IAM

Applica i suggerimenti IAM in base all'input fornito.

Questa azione funziona solo con i google.iam.policy.Recommender consigli.

Entità

L'azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
IAM Recommendations JSON Obbligatorio

Il risultato JSON del suggerimento.

Il risultato JSON può essere fornito come segnaposto dalle azioni Elenca consigli o Ottieni consiglio.

Output dell'azione

Tipo di output dell'azione
Allegato della bacheca casi N/D
Link alla bacheca richieste N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Approfondimento sull'entità N/D
Insight N/D
Risultato JSON Disponibile
Widget predefinito N/D
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero/Falso
Risultato JSON
{
  "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": []
}
Bacheca casi

L'azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully applied provided IAM recommendations. L'azione è andata a buon fine.
Successfully applied provided IAM recommendation, but some of the recommendations were not applied. L'azione è andata a buon fine.
No provided IAM recommendations were applied. Suggerimento non riuscito.
Error executing action ACTION_NAME. L'azione ha restituito un errore.

Ricevere un consiglio

Ricevi un suggerimento specifico dal servizio motore per suggerimenti Google Cloud .

Entità

L'azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
Recommendation name Obbligatorio

Specifica il nome del suggerimento da restituire.

L'azione accetta più valori come stringa separata da virgole.

Esempio di input previsto:

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

Output dell'azione

Tipo di output dell'azione
Allegato della bacheca casi N/D
Link alla bacheca richieste N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Approfondimento sull'entità N/D
Insight N/D
Risultato JSON Disponibile
Widget predefinito N/D
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero/Falso
Risultato JSON
[
  {
    "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"
  }
]
Bacheca casi

L'azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully found recommendation in the Google Cloud Recommender service. L'azione è andata a buon fine.
No recommendations were found in the Google Cloud Recommender service. I dati non sono disponibili.
Error executing action ACTION_NAME. L'azione ha restituito un errore.

Elenco di consigli

Elenca i suggerimenti disponibili nel servizio Google Cloud Recommender.

Entità

L'azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
Recommendation Filter Optional

Specifica il filtro per recuperare i suggerimenti.

Il parametro deve essere una stringa in uno dei seguenti formati:

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

Se non viene fornito alcun valore, l'azione recupera l'ID progetto dal account di servizio configurato.

Recommendation Location Obbligatorio

Specifica la posizione Google Cloud da cui recuperare i consigli.

Il valore predefinito è global.

Recommendation State Optional

Specifica lo stato del suggerimento da restituire.

Il valore predefinito è Not Specified.

I valori possibili sono:

  • Not Specified
  • Active
  • Dismissed
Recommendation Priority Optional

Specifica la priorità di un suggerimento da restituire. È possibile specificare più valori come stringa separata da virgole.

Recommender Subtype Optional

Specifica il sottotipo di sistema di raccomandazione restituito.

Il valore predefinito è Not Specified.

I valori possibili sono:

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

Specifica il numero di record da restituire. Se non viene fornito alcun valore, l'azione restituisce 50 record per impostazione predefinita.

Output dell'azione

Tipo di output dell'azione
Allegato della bacheca casi N/D
Link alla bacheca richieste N/D
Tabella della bacheca casi Disponibile
Tabella di arricchimento N/D
Approfondimento sull'entità N/D
Insight N/D
Risultato JSON Disponibile
Widget predefinito N/D
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero/Falso
Risultato JSON
[
  {
    "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"
  }
]
Bacheca casi

L'azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully found recommendations for the provided criteria in the Google Cloud Recommender service. L'azione è andata a buon fine.
No recommendations were found for the provided criteria in the Google Cloud Recommender service. Nessun dato disponibile.
Error executing action ACTION_NAME. L'azione ha restituito un errore.

L'azione fornisce la seguente tabella della bacheca richieste:

Consigli disponibili
Colonne
  • Nome
  • Descrizione
  • Categoria
  • Sottotipo di suggerimento
  • Priorità
  • Stato
  • Data/ora ultimo aggiornamento

Dindin

Testa la connettività al servizio Google Cloud Recommender con i parametri forniti nella pagina di configurazione dell'integrazione nella scheda Google SecOps Marketplace.

Entità

L'azione non viene eseguita sulle entità.

Input azione

N/D

Output dell'azione

Tipo di output dell'azione
Allegato della bacheca casi N/D
Link alla bacheca richieste N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Approfondimento sull'entità N/D
Insight N/D
Risultato JSON N/D
Widget predefinito N/D
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero/Falso
Bacheca casi

L'azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully connected to the Google Cloud Recommender service with the provided connection parameters! L'azione è andata a buon fine.
Failed to connect to the Google Cloud Recommender service! L'azione ha restituito un errore.

Suggerimento per l'aggiornamento

Aggiorna il suggerimento nel Google Cloud servizio Recommender.

Entità

L'azione non viene eseguita sulle entità.

Input azione

Utilizza i seguenti parametri per configurare l'azione:

Parametri
Recommendation name Obbligatorio

Specifica il nome del suggerimento da aggiornare.

L'azione accetta più valori come stringa separata da virgole.

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

Recommendation State Optional

Specifica lo stato in cui deve passare il suggerimento.

Il valore predefinito è Not Specified.

I valori possibili sono:

  • Not Specified
  • Claimed
  • Dismissed
Recommendation Result Optional

Specifica il risultato a cui deve passare il suggerimento.

Il valore predefinito è Not Specified.

I valori possibili sono:

  • Not Specified
  • Failed
  • Succeeded

Output dell'azione

Tipo di output dell'azione
Allegato della bacheca casi N/D
Link alla bacheca richieste N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Approfondimento sull'entità N/D
Insight N/D
Risultato JSON Disponibile
Widget predefinito N/D
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero/Falso
Risultato JSON
[
  {
    "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"
  }
]
Bacheca casi

L'azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully updated recommendation in the Google Cloud Recommender service. L'azione è andata a buon fine.
No recommendations were found in the Google Cloud Recommender service. I dati non sono disponibili.
Error executing action ACTION_NAME. L'azione ha restituito un errore.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.