En esta página se explica cómo gestionar las estadísticas de movimientos laterales, que identifican los roles que permiten que una cuenta de servicio de un proyecto suplante la identidad de una cuenta de servicio de otro proyecto. Para obtener más información sobre las estadísticas de movimientos laterales, consulta Cómo se generan las estadísticas de movimientos laterales.
En ocasiones, las estadísticas de movimientos laterales están vinculadas a recomendaciones de roles. Las recomendaciones de roles sugieren acciones que puedes llevar a cabo para solucionar los problemas identificados por las estadísticas de movimientos laterales.
Antes de empezar
-
Enable the Recommender API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Familiarízate con las recomendaciones de roles de gestión de identidades y accesos.
- Asegúrate de que tienes activado a nivel de organización o de proyecto el nivel Premium o Enterprise de Security Command Center. Para obtener más información, consulta las preguntas sobre la facturación.
- Opcional: Consulta información sobre las estadísticas de Recomendador.
Roles obligatorios
Para obtener los permisos que necesitas para gestionar las estadísticas de movimientos laterales, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto, la carpeta o la organización para los que quieras gestionar las estadísticas:
-
Para ver las estadísticas de movimientos laterales, haz lo siguiente:
Lector del recomendador de gestión de identidades y accesos (
roles/recommender.iamViewer
) -
Para modificar las estadísticas de movimientos laterales, sigue estos pasos:
Administrador del recomendador de gestión de identidades y accesos (
roles/recommender.iamAdmin
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para gestionar las estadísticas de movimientos laterales. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para gestionar la información valiosa sobre movimientos laterales, se necesitan los siguientes permisos:
-
Para ver las estadísticas de movimiento lateral, sigue estos pasos:
-
recommender.iamPolicyLateralMovementInsights.get
-
recommender.iamPolicyLateralMovementInsights.list
-
-
Para modificar las estadísticas de movimientos laterales, sigue estos pasos:
recommender.iamPolicyLateralMovementInsights.update
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Listar estadísticas de movimientos laterales
Para enumerar todas las estadísticas de movimientos laterales de tu proyecto, carpeta u organización, usa uno de los siguientes métodos:Consola
-
En la consola, ve a la página Gestión de identidades y accesos. Google Cloud
- Selecciona un proyecto, una carpeta o una organización.
La columna Estadísticas de seguridad muestra todas las estadísticas relacionadas con la seguridad de tu proyecto, incluidas las estadísticas de movimiento lateral. Las estadísticas de movimiento lateral tienen el formato N service account impersonations
, donde N
es el número de cuentas de servicio cuya identidad puede suplantar la cuenta de servicio de la vinculación de roles.
gcloud
Usa el comando gcloud recommender
insights list
para ver todos los datos de movimiento lateral de tu
proyecto,
carpeta
u organización.
Antes de ejecutar el comando, sustituye los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso del que quieres obtener estadísticas. Usa el valorproject
,folder
oorganization
. -
RESOURCE_ID
: ID del proyecto, la carpeta o la organización de los que quieres obtener información valiosa.
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
En el resultado se muestran todas las estadísticas de movimientos laterales de tu proyecto, carpeta u organización. Por ejemplo:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 046f8b89-bcee-46cd-9ac4-06818ed5273a SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. 1328df82-5af2-4493-9850-d8ede4e72b27 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-2@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 17f50957-333c-4f21-86c1-6a62216b309e SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-3@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 187200d2-b42c-48fb-86d7-c2746a87fed2 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-4@another-project.iam.gserviceaccount.com from another project can impersonate 32 service account(s) under this project. 1f1740a4-ff98-4f64-99a4-5ef5df5a2097 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-5@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
REST
El método insights.list
de la API Recommender muestra todas las estadísticas de movimientos laterales de tu proyecto, carpeta u organización.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
RESOURCE_TYPE
: el tipo de recurso del que quieres obtener estadísticas. Usa el valorprojects
,folders
oorganizations
. -
RESOURCE_ID
: ID del proyecto, la carpeta o la organización de los que quieres obtener información valiosa. PROJECT_ID
: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.
Método HTTP y URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights
Para enviar tu solicitud, despliega una de estas opciones:
La respuesta muestra todas las estadísticas de movimientos laterales de tu proyecto, carpeta u organización. Por ejemplo:
{ "insights": [ { "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860", "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com", "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098", "isGoogleManaged": false }, "targetServiceAccounts": [ "target-service-account-1@this-project.iam.gserviceaccount.com", "target-service-account-2@this-project.iam.gserviceaccount.com" ], "impersonationPolicy": { "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012", "role": "roles/editor", "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "7776000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f" } ], "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "CROSS_PROJECT_IMPERSONATION", "etag": "\"f48fa6a1b15c7741\"", "severity": "LOW" } ] }
Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de movimientos laterales de esta página.
Obtener una sola estadística de movimiento lateral
Para obtener más información sobre una estadística concreta, como su descripción, su estado y las recomendaciones asociadas, utilice uno de los siguientes métodos:
Consola
-
En la consola, ve a la página Gestión de identidades y accesos. Google Cloud
- Selecciona un proyecto, una carpeta o una organización.
-
En la columna Información valiosa sobre seguridad, haz clic en una de las opciones de movimientos laterales. Las estadísticas de movimientos laterales tienen el formato
N service account impersonations
, dondeN
es el número de cuentas de servicio cuya identidad puede suplantar la cuenta de servicio del enlace de rol.
La Google Cloud consola abre un panel con los detalles de la estadística.
gcloud
Usa el comando gcloud recommender
insights describe
con el ID de la estadística para ver información sobre una sola estadística.
-
INSIGHT_ID
: ID de la estadística que quieres ver. Para encontrar el ID, consulta la lista de estadísticas de tu proyecto, carpeta u organización. -
RESOURCE_TYPE
: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valorproject
,folder
oorganization
. -
RESOURCE_ID
: ID del proyecto, carpeta u organización de los que quieres gestionar las estadísticas.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
El resultado muestra la estadística detallada. Por ejemplo, la siguiente información indica que la política de gestión de identidades y accesos del proyecto 123456789012
permite que sa-1@another-project.iam.gserviceaccount.com
suplante la identidad de target-service-account-1@this-project.iam.gserviceaccount.com
y target-service-account-2@this-project.iam.gserviceaccount.com
.
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f category: SECURITY content: hasPermissionUsageData: true impersonationPermissionUsage: - permission: iam.serviceAccounts.actAs used: false impersonationPolicy: condition: description: '' expression: '' location: '' title: '' member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@another-project.iam.gserviceaccount.com serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098 targetServiceAccounts: - target-service-account-1@this-project.iam.gserviceaccount.com - target-service-account-2@this-project.iam.gserviceaccount.com description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de movimientos laterales de esta página.
REST
El método insights.get
de la API Recommender obtiene una sola estadística.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
RESOURCE_TYPE
: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valorprojects
,folders
, oorganizations
. -
RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de los que quieras gestionar las estadísticas. -
INSIGHT_ID
: el ID de la estadística que quieres ver. Si no conoces el ID de la estadística, puedes encontrarlo consultando la lista de estadísticas de tu proyecto, carpeta u organización. El ID de una estadística es todo lo que hay después deinsights/
en el camponame
de la estadística. PROJECT_ID
: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.
Método HTTP y URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
Para enviar tu solicitud, despliega una de estas opciones:
La respuesta contiene la estadística. Por ejemplo, la siguiente información indica que la política de gestión de identidades y accesos del proyecto 123456789012
permite que sa-1@another-project.iam.gserviceaccount.com
suplante la identidad de target-service-account-1@this-project.iam.gserviceaccount.com
y target-service-account-2@this-project.iam.gserviceaccount.com
.
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860", "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com", "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098", "isGoogleManaged": false }, "targetServiceAccounts": [ "target-service-account-1@this-project.iam.gserviceaccount.com", "target-service-account-2@this-project.iam.gserviceaccount.com" ], "impersonationPolicy": { "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012", "role": "roles/editor", "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "7776000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f" } ], "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "CROSS_PROJECT_IMPERSONATION", "etag": "\"f48fa6a1b15c7741\"", "severity": "LOW" }
Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de movimientos laterales de esta página.
Consultar estadísticas de movimientos laterales
Una vez que obtengas una estadística, puedes revisar su contenido para comprender el patrón de uso de recursos que destaca.
Consola
Cuando haces clic en una estadística de movimiento lateral en la Google Cloud consola, la Google Cloud consola abre un panel con los detalles de la estadística. La apariencia de estos detalles depende de si la estadística está asociada a una recomendación.
Si la estadística está asociada a una recomendación, en el panel se muestran los detalles de la recomendación.
Si la estadística no está asociada a ninguna recomendación, en el panel se muestra lo siguiente:
-
Proyecto de origen de la cuenta de servicio: el proyecto en el que se creó la cuenta de servicio con permisos de suplantación.
-
Cuentas de servicio que se pueden suplantar en este proyecto. Lista de todas las cuentas de servicio del proyecto actual que puede suplantar la cuenta de servicio con permisos de suplantación de identidad.
-
Permisos que permiten la suplantación de identidad en el proyecto: lista de los permisos de suplantación de identidad que tiene la cuenta de servicio.
-
Permisos actuales: lista de todos los permisos de la cuenta de servicio.
gcloud
El contenido de una estadística se determina en función de sus subtipos.
Las estadísticas de movimientos laterales (google.iam.policy.LateralMovementInsight
) tienen el subtipo CROSS_PROJECT_IMPERSONATION
.
Las estadísticas de CROSS_PROJECT_IMPERSONATION
tienen los siguientes componentes, no necesariamente en este orden:
-
associatedRecommendations
: los identificadores de las recomendaciones asociadas a la estadística. Si no hay recomendaciones asociadas a la estadística, este campo estará vacío. -
category
: La categoría de las estadísticas de gestión de identidades y accesos siempre esSECURITY
. -
content
: informa de los detalles de la capacidad de la cuenta de servicio para suplantar la identidad de cuentas de servicio de otros proyectos. Este campo contiene los siguientes componentes:hasPermissionUsageData
: valor booleano que indica si hay datos de uso de permisos para este enlace de rol. Los datos de uso de permisos indican si se han usado los permisos del enlace de rol. Estos datos no están disponibles para las vinculaciones de roles condicionales.impersonationPermissionUsage
: lista de permisos de suplantación y su información de uso. Si se ha usado un permiso en los últimos 90 días, se considera que se ha usado. Si no es así, se considera que no se usa.Si
hasPermissionUsageData
es false, el campoimpersonationPermissionUsage
está vacío.impersonationPolicy
: información sobre el enlace de rol que otorga permisos de suplantación de identidad a la cuenta de servicio.impersonator
: detalles sobre la cuenta de servicio que tiene permiso para suplantar cuentas de servicio de tu proyecto, incluidos los siguientes:isGoogleManaged
: indica si la cuenta de servicio es propiedad de Google y si Google la gestiona.serviceAccount
: la dirección de correo de la cuenta de servicio.serviceAccountOwner
: el proyecto propietario de la cuenta de servicio. Si Google es el propietario de la cuenta de servicio, el valor de este campo esGoogle managed
. Si un proyecto ajeno a tu organización es el propietario de la cuenta de servicio, el valor de este campo esUnknown to your org
.
targetServiceAccounts
: lista de las cuentas de servicio cuya identidad puede usar la cuenta de servicio del campoimpersonator
. Si el suplantador puede suplantar la identidad de más de 1500 cuentas de servicio, la lista estará vacía. Para saber cuántas cuentas de servicio puede suplantar el suplantador, consulta el campodescription
.
-
description
: resumen de la estadística legible por humanos. -
etag
: identificador único del estado actual de una estadística. Cada vez que cambia la estadística, se asigna un nuevo valoretag
.Para cambiar el estado de una estadística, debe proporcionar el
etag
de la estadística en cuestión. El uso deetag
ayuda a asegurarse de que las operaciones solo se realicen si la estadística no ha cambiado desde la última vez que la recuperaste. -
insightSubtype
: el subtipo de estadística. -
lastRefreshTime
: fecha de la última actualización de la estadística, que indica la actualización de los datos utilizados para generarla. -
name
: el nombre de la estadística, con el siguiente formato:RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
Los marcadores de posición tienen los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso para el que se ha generado la estadística. -
RESOURCE_ID
: ID del proyecto, la carpeta o la organización en los que se ha generado la estadística. INSIGHT_ID
: ID único de la estadística.
-
-
observationPeriod
: el periodo previo a la estadística. Los datos de origen que se han usado para generar la estadística terminan ellastRefreshTime
y empiezan ellastRefreshTime
menosobservationPeriod
. -
severity
: la gravedad de la estadística. Todos los datos de movimientos laterales tienen una gravedad deLOW
. -
stateInfo
: las estadísticas pasan por varias transiciones de estado después de que se proponen:-
ACTIVE
: Se ha generado la estadística, pero no se ha tomado ninguna medida o se ha tomado una medida sin actualizar el estado de la estadística. Los estadísticas activos se actualizan cuando cambian los datos subyacentes. -
ACCEPTED
: se ha tomado alguna medida en función de la estadística. Las estadísticas se aceptan cuando una recomendación asociada se marca comoCLAIMED
,SUCCEEDED
oFAILED
, o bien cuando se aceptan directamente. Cuando una estadística está en el estadoACCEPTED
, su contenido no puede cambiar. Las estadísticas aceptadas se conservan durante 90 días después de aceptarse.
-
-
targetResources
: El nombre completo del recurso de la organización, la carpeta, el proyecto o la cuenta de servicio para la que se genera la estadística. Por ejemplo,//cloudresourcemanager.googleapis.com/projects/123456789012
.
REST
El contenido de una estadística se determina en función de sus subtipos.
Las estadísticas de movimientos laterales (google.iam.policy.LateralMovementInsight
) tienen el subtipo CROSS_PROJECT_IMPERSONATION
.
Las estadísticas de CROSS_PROJECT_IMPERSONATION
tienen los siguientes componentes, no necesariamente en este orden:
-
associatedRecommendations
: los identificadores de las recomendaciones asociadas a la estadística. Si no hay recomendaciones asociadas a la estadística, este campo estará vacío. -
category
: La categoría de las estadísticas de gestión de identidades y accesos siempre esSECURITY
. -
content
: informa de los detalles de la capacidad de la cuenta de servicio para suplantar la identidad de cuentas de servicio de otros proyectos. Este campo contiene los siguientes componentes:hasPermissionUsageData
: valor booleano que indica si hay datos de uso de permisos para este enlace de rol. Los datos de uso de permisos indican si se han usado los permisos del enlace de rol. Estos datos no están disponibles para las vinculaciones de roles condicionales.impersonationPermissionUsage
: lista de permisos de suplantación y su información de uso. Si se ha usado un permiso en los últimos 90 días, se considera que se ha usado. Si no es así, se considera que no se usa.Si
hasPermissionUsageData
es false, el campoimpersonationPermissionUsage
está vacío.impersonationPolicy
: información sobre el enlace de rol que otorga permisos de suplantación de identidad a la cuenta de servicio.impersonator
: detalles sobre la cuenta de servicio que tiene permiso para suplantar cuentas de servicio de tu proyecto, incluidos los siguientes:isGoogleManaged
: indica si la cuenta de servicio es propiedad de Google y si Google la gestiona.serviceAccount
: la dirección de correo de la cuenta de servicio.serviceAccountOwner
: el proyecto propietario de la cuenta de servicio. Si Google es el propietario de la cuenta de servicio, el valor de este campo esGoogle managed
. Si un proyecto ajeno a tu organización es el propietario de la cuenta de servicio, el valor de este campo esUnknown to your org
.
targetServiceAccounts
: lista de las cuentas de servicio cuya identidad puede usar la cuenta de servicio del campoimpersonator
. Si el suplantador puede suplantar la identidad de más de 1500 cuentas de servicio, la lista estará vacía. Para saber cuántas cuentas de servicio puede suplantar el suplantador, consulta el campodescription
.
-
description
: resumen de la estadística legible por humanos. -
etag
: identificador único del estado actual de una estadística. Cada vez que cambia la estadística, se asigna un nuevo valoretag
.Para cambiar el estado de una estadística, debe proporcionar el
etag
de la estadística en cuestión. El uso deetag
ayuda a asegurarse de que las operaciones solo se realicen si la estadística no ha cambiado desde la última vez que la recuperaste. -
insightSubtype
: el subtipo de estadística. -
lastRefreshTime
: fecha de la última actualización de la estadística, que indica la actualización de los datos utilizados para generarla. -
name
: el nombre de la estadística, con el siguiente formato:RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
Los marcadores de posición tienen los siguientes valores:
-
RESOURCE_TYPE
: el tipo de recurso para el que se ha generado la estadística. -
RESOURCE_ID
: ID del proyecto, la carpeta o la organización en los que se ha generado la estadística. INSIGHT_ID
: ID único de la estadística.
-
-
observationPeriod
: el periodo previo a la estadística. Los datos de origen que se han usado para generar la estadística terminan ellastRefreshTime
y empiezan ellastRefreshTime
menosobservationPeriod
. -
severity
: la gravedad de la estadística. Todos los datos de movimientos laterales tienen una gravedad deLOW
. -
stateInfo
: las estadísticas pasan por varias transiciones de estado después de que se proponen:-
ACTIVE
: Se ha generado la estadística, pero no se ha tomado ninguna medida o se ha tomado una medida sin actualizar el estado de la estadística. Los estadísticas activos se actualizan cuando cambian los datos subyacentes. -
ACCEPTED
: se ha tomado alguna medida en función de la estadística. Las estadísticas se aceptan cuando una recomendación asociada se marca comoCLAIMED
,SUCCEEDED
oFAILED
, o bien cuando se aceptan directamente. Cuando una estadística está en el estadoACCEPTED
, su contenido no puede cambiar. Las estadísticas aceptadas se conservan durante 90 días después de aceptarse.
-
-
targetResources
: El nombre completo del recurso de la organización, la carpeta, el proyecto o la cuenta de servicio para la que se genera la estadística. Por ejemplo,//cloudresourcemanager.googleapis.com/projects/123456789012
.
Marcar una estadística de movimiento lateral como ACCEPTED
Si tomas medidas basándote en una estadística activa, puedes marcarla como
ACCEPTED
. El estado ACCEPTED
indica a la API Recommender que has tomado medidas en función de esta información valiosa, lo que ayuda a mejorar tus recomendaciones.
Las estadísticas aceptadas se conservan durante 90 días después de marcarse como ACCEPTED
.
Consola
Si una estadística está asociada a una recomendación,
aplicar la recomendación
cambia el estado de la estadística a ACCEPTED
.
Para marcar una estadística como ACCEPTED
sin aplicar una recomendación, usa la CLI de gcloud o la API REST.
gcloud
Usa el comando
gcloud recommender insights mark-accepted
con el ID de la estadística para marcarla como ACCEPTED
.
-
INSIGHT_ID
: ID de la estadística que quieres ver. Para encontrar el ID, consulta la lista de estadísticas de tu proyecto, carpeta u organización. -
RESOURCE_TYPE
: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valorproject
,folder
oorganization
. -
RESOURCE_ID
: ID del proyecto, carpeta u organización de los que quieres gestionar las estadísticas. -
ETAG
: identificador de una versión de la estadística. Para obtener eletag
, haz lo siguiente:-
Obtén la información valiosa con el comando
gcloud recommender insights describe
. -
Busca y copia el valor de
etag
en el resultado, incluidas las comillas. Por ejemplo,"d3cdec23cc712bd0"
.
-
Obtén la información valiosa con el comando
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global \ --etag=ETAG
El resultado muestra la estadística, ahora con el estado ACCEPTED
:
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f category: SECURITY content: hasPermissionUsageData: true impersonationPermissionUsage: - permission: iam.serviceAccounts.actAs used: false impersonationPolicy: condition: description: '' expression: '' location: '' title: '' member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@another-project.iam.gserviceaccount.com serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098 targetServiceAccounts: - target-service-account-1@this-project.iam.gserviceaccount.com - target-service-account-2@this-project.iam.gserviceaccount.com description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
Para obtener más información sobre el estado de una estadística, consulta Revisar estadísticas de movimientos laterales en esta página.
REST
El método insights.markAccepted
de la API Recommender marca una estadística como ACCEPTED
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
RESOURCE_TYPE
: el tipo de recurso del que quieres gestionar las estadísticas. Usa el valorprojects
,folders
, oorganizations
. -
RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de los que quieras gestionar las estadísticas. -
INSIGHT_ID
: el ID de la estadística que quieres ver. Si no conoces el ID de la estadística, puedes encontrarlo consultando la lista de estadísticas de tu proyecto, carpeta u organización. El ID de una estadística es todo lo que hay después deinsights/
en el camponame
de la estadística. -
ETAG
: identificador de una versión de la estadística. Para obtener eletag
, haz lo siguiente:- Obtén la información valiosa con el método
insights.get
. - Busca y copia el valor
etag
de la respuesta.
- Obtén la información valiosa con el método
PROJECT_ID
: tu ID de proyecto. Google Cloud Los IDs de proyecto son cadenas alfanuméricas, comomy-project
.
Método HTTP y URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID:markAccepted
Cuerpo JSON de la solicitud:
{ "etag": "ETAG" }
Para enviar tu solicitud, despliega una de estas opciones:
La respuesta contiene la estadística, ahora con el estado ACCEPTED
:
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860", "description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@another-project.iam.gserviceaccount.com", "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098", "isGoogleManaged": false }, "targetServiceAccounts": [ "target-service-account-1@this-project.iam.gserviceaccount.com", "target-service-account-2@this-project.iam.gserviceaccount.com" ], "impersonationPolicy": { "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012", "role": "roles/editor", "member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "7776000s", "stateInfo": { "state": "ACCEPTED" }, "category": "SECURITY", "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f" } ], "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "CROSS_PROJECT_IMPERSONATION", "etag": "\"f48fa6a1b15c7741\"", "severity": "LOW" }
Para obtener más información sobre el estado de una estadística, consulta Revisar estadísticas de movimientos laterales en esta página.
Siguientes pasos
- Consulta cómo revisar y aplicar recomendaciones de políticas.
- Usa el centro de recomendaciones para ver y gestionar todas las recomendaciones de tu proyecto, incluidas las de IAM.