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:
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 atrás.
Pesquise os seus recursos e as respetivas políticas de autorização do IAM através de uma linguagem de consulta personalizada ou consulte os seus recursos com o SQL do BigQuery.
Exporte os metadados dos seus recursos para o BigQuery ou o Cloud Storage.
Analise o que aconteceria se um recurso fosse movido para outro projeto.
Analise as suas políticas de IAM e da organização nos recursos e veja as suas políticas de IAM em vigor nos recursos para ver quem tem acesso a quê.
Monitorize os seus recursos para verificar se existem alterações configurando e subscrevendo um feed.
Gere estatísticas a partir dos seus recursos para ajudar a melhorar a sua postura de segurança.
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 nó. 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.