Panoramica di Cloud Asset Inventory

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:

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.

Passaggi successivi