Vista geral do Cloud Asset Inventory

O Cloud Asset Inventory é um serviço de inventário de metadados global que lhe permite ver, pesquisar, exportar, monitorizar e analisar os seus Google Cloud metadados de recursos, com um histórico de criação, atualização e eliminação de até 35 dias. Os recursos que não foram alterados nos últimos 35 dias comunicam o respetivo estado mais recente.

Os metadados dos recursos podem ser provenientes dos seguintes locais:

  • Google Cloud recursos, como instâncias de VM do Compute Engine, contentores do Cloud Storage e instâncias do App Engine.

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

  • Informações de tempo de execução de OS Inventory Management.

Veja como pode trabalhar com os seus recursos:

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

O Cloud Asset Inventory oferece vários métodos para interagir com os seus recursos. Consoante o método que usar e os detalhes da resposta que quer, pode ter de especificar os tipos de recursos, os nomes dos recursos e os tipos de conteúdo nos seus pedidos.

Tipos de recursos

Alguns métodos do Cloud Asset Inventory devolvem resultados com base nos tipos de recursos. Os tipos de recursos incluem informações de recursos, políticas, tempo de execução do inventário do SO e relações. Google Cloud Os tipos de recursos disponíveis e os métodos do Cloud Asset Inventory que os suportam estão detalhados em Tipos de recursos.

Nomes dos recursos

Alguns métodos do Cloud Asset Inventory devolvem resultados com base nos nomes dos recursos. Quando especificar um nome de recurso, tem de usar o nome do recurso completo. Consulte Nomes de recursos para ver uma lista completa dos nomes dos recursos.

Tipos de conteúdo

Pode pedir metadados adicionais num recurso especificando um tipo de conteúdo de metadados. Se não especificar um tipo de conteúdo, é devolvida apenas uma resposta básica com informações como o nome do recurso, a última vez que foi atualizado e a que projetos, pastas e organizações pertence.

Os nomes dos tipos de conteúdo diferem consoante a forma como interage com o Cloud Asset Inventory. Os nomes das APIs RPC e REST são iguais. No entanto, os nomes dos tipos de conteúdo da CLI gcloud seguem um padrão diferente. Para consistência e facilidade de explicação, o resto desta documentação refere-se aos tipos de conteúdo pelos respetivos nomes RPC e REST.

A tabela seguinte detalha os tipos de conteúdo e as respetivas descrições:

Tipo de conteúdo Descrição
Nome de RPC e REST Nome da CLI gcloud  
ACCESS_POLICY access-policy A política do Gestor de acesso sensível ao contexto definida num recurso.
IAM_POLICY iam-policy A associação de metadados da Política IAM ao recurso.
ORG_POLICY org-policy Os metadados da política de organização definidos num recurso. Este tipo de conteúdo gera a política da organização v1 antiga. Para a política da organização v2, experimente o tipo de conteúdo resource e um tipo de recurso de orgpolicy.googleapis.com/Policy.
OS_INVENTORY os-inventory As informações de inventário do SO do tempo de execução. Para ativar o inventário do SO, conclua os passos relevantes em Configure o VM Manager.
RELATIONSHIP relationship

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

Muitos Google Cloud recursos estão ligados entre si por relações. Por exemplo, um grupo de instâncias de computação pode conter uma instância de computação ou um cluster do GKE pode conter um .

Os dados de relação estão disponíveis a partir de 30 de maio de 2022. Uma relação pode ter a sua própria data/hora de atualização, porque pode ser inferida num momento diferente do das atualizações do recurso de origem.

Consulte os Tipos de relações para ver uma lista das relações suportadas.

RESOURCE resource Os metadados do recurso.

Como as respostas mudam com o tipo de conteúdo

Os exemplos seguintes mostram como as respostas mudam quando lista instâncias de VMs num projeto através do Cloud Asset Inventory com diferentes tipos de conteúdo.

Nenhum tipo de conteúdo

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

Expanda para ver um 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 especificar o tipo de conteúdo IAM_POLICY, também recebe as associações da IAM na VM, se existirem.

Expanda para ver um 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 especificar o tipo de conteúdo RESOURCE, também recebe todos os metadados associados à VM.

Expanda para ver um 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 requerem acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist.

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

Expanda para ver um 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'

Quando usar o tipo de conteúdo RELATIONSHIP, em vez de pedir todas as relações, pode pedir tipos de relações específicos.

Atualidade dos dados

O Cloud Asset Inventory oferece consistência eventual nos dados atuais e consistência de melhor esforço nos dados do histórico. Embora seja raro, é possível que o Cloud Asset Inventory não detete algumas atualizações de dados.

Salvo indicação em contrário na tabela de tipos de recursos, quase todas as atualizações de recursos estão disponíveis em minutos.

O que se segue?