Google Cloud Recomendaciones
En este documento, se proporciona orientación para ayudarte a configurar e integrar Google CloudRecommender con Google Security Operations.
Requisitos previos
Asegúrate de completar todos los pasos de los requisitos previos antes de configurar la integración.
Crea y configura el rol de IAM
En la consola de Google Cloud , ve a la página Roles de IAM.
Haz clic en Crear rol para crear un rol personalizado con los permisos necesarios para la integración.
Para un nuevo rol personalizado, proporciona el Título, la Descripción y un ID único.
Establece la etapa de lanzamiento del rol en Disponibilidad general.
Agrega 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.
Crea una cuenta de servicio
Para crear una cuenta de servicio, sigue el procedimiento para crear una cuenta de servicio.
Después de crear una cuenta de servicio, descárgala como un archivo JSON. Debes proporcionar el contenido de un archivo JSON descargado cuando configures los parámetros de integración.
Integra Google Cloud Recommender con Google SecOps
Si quieres obtener instrucciones detalladas para configurar una integración en Google SecOps SOAR, consulta Configura integraciones.
Entradas de integración
Para configurar la integración, usa los siguientes parámetros:
Parámetros | |
---|---|
API Root |
Obligatorio
Es la raíz de la API del servicio del Recomendador Google Cloud . El valor predeterminado es |
Organization ID |
Optional
Es el ID de la organización que se debe usar con la integración del recomendador Google Cloud. |
User's Service Account |
Obligatorio
Es el contenido de la cuenta de servicio de Google Cloud Recommender. Asegúrate de proporcionar el contenido completo del archivo JSON de la cuenta de servicio que descargaste cuando creaste una cuenta de servicio. |
Verify SSL |
Optional
Cuando se marca, el parámetro verifica si el certificado SSL para conectarse al servidor de Google Cloud Recommender es válido. Está marcada de forma predeterminada. |
Acciones
Aplica recomendaciones de IAM
Aplica las recomendaciones de IAM según la entrada proporcionada.
Esta acción solo funciona con las recomendaciones de google.iam.policy.Recommender
.
Entidades
La acción no se ejecuta en entidades.
Entradas de acción
Para configurar la acción, usa los siguientes parámetros:
Parámetros | |
---|---|
IAM Recommendations JSON |
Obligatorio
Es el resultado en formato JSON de la recomendación. El resultado JSON se puede proporcionar como un 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 muro de casos | N/A |
Vínculo al muro de casos | N/A |
Tabla del muro de casos | N/A |
Tabla de enriquecimiento | N/A |
Estadísticas de la entidad | N/A |
Estadística | N/A |
Resultado de JSON | Disponible |
Widget OOTB | N/A |
Resultado de secuencia de comandos | Disponible |
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | 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": [] }
Muro de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje de salida | Descripción del mensaje |
---|---|
Successfully applied provided IAM recommendations. |
La acción se realizó correctamente. |
Successfully applied provided IAM recommendation, but some of the
recommendations were not applied. |
La acción se realizó correctamente. |
No provided IAM recommendations were applied. |
No se pudo aplicar la recomendación. |
Error executing action ACTION_NAME. |
La acción devolvió un error. |
Obtener recomendación
Obtiene una recomendación específica del servicio Google Cloud Recommender.
Entidades
La acción no se ejecuta en entidades.
Entradas de acción
Para configurar la acción, usa los siguientes parámetros:
Parámetros | |
---|---|
Recommendation name |
Obligatorio
Especifica el nombre de la recomendación que se 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 muro de casos | N/A |
Vínculo al muro de casos | N/A |
Tabla del muro de casos | N/A |
Tabla de enriquecimiento | N/A |
Estadísticas de la entidad | N/A |
Estadística | N/A |
Resultado de JSON | Disponible |
Widget OOTB | N/A |
Resultado de secuencia de comandos | Disponible |
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | 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" } ]
Muro de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje de salida | Descripción del mensaje |
---|---|
Successfully found recommendation in the Google Cloud Recommender
service. |
La acción se realizó 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 devolvió un error. |
Crea una lista de recomendaciones
Enumera las recomendaciones disponibles en el servicio de Google Cloud Recomendador.
Entidades
La acción no se ejecuta en entidades.
Entradas de acción
Para configurar la acción, usa los siguientes parámetros:
Parámetros | |
---|---|
Recommendation Filter |
Optional
Especifica el filtro para recuperar las recomendaciones. El parámetro debe ser una cadena en cualquiera de los siguientes formatos:
Si no se proporciona ningún valor, la acción recupera el ID del proyecto de la cuenta de servicio configurada. |
Recommendation Location |
Obligatorio
Especifica la Google Cloud ubicación para recuperar recomendaciones. El valor predeterminado es |
Recommendation State |
Optional
Especifica el estado de la recomendación que se devolverá. El valor predeterminado es Los valores posibles son:
|
Recommendation Priority |
Optional
Especifica la prioridad de una recomendación que se devolverá. Se pueden especificar varios valores como una cadena separada por comas. |
Recommender Subtype |
Optional
Especifica el subtipo del recomendador que se muestra. El valor predeterminado es Los valores posibles son:
|
Max Records To Return |
Optional
Especifica la cantidad de registros que se devolverán. 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 muro de casos | N/A |
Vínculo al muro de casos | N/A |
Tabla del muro de casos | Disponible |
Tabla de enriquecimiento | N/A |
Estadísticas de la entidad | N/A |
Estadística | N/A |
Resultado de JSON | Disponible |
Widget OOTB | N/A |
Resultado de secuencia de comandos | Disponible |
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | 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" } ]
Muro de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje de salida | Descripción del mensaje |
---|---|
Successfully found recommendations for the provided criteria in
the Google Cloud Recommender service. |
La acción se realizó 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 devolvió un error. |
La acción proporciona la siguiente tabla de casos:
Recomendaciones disponibles | |
---|---|
Columnas |
|
Ping
Prueba la conectividad con el servicio de Google Cloud Recommender con los parámetros proporcionados en la página de configuración de la integración en la pestaña Google SecOps Marketplace.
Entidades
La acción no se ejecuta en entidades.
Entradas de acción
N/A
Resultados de la acción
Tipo de salida de la acción | |
---|---|
Adjunto del muro de casos | N/A |
Vínculo al muro de casos | N/A |
Tabla del muro de casos | N/A |
Tabla de enriquecimiento | N/A |
Estadísticas de la entidad | N/A |
Estadística | N/A |
Resultado de JSON | N/A |
Widget OOTB | N/A |
Resultado de secuencia de comandos | Disponible |
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Valor |
---|---|
is_success | Verdadero/Falso |
Muro de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje de salida | Descripción del mensaje |
---|---|
Successfully connected to the Google Cloud Recommender service
with the provided connection parameters! |
La acción se realizó correctamente. |
Failed to connect to the Google Cloud Recommender service!
|
La acción devolvió un error. |
Actualizar recomendación
Actualiza la recomendación en el servicio del recomendador Google Cloud .
Entidades
La acción no se ejecuta en entidades.
Entradas de acción
Usa los siguientes parámetros para configurar la acción:
Parámetros | |
---|---|
Recommendation name |
Obligatorio
Especifica el nombre de la recomendación que se actualizará. La acción acepta varios valores como una cadena separada por comas. Ejemplo de la entrada esperada:
|
Recommendation State |
Optional
Especifica el estado al que 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 muro de casos | N/A |
Vínculo al muro de casos | N/A |
Tabla del muro de casos | N/A |
Tabla de enriquecimiento | N/A |
Estadísticas de la entidad | N/A |
Estadística | N/A |
Resultado de JSON | Disponible |
Widget OOTB | N/A |
Resultado de secuencia de comandos | Disponible |
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | 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" } ]
Muro de casos
La acción proporciona los siguientes mensajes de salida:
Mensaje de salida | Descripción del mensaje |
---|---|
Successfully updated recommendation in the Google Cloud
Recommender service. |
La acción se realizó 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 devolvió un error. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.