Las estadísticas del Cloud Asset Inventory pueden ayudarte a detectar posibles riesgos en la configuración de tus recursos y a mejorar tu postura de seguridad. Es parte del servicio de Recommender y se proporciona como el tipo de estadística google.cloudasset.asset.Insight
.
Las estadísticas son anomalías específicas que requieren un análisis más detallado para determinar la acción adecuada. Se generan a diario, en función de una instantánea de los datos almacenados en Cloud Asset Inventory.
Las estadísticas que proporciona Cloud Asset Inventory se basan en las políticas de IAM asociadas con los recursos de tu organización.
Antes de comenzar
Antes de comenzar a usar las estadísticas de recursos, debes completar los siguientes pasos.
Asegúrate de que tu cuenta tenga los siguientes permisos:
recommender.cloudAssetInsights.get
recommender.cloudAssetInsights.list
recommender.cloudAssetInsights.update
Puedes otorgar estos permisos de forma individual o puedes otorgar una de las siguientes funciones.
Función de visualizador de estadísticas de Cloud Asset (
roles/recommender.cloudAssetInsightsViewer
)Función de administrador de Cloud Asset Insights (
roles/recommender.cloudAssetInsightsAdmin
)
Limitaciones
Estas estadísticas no consideran las membresías de grupo ni las cuentas de servicio como parte de sus hallazgos y no deben considerarse una lista exhaustiva de vulnerabilidades coincidentes.
Las estadísticas individuales incluyen una muestra de políticas de IAM coincidentes, que tiene un límite de 100 políticas distintas. Para recuperar todas las políticas coincidentes, busca políticas de permiso de IAM en los recursos.
Solicita estadísticas de recursos
La forma más fácil de solicitar estadísticas de recursos es enumerarlas, como se muestra en los siguientes pasos. Para otros tipos de interacciones de estadísticas, consulta Usa la API: Estadísticas.
gcloud
gcloud recommender insights list \ --SCOPE \ --location=global \ --insight-type=google.cloudasset.asset.Insight \ --filter="insightSubtype:SUBTYPE" \
Ingresa los siguientes valores:
-
SCOPE
: Usa uno de los siguientes valores:-
project=PROJECT_ID
, dondePROJECT_ID
es el ID del proyecto para el que deseas obtener estadísticas. -
folder=FOLDER_ID
, dondeFOLDER_ID
es el ID de la carpeta para la que deseas obtener estadísticas.Cómo encontrar el ID de una carpeta de Google Cloud
consola de
Para encontrar el ID de una carpeta de Google Cloud , completa los siguientes pasos:
-
Ve a la consola de Google Cloud .
- Haz clic en el cuadro de lista del selector en la barra de menú.
- Selecciona tu organización en el cuadro de lista.
- Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.
gcloud CLI
Puedes recuperar el ID de una carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
En el que TOP_LEVEL_FOLDER_NAME es una coincidencia de cadena parcial o completa para el nombre de la carpeta. Quita la marca
--format
para ver más información sobre las carpetas encontradas.El comando anterior no muestra los IDs de las subcarpetas dentro de las carpetas. Para ello, ejecuta el siguiente comando con el ID de una carpeta de nivel superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, dondeORGANIZATION_ID
es el ID de la organización para la que deseas obtener estadísticas.Cómo encontrar el ID de una organización de Google Cloud
consola de
Para encontrar el ID de una organización de Google Cloud , completa los siguientes pasos:
-
Ve a la consola de Google Cloud .
- Haz clic en el cuadro de lista del selector en la barra de menú.
- Selecciona tu organización en el cuadro de lista.
- Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.
gcloud CLI
Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Opcional El ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar tu facturación y cuota Obtén más información para configurar el proyecto de facturación. -
SUBTYPE
: Es el subtipo de estadísticas del activo. Uno de los siguientes valores:-
EXTERNAL_MEMBER
: Detecta políticas de IAM que contienen usuarios o grupos que pertenecen a un dominio fuera de los dominios de tu organización. -
EXTERNAL_POLICY_EDITOR
: Detecta políticas de IAM que contienen usuarios o grupos fuera de los dominios de tu organización a los que se les otorga permiso para modificar las políticas de IAM. -
EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER
: Detecta políticas de IAM que contienen usuarios o grupos fuera de los dominios de tu organización a los que se les otorga permiso para obtener o enumerar objetos de almacenamiento (permisostorage.objects.list
ostorage.objects.get
). -
EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR
: Detecta políticas de IAM que contienen usuarios o grupos fuera de los dominios de tu organización a los que se les otorga permiso para actuar en nombre de cuentas de servicio. -
TERMINATED_MEMBER
: Detecta políticas de IAM que contienen usuarios o grupos con cuentas desactivadas, borradas o purgadas. -
PUBLIC_IAM_POLICY
: Detecta políticas de IAM que contienen todos los usuarios o todos los usuarios autenticados. -
OWNER_TERMINATED_PROJECT
: Detecta proyectos que no contienen ningún usuario o grupo activo en la política de IAM del proyecto.
-
Si no se especifica, se muestran todos los subtipos.
Consulta la referencia de la CLI de gcloud para ver todas las opciones.
Ejemplo
Ejecuta el siguiente comando para mostrar una lista de las estadísticas del proyecto my-project
.
gcloud recommender insights list \ --project=my-project \ --location=global \ --insight-type=google.cloudasset.asset.Insight
Respuesta de ejemplo
INSIGHT_ID: 00000000-0000-0000-0000-000000000000 CATEGORY: SECURITY INSIGHT_STATE: ACTIVE LAST_REFRESH_TIME: 2024-01-30T00:00:00Z SEVERITY: LOW INSIGHT_SUBTYPE: EXTERNAL_MEMBER DESCRIPTION: Domain example.com detected in 1 IAM policies
REST
Método HTTP y URL:
GET https://recommender.googleapis.com/v1/SCOPE_PATH/locations/global/insightTypes/google.cloudasset.asset.Insight/insights
Encabezados:
X-Goog-User-Project: BILLING_PROJECT_ID
Ingresa los siguientes valores:
-
SCOPE_PATH
: Usa uno de los siguientes valores:Los valores permitidos son los siguientes:
-
projects/PROJECT_ID
, dondePROJECT_ID
es el ID del proyecto para el que deseas obtener estadísticas. -
projects/PROJECT_NUMBER
, dondePROJECT_NUMBER
es el número del proyecto para el que deseas obtener estadísticas.Cómo encontrar el número de proyecto de Google Cloud
consola de
Para encontrar el número de proyecto de Google Cloud , completa los siguientes pasos:
-
Ve a la página Bienvenido en la consola de Google Cloud .
- Haz clic en el cuadro de lista del selector en la barra de menú.
-
Selecciona tu organización en el cuadro de lista y, luego, busca el nombre de tu proyecto. El nombre, el número y el ID del proyecto se muestran cerca del encabezado Welcome.
Se muestran hasta 4,000 recursos. Si no ves el proyecto que buscas, ve a la página Administrar recursos y filtra la lista con el nombre de ese proyecto.
gcloud CLI
Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, dondeFOLDER_ID
es el ID de la carpeta para la que deseas obtener estadísticas.Cómo encontrar el ID de una carpeta de Google Cloud
consola de
Para encontrar el ID de una carpeta de Google Cloud , completa los siguientes pasos:
-
Ve a la consola de Google Cloud .
- Haz clic en el cuadro de lista del selector en la barra de menú.
- Selecciona tu organización en el cuadro de lista.
- Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.
gcloud CLI
Puedes recuperar el ID de una carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
En el que TOP_LEVEL_FOLDER_NAME es una coincidencia de cadena parcial o completa para el nombre de la carpeta. Quita la marca
--format
para ver más información sobre las carpetas encontradas.El comando anterior no muestra los IDs de las subcarpetas dentro de las carpetas. Para ello, ejecuta el siguiente comando con el ID de una carpeta de nivel superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, dondeORGANIZATION_ID
es el ID de la organización para la que deseas obtener estadísticas.Cómo encontrar el ID de una organización de Google Cloud
consola de
Para encontrar el ID de una organización de Google Cloud , completa los siguientes pasos:
-
Ve a la consola de Google Cloud .
- Haz clic en el cuadro de lista del selector en la barra de menú.
- Selecciona tu organización en el cuadro de lista.
- Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.
gcloud CLI
Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Es el ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar tu facturación y cuota. Obtén más información para configurar el proyecto de facturación.
Ejemplos de comandos
Ejecuta uno de los siguientes comandos para mostrar una lista de estadísticas del proyecto my-project
.
curl (Linux, macOS o Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights" | Select-Object -Expand Content
Respuesta de ejemplo
{ "name": "organizations/000000000000/locations/global/insightTypes/google.cloudasset.asset.Insight/insights/00000000-0000-0000-0000-000000000000", "description": "Domain example.com detected in 1 IAM policies", "content": { "domain": "example.com", "policyCount": 1, "policySearchQuery": "policy: example.com", "matchedPolicies" :[ { "resource" :"//cloudresourcemanager.googleapis.com/projects/000000000000", "project" :"projects/000000000000", "matchedBindings" :[ { "role" :"roles/viewer", "matchedMembers" :[ "user:example@example.com" ] } ] } ] }, "lastRefreshTime": "2024-01-30T00:00:00Z", "observationPeriod": "0s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/organizations/000000000000" ], "insightSubtype": "EXTERNAL_MEMBER", "etag": "\"00000000000\"", "initialRefreshTime": "2024-01-30T00:00:00Z" }
Interpreta las respuestas de las estadísticas
Además de los atributos de estadísticas estándar, las estadísticas de activos proporcionan varios subtipos y campos especializados.
Subtipos de estadísticas
Los subtipos de estadísticas de recursos son los siguientes:
EXTERNAL_MEMBER
: Detecta políticas de IAM que contienen usuarios o grupos que pertenecen a un dominio fuera de los dominios de tu organización.EXTERNAL_POLICY_EDITOR
: Detecta políticas de IAM que contienen usuarios o grupos fuera de los dominios de tu organización a los que se les otorga permiso para modificar las políticas de IAM.EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER
: Detecta políticas de IAM que contienen usuarios o grupos fuera de los dominios de tu organización a los que se les otorga permiso para obtener o enumerar objetos de almacenamiento (storage.objects.list
ostorage.objects.get permission
).EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR
: Detecta políticas de IAM que contienen usuarios o grupos fuera de los dominios de tu organización a los que se les otorga permiso para actuar en nombre de cuentas de servicio.TERMINATED_MEMBER
: Detecta políticas de IAM que contienen usuarios o grupos con cuentas desactivadas, borradas o purgadas.PUBLIC_IAM_POLICY
: Detecta políticas de IAM que contienen todos los usuarios o todos los usuarios autenticados.OWNER_TERMINATED_PROJECT
: Detecta proyectos que no contienen ningún usuario o grupo activo en la política de IAM del proyecto.
Campos de contenido adicionales
Además de los campos estándar de la respuesta, las estadísticas de activos proporcionan varios campos especializados en el campo content
.
user
: La dirección de correo electrónico del usuario detectada en los miembros de las vinculaciones de políticas para esta estadística. Este campo se incluye en el subtipoTERMINATED_MEMBER
.domain
: El dominio detectado en los miembros de las vinculaciones de políticas de esta estadística. Este campo se incluye en los subtiposEXTERNAL_MEMBER
,EXTERNAL_POLICY_EDITOR
,EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER
yEXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR
.assetName
: Es el nombre del recurso para el que se detectó el acceso en esta estadística. Este campo se incluye en los subtiposOWNER_TERMINATED_PROJECT
yPUBLIC_IAM_POLICY
.policyCount
: Es la cantidad total de políticas de IAM distintas en las que se detectaron miembros coincidentes para esta estadística. Este campo se incluye en todos los subtipos de estadísticas de recursos.matchedPolicies
: Un muestreo de las políticas de IAM que coinciden con la estadística detectada. Las políticas de coincidencia solo incluyen el subconjunto de vinculaciones y miembros de vinculación que coinciden con la estadística detectada. Este campo se incluye en todos los subtipos de estadísticas de recursos.policySearchQuery
: Una consulta que se puede usar con la API de búsqueda de políticas de IAM de Cloud Asset Inventory para recuperar las políticas relevantes en tiempo real.