Visão geral do Inventário de recursos do Cloud

O Inventário de recursos do Cloud é um serviço de inventário de metadados global que permite visualizar, pesquisar, exportar, monitorar e analisar os metadados de recursos do Google Cloud , com até 35 dias de histórico de criação, atualização e exclusão. Os recursos que não mudaram nos últimos 35 dias informam o status mais recente.

Os metadados do recurso podem vir dos seguintes locais:

  • Recursos do , como instâncias de VM do Compute Engine, buckets do Cloud Storage e instâncias do App Engine.

  • Políticas definidas em recursos do Google Cloud , como políticas do IAM, políticas da organização e políticas do Access Context Manager.

  • Informações de execução do Gerenciamento de inventário do SO.

Confira como trabalhar com seus recursos:

Tipos de recursos, nomes de recursos e tipos de conteúdo

O Inventário de recursos do Cloud oferece vários métodos para interagir com seus recursos. Dependendo do método usado e dos detalhes de resposta que você quer, talvez seja necessário especificar tipos de recursos, nomes de recursos e tipos de conteúdo nas solicitações.

Tipos de recurso

Alguns métodos do Inventário de recursos do Cloud retornam resultados com base nos tipos de recursos. Os tipos de recurso incluem recursos do Google Cloud , políticas, informações de execução do inventário do SO e relacionamentos. Os tipos de recursos disponíveis e os métodos do Inventário de recursos do Cloud que oferecem suporte a eles estão detalhados em Tipos de recursos.

Nomes de recursos

Alguns métodos do Cloud Asset Inventory retornam resultados com base nos nomes dos recursos. Ao especificar um nome de recurso, use o nome completo do recurso. Consulte Nomes de recursos para conferir uma lista de nomes de recursos completos.

Tipos de conteúdo

É possível solicitar metadados adicionais em um recurso especificando um tipo de conteúdo de metadados. Se você não especificar um tipo de conteúdo, apenas uma resposta básica será retornada, contendo informações como o nome do recurso, a última vez que ele foi atualizado e a quais projetos, pastas e organizações ele pertence.

Os nomes dos tipos de conteúdo são diferentes dependendo de como você interage com o Inventário de recursos do Cloud. Os nomes das APIs RPC e REST são iguais. No entanto, os nomes de tipo de conteúdo da CLI gcloud seguem um padrão diferente. Para consistência e facilidade de explicação, o restante desta documentação se refere aos tipos de conteúdo pelos nomes RPC e REST.

A tabela a seguir detalha os tipos de conteúdo e as descrições deles:

Tipo de conteúdo Descrição
Nomes de RPC e REST Nome da CLI gcloud  
ACCESS_POLICY access-policy A política do Access Context Manager definida em um recurso.
IAM_POLICY iam-policy A vinculação de metadados da política do IAM ao recurso.
ORG_POLICY org-policy Os metadados da política da organização definidos em um recurso. Esse tipo de conteúdo gera a política de organização legada v1. Para a política da organização v2, tente o tipo de conteúdo resource e um tipo de recurso de orgpolicy.googleapis.com/Policy.
OS_INVENTORY os-inventory As informações do inventário do SO no tempo de execução. Para ativar o inventário do SO, conclua as etapas relevantes em Configurar o VM Manager.
RELATIONSHIP relationship

Requer acesso ao nível Premium ou Enterprise do Security Command Center, ou Gemini Cloud Assist.

Muitos ativos do Google Cloud estão conectados uns aos outros por relacionamentos. Por exemplo, um grupo de instâncias do Compute pode conter uma instância do Compute ou um cluster do GKE pode conter um .

Os dados de relacionamento vão estar disponíveis a partir de 30 de maio de 2022. Uma relação pode ter o próprio carimbo de data/hora de atualização, porque pode ser inferida em um momento diferente das atualizações do recurso de origem.

Consulte Tipos de relacionamento para conferir uma lista das relações com suporte.

RESOURCE resource Os metadados do recurso.

Como as respostas mudam com o tipo de conteúdo

Os exemplos a seguir mostram como as respostas mudam ao listar instâncias de VM em um projeto pelo Inventário de recursos do Cloud com diferentes tipos de conteúdo.

Nenhum tipo de conteúdo

Se você não especificar nenhum tipo de conteúdo ao listar instâncias de VM, receberá apenas os nomes das instâncias, a última vez que elas foram atualizadas e a quais projetos, pastas e organizações elas pertencem.

Abrir exemplo de resposta

---
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 conteúdo IAM_POLICY

Se você especificar o tipo de conteúdo IAM_POLICY, também receberá as vinculações do IAM na VM, se houver.

Abrir exemplo de resposta

---
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 conteúdo RESOURCE

Se você especificar o tipo de conteúdo RESOURCE, também vai receber todos os metadados associados à VM.

Abrir exemplo de resposta

---
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 conteúdo RELATIONSHIP

As relações exigem acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist.

Se você especificar o tipo de conteúdo RELATIONSHIP, também receberá metadados associados aos recursos relacionados à instância da VM.

Abrir exemplo de resposta

---
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'

Ao usar o tipo de conteúdo RELATIONSHIP, em vez de solicitar todos os relacionamentos, você pode solicitar tipos de relacionamento específicos.

A seguir