Tema 4 de 5
Cuando una organización tiene cientos de proyectos, la pregunta «¿qué tenemos y quién tiene acceso?» deja de responderse a mano. El temario pide «Configuring Cloud Asset Inventory and using Gemini Cloud Assist to analyze resources»: el primero guarda el inventario de metadatos y el segundo es el asistente de IA que ayuda a diseñar, operar y optimizar.
Contenido
Un inventario global de metadatos para ver, buscar, exportar, supervisar y analizar los activos de Google Cloud. Está pensado para cumplimiento, auditorías programadas y análisis.
Descubrir recursos
Filtrar por ubicación, fecha de creación, tags o estado.
Supervisar cambios
Seguir la evolución de un recurso para auditar, depurar y detectar desviaciones de cumplimiento.
Auditar seguridad y costes
Encontrar recursos con demasiados permisos, expuestos públicamente o sin usar.
No es para tiempo real
Google advierte que no está diseñado para consultas en tiempo real donde un dato desactualizado pueda romper la disponibilidad o la seguridad. Para eso hay que llamar directamente a la API del servicio.
Al consultar se indica qué metadatos quieres. Sin tipo de contenido solo se devuelve lo básico: nombre del activo, última actualización y sus antepasados (proyecto, carpetas, organización).
| API (gcloud) | Qué devuelve |
|---|---|
RESOURCE (resource) | Todos los metadatos del recurso |
IAM_POLICY (iam-policy) | Las vinculaciones de la política IAM del recurso |
ORG_POLICY (org-policy) | Las políticas de organización (v1); para la v2 se usa RESOURCE con el tipo orgpolicy.googleapis.com/Policy |
ACCESS_POLICY (access-policy) | Políticas de Access Context Manager |
OS_INVENTORY (os-inventory) | Inventario del sistema operativo de las VM. Requiere configurar VM Manager |
RELATIONSHIP (relationship) | Relaciones entre recursos (p. ej., una VM usa un disco). Requiere Security Command Center Premium o Enterprise, o Gemini Cloud Assist |
Habilitar la API de Cloud Asset Inventory. En el proyecto desde el que ejecutas los comandos (cloudasset.googleapis.com).
Conceder el rol adecuado. Cloud Asset Viewer (roles/cloudasset.viewer) para leer el inventario en el proyecto, carpeta u organización.
Preparar el destino. Un dataset de BigQuery o un bucket para exportar, o un tema de Pub/Sub para los feeds.
En la consola, la página Asset Inventory tiene una pestaña Resource donde se filtra con la sintaxis de búsqueda, se ve la consulta equivalente en gcloud (View query) y se descargan los resultados en CSV.
# Listar los activos de Compute Engine de un proyecto gcloud asset list --project=PROJECT_ID --asset-types=compute.googleapis.com/Instance # Buscar recursos en una organización gcloud asset search-all-resources --scope=organizations/ORG_ID --query="location:us-central1" # Buscar políticas IAM que den acceso público gcloud asset search-all-iam-policies --scope=organizations/ORG_ID \ --query="memberTypes:(allUsers OR allAuthenticatedUsers)" --format="table(resource)"
La exportación saca una instantánea de la organización, carpeta o proyecto (puede ser de una fecha pasada, dentro de los 35 días) para analizarla con SQL en BigQuery o guardarla en Cloud Storage.
gcloud asset export --project=my-project --content-type=resource \ --snapshot-time="2024-01-30" \ --bigquery-table=projects/my-project/datasets/my-dataset/tables/my-table
--per-asset-type se crea una tabla por tipo de activo, con columnas para los campos anidados.--output-bigquery-force.numRows, pueden exportarse vacíos.Un feed envía una notificación a un tema de Pub/Sub cada vez que cambian los recursos, las políticas IAM, las políticas de acceso o las de organización que elijas en una organización, carpeta o proyecto. Se le pueden añadir condiciones para recibir solo ciertos cambios.
gcloud asset feeds create my-feed --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --asset-names=//storage.googleapis.com/my-bucket --content-type=iam-policy
TemporalAsset con el estado nuevo y el anterior (priorAsset).Un colaborador con IA integrado en Google Cloud que da asistencia para diseñar, desplegar, solucionar problemas y optimizar cargas de trabajo. Google lo describe como un ecosistema multiagente con razonamiento, llamadas a herramientas y memoria a largo plazo.
Usa como contexto el ID del proyecto y de la organización, la página de la consola que estás viendo (URL y texto visible) y la memoria de la sesión. Varias de sus funciones están en vista previa. Como toda IA generativa, puede dar respuestas plausibles pero incorrectas: Google recomienda validar todo lo que genera.
Un administrador lo configura para un proyecto o una carpeta antes de que el equipo pueda usarlo.
Admin for Gemini → Get Gemini Cloud Assist. Elige las APIs recomendadas y pulsa Enable Gemini Cloud Assist at no cost.
Conceder roles a cada principal. Gemini Cloud Assist User y Cloud Asset Viewer, más los roles de los productos sobre los que quiera ayuda.
Ajustes opcionales. Compartir prompts para mejorar el producto, instrucciones personalizadas, grounding.
gcloud services enable geminicloudassist.googleapis.com --project PROJECT_ID gcloud services enable cloudasset.googleapis.com designcenter.googleapis.com \ appoptimize.googleapis.com apphub.googleapis.com --project PROJECT_ID
Precauciones
| Área | Ejemplos |
|---|---|
| Diseñar y construir | Diseño de arquitecturas en lenguaje natural en Application Design Center; generar y refinar comandos gcloud, manifiestos de kubectl y Terraform; elegir roles IAM y entender políticas |
| Soporte y resolución de problemas | Investigaciones que analizan logs, métricas y configuraciones como un SRE guiado; investigaciones automáticas al dispararse una alerta; problemas de rendimiento en Cloud SQL, AlloyDB, BigQuery y Spanner; traspaso a soporte con el contexto |
| Observabilidad | Explorar métricas, logs, alertas y errores con lenguaje natural |
| Optimizar | Preguntas sobre el gasto (amplía Cloud Hub Optimization y Cost Explorer), FinOps Hub, análisis diario de anomalías de coste, Storage Insights, Flow Analyzer |
| Plataforma | Agentes proactivos que actúan con su propia cuenta de servicio (Agent Identity) y quedan en los logs de auditoría; MCP para usarlo desde Gemini CLI u otros clientes; instrucciones personalizadas |
Panel de Cloud Assist
Asistencia conversacional en la consola y en la app móvil de Cloud.
Prompts rápidos de la consola
Botones y elementos interactivos repartidos por la consola.
Cloud Hub
Optimización de costes y uso de recursos y aplicaciones para equipos DevOps.
Database Center
Gestión centralizada de la flota de bases de datos.
Application Design Center
Diseñar aplicaciones a partir de requisitos técnicos y de negocio.
Investigations
Diagnóstico desde la consola, la app móvil, la CLI y los IDE.
| Situación | Respuesta | Por qué |
|---|---|---|
| Encontrar todos los recursos con acceso público (allUsers) en la organización | gcloud asset search-all-iam-policies con memberTypes | Busca en las políticas allow de toda la jerarquía. |
| Analizar con SQL el inventario completo de la organización | gcloud asset export a BigQuery | Exporta una instantánea de los metadatos. |
| Recibir un aviso cada vez que alguien cambia la política IAM de un bucket | Feed de Cloud Asset Inventory a Pub/Sub | Notificación en tiempo real de cambios. |
| Saber qué tenía un recurso hace 20 días | Historial de Cloud Asset Inventory | Conserva 35 días de historial. |
| Comprobar en producción si una VM existe en este instante | Llamar a la API del servicio | Cloud Asset Inventory no es para consultas en tiempo real. |
| Investigar con IA un error a partir de logs y métricas | Investigación de Gemini Cloud Assist | Explora hipótesis y busca la causa raíz. |
| Generar con lenguaje natural un comando gcloud o código Terraform | Chat del panel de Cloud Assist | Genera y refina IaC. |
❓ ¿Cuánto historial guarda Cloud Asset Inventory?
35 días de creación, actualización y borrado.
❓ ¿Por qué canal llegan las notificaciones de un feed?
Por un tema de Pub/Sub.
❓ ¿Qué rol permite leer el inventario?
Cloud Asset Viewer (roles/cloudasset.viewer).
❓ ¿Se puede añadir una exportación a una tabla de BigQuery que ya tiene datos?
Solo si es particionada. Si no, la tabla debe estar vacía o sobrescribirse con --output-bigquery-force.
❓ ¿Qué roles necesita un usuario para usar Gemini Cloud Assist?
Gemini Cloud Assist User y Cloud Asset Viewer, más los roles de los productos sobre los que pide ayuda.
❓ ¿Conviene habilitar Gemini Cloud Assist en un proyecto con requisitos de residencia de datos?
No. Puede guardar datos en cualquier centro de datos de Google Cloud del mundo.
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
El equipo de seguridad quiere que una función se ejecute automáticamente cada vez que alguien modifique la política IAM de cualquier proyecto de una carpeta. ¿Qué configura?
Preguntas originales, cada una con su explicación.
Empezar un simulacro