En esta página se explica cómo gestionar las estadísticas de las cuentas de servicio, que son conclusiones sobre las cuentas de servicio de tu proyecto que no se han usado en los últimos 90 días.
Las solicitudes autenticadas por claves de API asociadas a cuentas de servicio no se registran en las métricas de uso de cuentas de servicio. Por lo tanto, es posible que estas cuentas de servicio se notifiquen como no utilizadas.
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. - Opcional: Consulta información sobre las estadísticas de Recomendador.
Roles obligatorios
Para obtener los permisos que necesitas para gestionar las estadísticas de las cuentas de servicio, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto en el que quieras gestionar las estadísticas:
-
Para ver las estadísticas de las cuentas de servicio, sigue estos pasos:
Lector del recomendador de gestión de identidades y accesos (
roles/recommender.iamViewer
) -
Para modificar las estadísticas de las cuentas de servicio, sigue estos pasos:
Administrador de 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 las cuentas de servicio. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para gestionar las estadísticas de las cuentas de servicio, se necesitan los siguientes permisos:
-
Para ver las estadísticas de las cuentas de servicio, sigue estos pasos:
-
recommender.iamServiceAccountinsights.get
-
recommender.iamServiceAccountinsights.list
-
-
Para modificar la información valiosa sobre cuentas de servicio, siga estos pasos:
recommender.iamServiceAccountinsights.update
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Mostrar información valiosa sobre cuentas de servicio
Para obtener una lista con todas las estadísticas de las cuentas de servicio de tu proyecto, utiliza uno de los siguientes métodos:gcloud
Usa el comando gcloud recommender
insights list
para ver todas las estadísticas de las cuentas de servicio de tu proyecto.
Antes de ejecutar el comando, sustituye los siguientes valores:
PROJECT_ID
: ID del proyecto del que quieres obtener una lista de estadísticas.
gcloud recommender insights list --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
En el resultado se muestran todos los detalles de las cuentas de servicio de tu proyecto. Por ejemplo:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 446303ba-2a14-49cc-b9fa-e2d2499d4f82 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-1@my-project.iam.gserviceaccount.com was inactive. 4cfd82c3-7320-4dc6-9b67-ca0756bbd54c SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-2@my-project.iam.gserviceaccount.com was inactive. a627bed7-c8f4-4611-89c9-2a9a8618ca1b SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-3@my-project.iam.gserviceaccount.com was inactive. a922dd59-df0a-422d-a2a4-096195e1dae5 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-4@my-project.iam.gserviceaccount.com was inactive.
REST
El método insights.list
de la API Recommender muestra todas las estadísticas de las cuentas de servicio de tu proyecto.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: ID del proyecto del que quieres obtener una lista de estadísticas.
Método HTTP y URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights
Para enviar tu solicitud, despliega una de estas opciones:
La respuesta muestra todas las estadísticas de las cuentas de servicio de tu proyecto. Por ejemplo:
{ "insights": [ { "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-09-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"9d797dd04263c855\"", "severity": "LOW" }, { "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/4cfd82c3-7320-4dc6-9b67-ca0756bbd54c", "description": "Service account sa-2@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "105496400997178042131", "email": "sa-2@my-project.iam.gserviceaccount.com" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "16070400s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"783a32b635d79a4e\"", "severity": "LOW" } ] }
Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de cuentas de servicio de esta página.
Obtener información valiosa sobre una cuenta de servicio
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:
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, lista las estadísticas de tu proyecto. PROJECT_ID
: el ID del proyecto del que quieres gestionar las estadísticas.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
El resultado muestra la estadística detallada. Por ejemplo, la siguiente estadística indica que la cuenta de servicio sa-1@my-project.iam.gserviceaccount.com
no se ha autenticado desde el 11 de octubre del 2020.
category: SECURITY content: email: sa-1@my-project.iam.gserviceaccount.com lastAuthenticatedTime: '2020-10-11T07:00:00Z' serviceAccountId: '103185812403937829397' description: Service account sa-1@my-project.iam.gserviceaccount.com was inactive. etag: '"9d797dd04263c855"' insightSubtype: SERVICE_ACCOUNT_USAGE lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82 observationPeriod: 19008000s 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 cuentas de servicio 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:
-
PROJECT_ID
: el ID del proyecto del que quieres gestionar las estadísticas. -
INSIGHT_ID
: el ID de la estadística que quieres ver. Si no sabes cuál es el ID de la estadística, puedes encontrarlo consultando la lista de estadísticas de tu proyecto. El ID de una estadística es todo lo que hay después deinsights/
en el camponame
de la estadística.
Método HTTP y URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
Para enviar tu solicitud, despliega una de estas opciones:
La respuesta contiene la estadística. Por ejemplo, la siguiente estadística indica que la cuenta de servicio sa-1@my-project.iam.gserviceaccount.com
no se ha autenticado desde el 11 de octubre del 2020.
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-09-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"9d797dd04263c855\"", "severity": "LOW" }
Para obtener más información sobre los componentes de una estadística, consulta la sección Revisar estadísticas de cuentas de servicio de esta página.
Consultar información valiosa sobre cuentas de servicio
Una vez que obtengas una estadística, puedes revisar su contenido para comprender el patrón de uso de recursos que destaca.
El contenido de una estadística se determina en función de sus subtipos.
Las estadísticas de información valiosa sobre las cuentas de servicio (google.iam.serviceAccount.Insight
) tienen el subtipo SERVICE_ACCOUNT_USAGE
.
Las estadísticas de SERVICE_ACCOUNT_USAGE
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 la última vez que se autenticó la cuenta de servicio. Este campo contiene los siguientes componentes:email
: la dirección de correo de la cuenta de servicio.lastAuthenticatedTime
: la hora más reciente en la que se autenticó la cuenta de servicio. Si la cuenta de servicio no tiene ninguna autenticación registrada, este campo no se incluye.serviceAccountId
: ID numérico único de la cuenta de servicio.
-
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:projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
Los marcadores de posición tienen los siguientes valores:
-
PROJECT_ID
: ID del proyecto en el 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
. -
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 del proyecto al que pertenece la estadística. Por ejemplo,//cloudresourcemanager.googleapis.com/projects/123456789012
.
Marcar una estadística de una cuenta de servicio 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
.
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, lista las estadísticas de tu proyecto. PROJECT_ID
: el ID del proyecto del 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.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global \ --etag=ETAG
El resultado muestra la estadística, ahora con el estado ACCEPTED
:
category: SECURITY content: email: sa-1@my-project.iam.gserviceaccount.com lastAuthenticatedTime: '2020-10-11T07:00:00Z' serviceAccountId: '103185812403937829397' description: Service account sa-1@my-project.iam.gserviceaccount.com was inactive. etag: '"39c4199dcec92848"' insightSubtype: SERVICE_ACCOUNT_USAGE lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82 observationPeriod: 19008000s 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 la sección Revisar estadísticas de cuentas de servicio de 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:
-
PROJECT_ID
: el ID del proyecto del que quieres gestionar las estadísticas. -
INSIGHT_ID
: el ID de la estadística que quieres ver. Si no sabes cuál es el ID de la estadística, puedes encontrarlo consultando la lista de estadísticas de tu proyecto. 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
Método HTTP y URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/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.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-10-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACCEPTED" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"39c4199dcec92848\"", "severity": "LOW" }
Para obtener más información sobre el estado de una estadística, consulta la sección Revisar estadísticas de cuentas de servicio de esta página.
Siguientes pasos
- Consulta las herramientas disponibles para comprender el uso de las cuentas de servicio.
- Usa el centro de recomendaciones para ver y gestionar todas las recomendaciones de tu proyecto, incluidas las de IAM.