Google Cloud Recomendador
En este documento se proporcionan directrices para ayudarle a configurar e integrar Google Cloud Recommender con Google Security Operations.
Requisitos previos
Asegúrate de completar todos los pasos necesarios antes de configurar la integración.
Crear y configurar el rol de gestión de identidades y accesos
En la Google Cloud consola, ve a la página Roles de gestión de identidades y accesos.
Haz clic en Crear rol para crear un rol personalizado con los permisos necesarios para la integración.
Para crear un rol personalizado, indica el título, la descripción y un ID único.
En Fase de lanzamiento del rol, selecciona Disponibilidad general.
Añade los siguientes permisos al rol creado:
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
Haz clic en Crear.
Crear una cuenta de servicio
Para crear una cuenta de servicio, sigue el procedimiento para crear una cuenta de servicio.
Una vez que hayas creado una cuenta de servicio, descárgala como archivo JSON. Debe proporcionar el contenido de un archivo JSON descargado al configurar los parámetros de integración.
Integrar Google Cloud Recommender con Google SecOps
Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps SOAR, consulta el artículo Configurar integraciones.
Entradas de integración
Para configurar la integración, usa los siguientes parámetros:
Parámetros | |
---|---|
API Root |
Obligatorio
La raíz de la API del servicio Google Cloud Recommender. El valor predeterminado es |
Organization ID |
Optional
El ID de la organización que se debe usar con la integración de Google Cloud Recommender. |
User's Service Account |
Obligatorio
El contenido de la cuenta de servicio de Google Cloud Recommender. Asegúrate de proporcionar todo el contenido del archivo JSON de la cuenta de servicio que has descargado al crearla. |
Verify SSL |
Optional
Si se marca, el parámetro verifica si el certificado SSL para conectarse al servidor de Google Cloud Recomendaciones es válido. Esta opción está marcada de forma predeterminada. |
Acciones
Aplicar recomendaciones de gestión de identidades y accesos
Aplica las recomendaciones de gestión de identidades y accesos en función de la entrada proporcionada.
Esta acción solo funciona con las google.iam.policy.Recommender
recomendaciones.
Entidades
La acción no se ejecuta en entidades.
Entradas de acciones
Para configurar la acción, usa los siguientes parámetros:
Parámetros | |
---|---|
IAM Recommendations JSON |
Obligatorio
El resultado en JSON de la recomendación. El resultado en JSON se puede proporcionar como marcador de posición desde las acciones List recommendations o Get recommendation. |
Resultados de la acción
Tipo de salida de la acción | |
---|---|
Adjunto del panel de casos | N/A |
Enlace del panel de casos | N/A |
Tabla del panel de casos | N/A |
Tabla de enriquecimiento | N/A |
Información valiosa sobre la entidad | N/A |
Insight | N/A |
Resultado de JSON | Disponible |
Widget predefinido | N/A |
Resultado de la secuencia de comandos | Disponible |
Resultado de la secuencia de comandos
Nombre del resultado del script | Valor |
---|---|
is_success | Verdadero/Falso |
Resultado de 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": [] }
Panel de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje resultante | Descripción del mensaje |
---|---|
Successfully applied provided IAM recommendations. |
La acción se ha realizado correctamente. |
Successfully applied provided IAM recommendation, but some of the
recommendations were not applied. |
La acción se ha realizado correctamente. |
No provided IAM recommendations were applied. |
No se ha podido aplicar la recomendación. |
Error executing action ACTION_NAME. |
La acción ha devuelto un error. |
Recibir recomendaciones
Obtiene una recomendación específica del servicio Google Cloud Recommender
Entidades
La acción no se ejecuta en entidades.
Entradas de acciones
Para configurar la acción, usa los siguientes parámetros:
Parámetros | |
---|---|
Recommendation name |
Obligatorio
Especifica el nombre de la recomendación que se va a devolver. La acción acepta varios valores como una cadena separada por comas. Ejemplo de la entrada esperada: projects/projectname/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0f262740-bf4a-4c3d-9573-0da3345cf3f7 |
Resultados de la acción
Tipo de salida de la acción | |
---|---|
Adjunto del panel de casos | N/A |
Enlace del panel de casos | N/A |
Tabla del panel de casos | N/A |
Tabla de enriquecimiento | N/A |
Información valiosa sobre la entidad | N/A |
Insight | N/A |
Resultado de JSON | Disponible |
Widget predefinido | N/A |
Resultado de la secuencia de comandos | Disponible |
Resultado de la secuencia de comandos
Nombre del resultado del script | Valor |
---|---|
is_success | Verdadero/Falso |
Resultado de 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" } ]
Panel de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje resultante | Descripción del mensaje |
---|---|
Successfully found recommendation in the Google Cloud Recommender
service. |
La acción se ha realizado correctamente. |
No recommendations were found in the Google Cloud Recommender
service.
|
Los datos no están disponibles. |
Error executing action ACTION_NAME . |
La acción ha devuelto un error. |
Mostrar recomendaciones
Lista de recomendaciones disponibles en el servicio Google Cloud Recomendador.
Entidades
La acción no se ejecuta en entidades.
Entradas de acciones
Para configurar la acción, usa los siguientes parámetros:
Parámetros | |
---|---|
Recommendation Filter |
Optional
Especifica el filtro para obtener las recomendaciones. El parámetro debe ser una cadena con uno de los siguientes formatos:
Si no se proporciona ningún valor, la acción obtiene el ID del proyecto de la cuenta de servicio configurada. |
Recommendation Location |
Obligatorio
Especifica la Google Cloud ubicación para obtener recomendaciones. El valor predeterminado es |
Recommendation State |
Optional
Especifica el estado de la recomendación que se va a devolver. El valor predeterminado es Los valores posibles son:
|
Recommendation Priority |
Optional
Especifica la prioridad de una recomendación que se va a devolver. Se pueden especificar varios valores como una cadena separada por comas. |
Recommender Subtype |
Optional
Especifica el subtipo de recomendador devuelto. El valor predeterminado es Los valores posibles son:
|
Max Records To Return |
Optional
Especifica cuántos registros se deben devolver. Si no se proporciona ningún valor, la acción devuelve 50 registros de forma predeterminada. |
Resultados de la acción
Tipo de salida de la acción | |
---|---|
Adjunto del panel de casos | N/A |
Enlace del panel de casos | N/A |
Tabla del panel de casos | Disponible |
Tabla de enriquecimiento | N/A |
Información valiosa sobre la entidad | N/A |
Insight | N/A |
Resultado de JSON | Disponible |
Widget predefinido | N/A |
Resultado de la secuencia de comandos | Disponible |
Resultado de la secuencia de comandos
Nombre del resultado del script | Valor |
---|---|
is_success | Verdadero/Falso |
Resultado de 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" } ]
Panel de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje resultante | Descripción del mensaje |
---|---|
Successfully found recommendations for the provided criteria in
the Google Cloud Recommender service. |
La acción se ha realizado correctamente. |
No recommendations were found for the provided criteria in the
Google Cloud Recommender service. |
No hay datos disponibles. |
Error executing action ACTION_NAME. |
La acción ha devuelto un error. |
La acción proporciona la siguiente tabla del panel de casos:
Recomendaciones disponibles | |
---|---|
Columnas |
|
Ping
Prueba la conectividad con el servicio Google Cloud Recommender con los parámetros proporcionados en la página de configuración de la integración de la pestaña Google SecOps Marketplace.
Entidades
La acción no se ejecuta en entidades.
Entradas de acciones
N/A
Resultados de la acción
Tipo de salida de la acción | |
---|---|
Adjunto del panel de casos | N/A |
Enlace del panel de casos | N/A |
Tabla del panel de casos | N/A |
Tabla de enriquecimiento | N/A |
Información valiosa sobre la entidad | N/A |
Insight | N/A |
Resultado de JSON | N/A |
Widget predefinido | N/A |
Resultado de la secuencia de comandos | Disponible |
Resultado de la secuencia de comandos
Nombre del resultado del script | Valor |
---|---|
is_success | Verdadero/Falso |
Panel de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje resultante | Descripción del mensaje |
---|---|
Successfully connected to the Google Cloud Recommender service
with the provided connection parameters! |
La acción se ha realizado correctamente. |
Failed to connect to the Google Cloud Recommender service!
|
La acción ha devuelto un error. |
Actualizar recomendación
Actualiza la recomendación en el Google Cloud servicio Recommender.
Entidades
La acción no se ejecuta en entidades.
Entradas de acciones
Usa los siguientes parámetros para configurar la acción:
Parámetros | |
---|---|
Recommendation name |
Obligatorio
Especifica el nombre de la recomendación que se va a actualizar. La acción acepta varios valores como una cadena separada por comas. Ejemplo de entrada esperada:
|
Recommendation State |
Optional
Especifica el estado al que debe cambiar la recomendación. El valor predeterminado es Los valores posibles son:
|
Recommendation Result |
Optional
Especifica el resultado al que debe cambiar la recomendación. El valor predeterminado es Los valores posibles son:
|
Resultados de la acción
Tipo de salida de la acción | |
---|---|
Adjunto del panel de casos | N/A |
Enlace del panel de casos | N/A |
Tabla del panel de casos | N/A |
Tabla de enriquecimiento | N/A |
Información valiosa sobre la entidad | N/A |
Insight | N/A |
Resultado de JSON | Disponible |
Widget predefinido | N/A |
Resultado de la secuencia de comandos | Disponible |
Resultado de la secuencia de comandos
Nombre del resultado del script | Valor |
---|---|
is_success | Verdadero/Falso |
Resultado de 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" } ]
Panel de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje resultante | Descripción del mensaje |
---|---|
Successfully updated recommendation in the Google Cloud
Recommender service. |
La acción se ha realizado correctamente. |
No recommendations were found in the Google Cloud Recommender
service.
|
Los datos no están disponibles. |
Error executing action ACTION_NAME . |
La acción ha devuelto un error. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.