O Inventário de recursos do Cloud é um serviço global de inventário de metadados que permite visualizar, pesquisar, exportar, monitorar e analisar os metadados de Google Cloud recursos, com até 35 dias de histórico de criação, atualização e exclusão. Os recursos que não mudaram nos últimos 35 dias informam o status mais recente.
Os metadados do recurso podem vir dos seguintes locais:
Google Cloud recursos, como instâncias de VM do Compute Engine, buckets do Cloud Storage e instâncias do App Engine.
Políticas definidas em recursos Google Cloud , como políticas do IAM, da organização e do Access Context Manager.
Informações de execução do Gerenciamento de inventário do SO.
Confira como trabalhar com seus recursos:
Liste seus recursos e as relações deles em um projeto, uma pasta ou uma organização específica e consulte o histórico de recursos de até 35 dias atrás.
Pesquise seus recursos e as políticas de permissão do IAM usando uma linguagem de consulta personalizada ou consulte seus recursos com o BigQuery SQL.
Exporte os metadados do recurso para o BigQuery ou o Cloud Storage.
Analise o que aconteceria se um recurso fosse movido para outro projeto.
Analise suas políticas de IAM e da organização nos recursos e consulte suas políticas de IAM eficazes nos recursos para saber quem tem acesso a cada conteúdo.
Monitore seus recursos para detectar mudanças configurando e se inscrevendo em um feed.
Gerar insights dos seus recursos para melhorar sua postura de segurança.
Tipos de recursos, nomes de recursos e tipos de conteúdo
O Inventário de recursos do Cloud oferece vários métodos para interagir com seus recursos. Dependendo do método usado e dos detalhes de resposta desejados, talvez seja necessário especificar tipos de recursos, nomes de recursos e tipos de conteúdo nas solicitações.
Tipos de recurso
Alguns métodos do Inventário de recursos do Cloud retornam resultados com base nos tipos de recursos. Os tipos de recursos incluem Google Cloud recursos, políticas, informações de execução do inventário do SO e relacionamentos. Os tipos de recursos disponíveis e os métodos do Inventário de recursos do Cloud que oferecem suporte a eles estão detalhados em Tipos de recursos.
Nomes de recursos
Alguns métodos do Cloud Asset Inventory retornam resultados com base nos nomes dos recursos. Ao especificar um nome de recurso, use o nome completo do recurso. Consulte Nomes de recursos para conferir uma lista de nomes de recursos completos.
Tipos de conteúdo
É possível solicitar metadados adicionais em um recurso especificando um tipo de conteúdo de metadados. Se você não especificar um tipo de conteúdo, apenas uma resposta básica será retornada, contendo informações como o nome do recurso, a última vez que ele foi atualizado e a quais projetos, pastas e organizações ele pertence.
Os nomes dos tipos de conteúdo variam de acordo com a interação com o Cloud Asset Inventory. Os nomes das APIs RPC e REST são iguais. No entanto, os nomes de tipo de conteúdo da CLI gcloud seguem um padrão diferente. Para consistência e facilidade de explicação, o restante desta documentação se refere aos tipos de conteúdo pelos nomes RPC e REST.
A tabela a seguir detalha os tipos de conteúdo e as descrições deles:
| Tipo de conteúdo | Descrição | |
|---|---|---|
| Nomes de RPC e REST | Nome da CLI gcloud | |
ACCESS_POLICY |
access-policy |
A política do Access Context Manager definida em um recurso. |
IAM_POLICY |
iam-policy |
A vinculação de metadados da política do IAM ao recurso. |
ORG_POLICY |
org-policy |
Os metadados da política da organização definidos em um recurso. Esse tipo de conteúdo
gera a política de organização legada v1. Para a política da organização v2, tente
o tipo de conteúdo resource e um tipo de recurso de
orgpolicy.googleapis.com/Policy.
|
OS_INVENTORY |
os-inventory |
As informações do inventário do SO no tempo de execução. Para ativar o inventário do SO, conclua as etapas relevantes em Configurar o VM Manager. |
RELATIONSHIP |
relationship |
Requer acesso ao nível Premium ou Enterprise do Security Command Center, ou Gemini Cloud Assist. Muitos Google Cloud recursos são conectados entre si por relacionamentos. Por exemplo, um grupo de instâncias do Compute pode conter uma instância do Compute ou um cluster do GKE pode conter um nó. Os dados de relacionamento estão disponíveis a partir de 30 de maio de 2022. Uma relação pode ter o próprio carimbo de data/hora de atualização, porque pode ser inferida em um momento diferente das atualizações do recurso de origem. Consulte Tipos de relacionamento para conferir uma lista das relações com suporte. |
RESOURCE |
resource |
Os metadados do recurso. |
Como as respostas mudam com o tipo de conteúdo
Os exemplos a seguir mostram como as respostas mudam ao listar instâncias de VM em um projeto pelo Cloud Asset Inventory com diferentes tipos de conteúdo.
Nenhum tipo de conteúdo
Se você não especificar nenhum tipo de conteúdo ao listar instâncias de VM, receberá apenas os nomes das instâncias, a última vez que elas foram atualizadas e a quais projetos, pastas e organizações elas pertencem.
Abrir 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 você especificar o tipo de conteúdo IAM_POLICY, também receberá as vinculações do IAM na VM, se houver.
Abrir 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 você especificar o tipo de conteúdo RESOURCE, também vai receber todos os metadados
associados à VM.
Abrir 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 exigem acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist.
Se você especificar o tipo de conteúdo RELATIONSHIP, também receberá metadados
associados aos recursos relacionados à instância da VM.
Abrir 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'
Ao usar o tipo de conteúdo RELATIONSHIP, em vez de solicitar todos
os relacionamentos, você pode solicitar
tipos de relacionamento específicos.
Atualização de dados
O Inventário de recursos do Cloud oferece consistência eventual nos dados atuais e consistência de melhor esforço nos dados históricos. Embora seja raro, é possível que o Inventário de recursos do Cloud perca algumas atualizações de dados.
A menos que seja indicado na tabela tipos de recursos, quase todas as atualizações de recursos ficam disponíveis em minutos.