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. As tarefas para as quais pode usar o Cloud Asset Inventory incluem o seguinte:

  • Descoberta e gestão de recursos: filtre por propriedades de metadados, como localização, hora de criação, etiquetas e estado.
  • Monitorização de recursos: acompanhe as alterações a um recurso ao longo do tempo para criar uma pista de auditoria, depurar problemas e gerir a deriva da conformidade.
  • Auditorias de segurança e custos: encontre recursos com autorizações excessivas, expostos publicamente ou não usados para minimizar a superfície de ataque e otimizar os custos.

O histórico de criação, atualização e eliminação de recursos é mantido durante um período máximo de 35 dias. Os recursos que não foram alterados nos últimos 35 dias devolvem o respetivo estado mais recente.

Trabalhe com recursos em Google Cloud

Veja como pode trabalhar com os seus recursos:

Origens dos metadados dos recursos

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 do OS Inventory Management.

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 a secção 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, que contém informações como o nome do recurso, a última vez que foi atualizado e os projetos, as pastas e as organizações a que 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 de 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 Configurar o VM Manager.
RELATIONSHIP relationship

Requer acesso ao nível Security Command Center Premium ou Enterprise, ou 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 quando 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.

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

Expandir para ver 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 RELATIONSHIP

As relações requerem acesso ao nível Security Command Center Premium ou Enterprise, 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.

Expandir para ver 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.

Tipo de conteúdo RESOURCE

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

Expandir para ver 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'

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?