Descripción general de Cloud Asset Inventory

Cloud Asset Inventory es un servicio de inventario de metadatos global que te permite ver, buscar, exportar, supervisar y analizar los metadatos de tus activos de Google Cloud , con hasta 35 días de historial de creación, actualización y eliminación. Los recursos que no cambiaron en los últimos 35 días informan su estado más reciente.

Los metadatos de los activos pueden provenir de las siguientes fuentes:

  • Recursos deGoogle Cloud , como instancias de VM de Compute Engine, buckets de Cloud Storage e instancias de App Engine

  • Políticas configuradas en los recursos de Google Cloud , como las políticas de IAM, las políticas de la organización y las políticas de Access Context Manager.

  • Información del tiempo de ejecución de la Administración del inventario del SO

Sigue estos pasos para trabajar con tus recursos:

Tipos de activos, nombres de activos y tipos de contenido

Cloud Asset Inventory ofrece varios métodos para interactuar con tus recursos. Según el método que uses y los detalles de la respuesta que desees, es posible que debas especificar los tipos de activos, los nombres de los activos y los tipos de contenido en tus solicitudes.

Tipos de recursos

Algunos métodos de Cloud Asset Inventory muestran resultados según los tipos de activos. Los tipos de activos incluyen los recursos, las políticas, la información del tiempo de ejecución del inventario del SO y las relaciones de Google Cloud . Los tipos de recursos disponibles y los métodos de Cloud Asset Inventory que los admiten se detallan en Tipos de recursos.

Nombres de los activos

Algunos métodos de Cloud Asset Inventory muestran resultados según los nombres de los activos. Cuando especifiques un nombre de activo, debes usar su nombre completo. Consulta Nombres de activos para obtener una lista de los nombres de recursos completos.

Tipos de contenido

Para solicitar metadatos adicionales en un recurso, especifica un tipo de contenido de metadatos. Si no especificas un tipo de contenido, solo se muestra una respuesta básica, que contiene información como el nombre del recurso, la última vez que se actualizó y a qué proyectos, carpetas y organizaciones pertenece.

Los nombres de los tipos de contenido varían según cómo interactúes con Cloud Asset Inventory. Los nombres de las APIs de RPC y REST son los mismos. Sin embargo, los nombres de los tipos de contenido de gcloud CLI siguen un patrón diferente. Para mantener la coherencia y facilitar la explicación, en el resto de esta documentación, se hace referencia a los tipos de contenido por sus nombres de RPC y REST.

En la siguiente tabla, se detallan los tipos de contenido y sus descripciones:

Tipo de contenido Descripción
Nombre de RPC y REST Nombre de la gcloud CLI  
ACCESS_POLICY access-policy La política de Access Context Manager configurada en un recurso
IAM_POLICY iam-policy Los metadatos de la política de IAM que se vinculan al recurso
ORG_POLICY org-policy Son los metadatos de la política de la organización establecidos en un recurso. Este tipo de contenido genera la política de la organización heredada v1. Para la política de organización v2, prueba el tipo de contenido resource y un tipo de recurso orgpolicy.googleapis.com/Policy.
OS_INVENTORY os-inventory Es la información del inventario del SO del entorno de ejecución. Para habilitar el inventario de SO, completa los pasos relevantes en Configura VM Manager.
RELATIONSHIP relationship

Requiere acceso al nivel Premium o Enterprise de Security Command Center, o a Gemini Cloud Assist.

Muchos recursos de Google Cloud están conectados entre sí a través de relaciones. Por ejemplo, un grupo de instancias de Compute puede contener una instancia de Compute, o un clúster de GKE puede contener un nodo.

Los datos de relaciones están disponibles a partir del 30 de mayo de 2022. Una relación puede tener su propia marca de tiempo de actualización, ya que se puede inferir en un momento diferente al de las actualizaciones del activo de origen.

Consulta Tipos de relaciones para obtener una lista de las relaciones compatibles.

RESOURCE resource Los metadatos del recurso.

Cómo cambian las respuestas según el tipo de contenido

En los siguientes ejemplos, se muestra cómo cambian las respuestas cuando se enumeran instancias de VM en un proyecto a través de Cloud Asset Inventory con diferentes tipos de contenido.

Sin tipo de contenido

Si no especificas ningún tipo de contenido cuando enumeras las instancias de VM, solo recibirás los nombres de las instancias, la última vez que se actualizaron y a qué proyectos, carpetas y organizaciones pertenecen.

Expandir para ver el ejemplo de respuesta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
updateTime: '2023-11-15T12:28:30.087825Z'

Tipo de contenido IAM_POLICY

