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:
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 personalizadaou 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 eficazes nos recursos para ver quem tem acesso a quê.
Monitorize as alterações aos seus recursos configurando e subscrevendo um feed.
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.
|
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 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 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.