Cloud Asset Inventory è un servizio di inventario di metadati globale che ti consente di visualizzare, cercare, esportare, monitorare e analizzare i metadati degli asset Google Cloud . Le attività per cui potresti utilizzare Cloud Asset Inventory includono:
- Rilevamento e gestione delle risorse: filtra per proprietà dei metadati come posizione, ora di creazione, tag e stato.
- Monitoraggio delle risorse: tieni traccia delle modifiche apportate a una risorsa nel tempo per creare un audit trail, eseguire il debug dei problemi e gestire la deriva della conformità.
- Controlli di sicurezza e costi: trova risorse con autorizzazioni eccessive, esposte pubblicamente o inutilizzate per ridurre al minimo la superficie di attacco e ottimizzare i costi.
La cronologia di creazione, aggiornamento ed eliminazione degli asset viene conservata per un massimo di 35 giorni. Gli asset che non sono stati modificati negli ultimi 35 giorni restituiscono il loro stato più recente.
Lavorare con gli asset in Google Cloud
Ecco come puoi lavorare con gli asset:
Elenca gli asset e le relative relazioni in un determinato progetto, cartella o organizzazione e ottieni la cronologia degli asset fino a 35 giorni prima.
Cerca le tue risorse e le relative policy di autorizzazione IAM utilizzando un linguaggio di query personalizzatooppure esegui query sugli asset con BigQuery SQL.
Esporta i metadati degli asset in BigQuery o Cloud Storage.
Analizza cosa succederebbe se una risorsa venisse spostata in un altro progetto.
Analizza le policy IAM e dell'organizzazione sulle risorse e visualizza le policy IAM effettive sulle risorse per vedere chi ha accesso a cosa.
Monitora le modifiche apportate alle tue risorse configurando e sottoscrivendo un feed.
Genera approfondimenti dalle tue risorse per migliorare la tua postura di sicurezza.
Origini dei metadati delle risorse
I metadati delle risorse possono provenire da:
Google Cloud risorse, come istanze VM di Compute Engine, bucket Cloud Storage e istanze App Engine.
Policy impostate sulle risorse Google Cloud , ad esempio policy IAM, policy dell'organizzazione e policy Gestore contesto accesso.
Informazioni sul runtime da OS Inventory Management.
Tipi di asset, nomi degli asset e tipi di contenuti
Cloud Asset Inventory offre diversi metodi per interagire con gli asset. A seconda del metodo utilizzato e dei dettagli della risposta che vuoi, potresti dover specificare i tipi di asset, i nomi degli asset e i tipi di contenuti nelle richieste.
Tipi di asset
Alcuni metodi di Cloud Asset Inventory restituiscono risultati in base ai tipi di asset. I tipi di asset includono Google Cloud risorse, policy, informazioni sul runtime dell'inventario del sistema operativo e relazioni. I tipi di asset disponibili e i metodi Cloud Asset Inventory che li supportano sono descritti in dettaglio in Tipi di asset.
Nomi degli asset
Alcuni metodi Cloud Asset Inventory restituiscono risultati basati sui nomi degli asset. Quando specifichi il nome di un asset, devi utilizzare il nome completo della risorsa. Consulta Nomi degli asset per un elenco dei nomi completi delle risorse.
Tipi di contenuti
Puoi richiedere metadati aggiuntivi su una risorsa specificando un tipo di contenuto dei metadati. Se non specifichi un tipo di contenuti, viene restituita solo una risposta di base, che contiene informazioni come il nome dell'asset, l'ultima volta che è stato aggiornato e i progetti, le cartelle e le organizzazioni a cui appartiene.
I nomi dei tipi di contenuti variano a seconda di come interagisci con Cloud Asset Inventory. I nomi delle API RPC e REST sono gli stessi. Tuttavia, i nomi dei tipi di contenuti gcloud CLI seguono un pattern diverso. Per coerenza e facilità di spiegazione, il resto di questa documentazione fa riferimento ai tipi di contenuti in base ai nomi RPC e REST.
La seguente tabella mostra i tipi di contenuti e le relative descrizioni:
| Tipo di contenuti | Descrizione | |
|---|---|---|
| Nome RPC e REST | Nome di gcloud CLI | |
ACCESS_POLICY |
access-policy |
Il Gestore contesto accesso impostato su un asset. |
IAM_POLICY |
iam-policy |
L'associazione dei metadati del criterio IAM alla risorsa. |
ORG_POLICY |
org-policy |
I metadati del criterio dell'organizzazione impostati su un asset. Questo tipo di contenuti
genera la versione 1 delle norme dell'organizzazione precedenti. Per la policy dell'organizzazione v2, prova
il tipo di contenuti resource e un tipo di risorsa
orgpolicy.googleapis.com/Policy.
|
OS_INVENTORY |
os-inventory |
Le informazioni sull'inventario del sistema operativo di runtime. Per attivare l'inventario del sistema operativo, completa i passaggi pertinenti in Configurare VM Manager. |
RELATIONSHIP |
relationship |
Richiede l'accesso al livello Premium o Enterprise di Security Command Center, o Gemini Cloud Assist. Molte Google Cloud risorse sono collegate tra loro da relazioni. Ad esempio, un gruppo di istanze di Compute può contenere un'istanza di Compute oppure un cluster GKE può contenere un nodo. I dati sulle relazioni sono disponibili a partire dal 30 maggio 2022. Una relazione potrebbe avere un proprio timestamp di aggiornamento, perché potrebbe essere dedotta in un momento diverso rispetto agli aggiornamenti della risorsa di origine. Consulta Tipi di relazione per un elenco delle relazioni supportate. |
RESOURCE |
resource |
I metadati della risorsa. |
Come cambiano le risposte in base al tipo di contenuti
Gli esempi seguenti mostrano come cambiano le risposte quando vengono elencate le istanze VM in un progetto tramite Cloud Asset Inventory con diversi tipi di contenuti.
Nessun tipo di contenuti
Se non specifichi alcun tipo di contenuti quando elenchi le istanze VM, ricevi solo i nomi delle istanze, l'ultima volta che sono state aggiornate e i progetti, le cartelle e le organizzazioni a cui appartengono.
Espandi per visualizzare un esempio di risposta
--- 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 di contenuti IAM_POLICY
Se specifichi il tipo di contenuti IAM_POLICY, ricevi anche i
binding IAM sulla VM, se presenti.
Espandi per visualizzare un esempio di risposta
---
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 di contenuti RELAZIONE
Le relazioni richiedono l'accesso al livello Premium o Enterprise di Security Command Center o a Gemini Cloud Assist.
Se specifichi il tipo di contenuti RELATIONSHIP, ricevi anche i metadati
associati alle risorse correlate dell'istanza VM.
Espandi per visualizzare un esempio di risposta
--- 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 utilizzi il tipo di contenuti RELATIONSHIP, anziché richiedere tutte le relazioni, puoi richiedere tipi di relazioni specifici.
Tipo di contenuti RESOURCE
Se specifichi il tipo di contenuti RESOURCE, ricevi anche tutti i metadati
associati alla VM.
Espandi per visualizzare un esempio di risposta
---
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'Aggiornamento dei dati
Cloud Asset Inventory fornisce coerenza finale sui dati attuali e coerenza ottimale sui dati storici. Sebbene rari, è possibile che Cloud Asset Inventory non rilevi alcuni aggiornamenti dei dati.
Se non diversamente indicato nella tabella Tipi di risorse, quasi tutti gli aggiornamenti degli asset sono disponibili in pochi minuti.