Si especificas el tipo de contenido IAM_POLICY, también recibirás las vinculaciones de IAM en la VM, si las hay.

Expandir para ver el ejemplo de respuesta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
iamPolicy:
  bindings:
  - members:
    - user:USER_EMAIL_ADDRESS
    role: roles/compute.securityAdmin
  etag: ETAG
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
updateTime: '2023-12-19T23:35:42.673842Z'

Tipo de contenido de RESOURCE

Si especificas el tipo de contenido RESOURCE, también recibirás todos los metadatos asociados con la VM.

Expandir para ver el ejemplo de respuesta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
resource:
  data:
    allocationAffinity:
      consumeAllocationType: ANY_ALLOCATION
    canIpForward: false
    confidentialInstanceConfig:
      enableConfidentialCompute: true
    cpuPlatform: AMD Rome
    creationTimestamp: '2023-11-14T14:35:37.059-08:00'
    deletionProtection: false
    description: ''
    disks:
    - architecture: X86_64
      autoDelete: true
      boot: true
      deviceName: INSTANCE_NAME
      diskSizeGb: '10'
      guestOsFeatures:
      - type: VIRTIO_SCSI_MULTIQUEUE
      - type: SEV_CAPABLE
      - type: SEV_SNP_CAPABLE
      - type: SEV_LIVE_MIGRATABLE
      - type: UEFI_COMPATIBLE
      - type: GVNIC
      index: 0
      interface: NVME
      licenses:
      - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-2004-lts
      mode: READ_WRITE
      shieldedInstanceInitialState:
        dbx:
        - content: DATA
          fileType: BIN
        dbxs:
        - content: DATA
          fileType: BIN
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME
      type: PERSISTENT
    displayDevice:
      enableDisplay: false
    fingerprint: FINGERPRINT
    id: 'ID'
    keyRevocationActionType: NONE_ON_KEY_REVOCATION
    labelFingerprint: LABEL_FINGERPRINT
    lastStartTimestamp: '2023-11-15T04:28:30.005-08:00'
    machineType: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n2d-standard-2
    name: INSTANCE_NAME
    networkInterfaces:
    - accessConfigs:
      - name: External NAT
        natIP: 34.27.105.222
        networkTier: PREMIUM
        type: ONE_TO_ONE_NAT
      fingerprint: jKU51FdTluk=
      name: nic0
      network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default
      networkIP: 10.128.15.212
      nicType: GVNIC
      stackType: IPV4_ONLY
      subnetwork: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/default
    reservationAffinity:
      consumeReservationType: ANY_ALLOCATION
    resourceStatus: {}
    scheduling:
      automaticRestart: true
      onHostMaintenance: TERMINATE
      preemptible: false
      provisioningModel: STANDARD
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    serviceAccounts:
    - email: PROJECT_NUMBER-compute@developer.gserviceaccount.com
      scopes:
      - https://www.googleapis.com/auth/devstorage.read_only
      - https://www.googleapis.com/auth/logging.write
      - https://www.googleapis.com/auth/monitoring.write
      - https://www.googleapis.com/auth/servicecontrol
      - https://www.googleapis.com/auth/service.management.readonly
      - https://www.googleapis.com/auth/trace.append
    shieldedInstanceConfig:
      enableIntegrityMonitoring: true
      enableSecureBoot: false
      enableVtpm: true
    shieldedInstanceIntegrityPolicy:
      updateAutoLearnPolicy: true
    startRestricted: false
    status: RUNNING
    tags:
      fingerprint: FINGERPRINT
    zone: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE
  discoveryDocumentUri: https://www.googleapis.com/discovery/v1/apis/compute/v1/rest
  discoveryName: Instance
  location: ZONE
  parent: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
  version: v1
updateTime: '2023-11-15T12:28:30.087825Z'

Tipo de contenido RELATIONSHIP

Las relaciones requieren acceso al nivel Premium o Enterprise de Security Command Center, o a Gemini Cloud Assist.

Si especificas el tipo de contenido RELATIONSHIP, también recibirás los metadatos asociados con los activos relacionados de la instancia de VM.

Expandir para ver el ejemplo de respuesta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
relatedAsset:
  ancestors:
  - projects/PROJECT_NUMBER
  - folders/FOLDER_NUMBER
  - organizations/ORGANIZATION_ID
  asset: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME
  assetType: compute.googleapis.com/Disk
  relationshipType: COMPUTE_INSTANCE_USE_DISK
updateTime: '2023-12-19T23:35:42.673842Z'

Cuando usas el tipo de contenido RELATIONSHIP, en lugar de solicitar todas las relaciones, puedes solicitar tipos de relaciones específicos.

¿Qué sigue?