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.
- 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:
Liste os seus recursos e as respetivas relações num projeto, numa pasta ou numa organização específicos e aceda ao histórico de recursos até 35 dias anteriores.
Pesquise os seus recursos e as respetivas políticas de autorização da IAM através de uma linguagem de consulta personalizada.
Exporte os metadados dos seus recursos para o BigQuery ou o Cloud Storage.
Gere estatísticas a partir dos seus recursos para ajudar a melhorar a sua postura de segurança.
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.
|
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 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.
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.