Información general sobre Inventario de Recursos de Cloud

Inventario de Recursos de Cloud es un servicio de inventario de metadatos global que te permite ver, buscar, exportar, monitorizar y analizar los Google Cloud metadatos de tus recursos, con un historial de creación, actualización y eliminación de hasta 35 días. Los recursos que no han cambiado en los últimos 35 días muestran su estado más reciente.

Los metadatos de los recursos pueden proceder de los siguientes lugares:

  • Google Cloud recursos, como instancias de máquinas virtuales de Compute Engine, cubos de Cloud Storage e instancias de App Engine.

  • Políticas definidas en Google Cloud recursos, como políticas de gestión de identidades y accesos, políticas de organización y políticas de Access Context Manager.

  • Información de tiempo de ejecución de OS Inventory Management.

A continuación, te indicamos cómo puedes trabajar con tus recursos:

Tipos de recursos, nombres de recursos y tipos de contenido

Inventario de Recursos de Cloud ofrece varios métodos para interactuar con tus recursos. En función del método que utilices y del nivel de detalle que quieras obtener en la respuesta, es posible que tengas que especificar los tipos de recursos, los nombres de los recursos y los tipos de contenido en tus solicitudes.

Tipos de recursos

Algunos métodos de Inventario de recursos de Cloud devuelven resultados basados en tipos de recursos. Los tipos de recursos incluyen recursos, políticas, información de tiempo de ejecución del inventario del SO y relaciones. 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 recursos

Algunos métodos de Inventario de Recursos de Cloud devuelven resultados basados en nombres de recursos. Cuando especifique un nombre de recurso, debe usar su nombre de recurso completo. Consulta los nombres de recursos para ver una lista de nombres de recursos completos.

Tipos de contenido

Puedes solicitar metadatos adicionales de un recurso especificando un tipo de contenido de metadatos. Si no especificas un tipo de contenido, solo se devolverá una respuesta básica que contenga información como el nombre del recurso, la última vez que se actualizó y los proyectos, carpetas y organizaciones a los que pertenece.

Los nombres de los tipos de contenido varían en función de cómo interactúes con Inventario de Recursos de Cloud. Los nombres de las APIs RPC y REST son los mismos. Sin embargo, los nombres de tipo de contenido de la CLI de gcloud siguen un patrón diferente. Para mantener la coherencia y facilitar la explicación, en el resto de la 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 CLI de gcloud  
ACCESS_POLICY access-policy El conjunto de políticas de Administrador de contextos de acceso definido en un recurso.
IAM_POLICY iam-policy Metadatos de la política de gestión de identidades y accesos vinculada al recurso.
ORG_POLICY org-policy Los metadatos de la política de la organización definidos en un recurso. Este tipo de contenido genera la versión 1 de la política de organización antigua. En el caso de la política de organización v2, prueba con el tipo de contenido resource y el tipo de recurso orgpolicy.googleapis.com/Policy.
OS_INVENTORY os-inventory Información del inventario del SO del tiempo de ejecución. Para habilitar el inventario de SO, sigue los pasos correspondientes en Configurar VM Manager.
RELATIONSHIP relationship

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

Muchos Google Cloud recursos están conectados entre sí mediante 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 desde el 30 de mayo del 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 recurso de origen.

Consulta la sección Tipos de relaciones para ver una lista de las relaciones admitidas.

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 al enumerar instancias de VM en un proyecto a través del Inventario de Recursos de Cloud con diferentes tipos de contenido.

No hay tipo de contenido

Si no especifica ningún tipo de contenido al enumerar las instancias de VM, solo recibirá los nombres de las instancias, la última vez que se actualizaron y los proyectos, carpetas y organizaciones a los que pertenecen.

Desplegar para ver un 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 de la VM, si las hay.

Desplegar para ver un 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 RESOURCE

Si especifica el tipo de contenido RESOURCE, también recibirá todos los metadatos asociados a la máquina virtual.

Desplegar para ver un 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 metadatos asociados a los recursos relacionados de la instancia de VM.

Desplegar para ver un 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 se usa el tipo de contenido RELATIONSHIP, en lugar de solicitar todas las relaciones, se pueden solicitar tipos de relaciones específicos.

Actualización de datos

Cloud Asset Inventory ofrece coherencia final en los datos actuales y coherencia con el mejor esfuerzo en los datos históricos. Aunque es poco habitual, es posible que Cloud Asset Inventory no registre algunas actualizaciones de datos.

A menos que se indique lo contrario en la tabla de tipos de recursos, casi todas las actualizaciones de recursos están disponibles en cuestión de minutos.

Siguientes pasos