Présentation de l'inventaire des éléments Cloud

L'inventaire des éléments cloud est un service d'inventaire de métadonnées global qui vous permet d'afficher, de rechercher, d'exporter, de surveiller et d'analyser les métadonnées des éléments Google Cloud , avec un historique de création, de modification et de suppression allant jusqu'à 35 jours. Les composants qui n'ont pas changé au cours des 35 derniers jours indiquent leur dernier état.

Les métadonnées des éléments peuvent provenir des sources suivantes:

  • Google Cloud ressources, telles que les instances de VM Compute Engine, les buckets Cloud Storage et les instances App Engine.

  • Stratégies définies sur les ressources Google Cloud , telles que les stratégies IAM, les règles d'administration et les stratégies d'Access Context Manager.

  • Informations d'exécution provenant de la gestion de l'inventaire du système d'exploitation.

Voici comment utiliser vos composants:

Types d'éléments, noms d'éléments et types de contenu

Inventaire des éléments cloud propose plusieurs méthodes pour interagir avec vos composants. Selon la méthode que vous utilisez et les détails de réponse souhaités, vous devrez peut-être spécifier des types d'éléments, des noms d'éléments et des types de contenu dans vos requêtes.

Types d'éléments

Certaines méthodes de Cloud Asset Inventory renvoient des résultats en fonction des types d'éléments. Les types d'assets incluent les ressources, les règles, les informations d'exécution de l'inventaire de l'OS et les relations Google Cloud . Les types d'éléments disponibles et les méthodes inventaire des éléments cloud qui les prennent en charge sont détaillés dans la section Types d'éléments.

Noms des composants

Certaines méthodes de Cloud Asset Inventory renvoient des résultats en fonction des noms des composants. Lorsque vous spécifiez un nom d'asset, vous devez utiliser son nom de ressource complet. Pour obtenir la liste complète des noms de ressources, consultez la section Noms d'éléments.

Types de contenus

Vous pouvez demander des métadonnées supplémentaires sur une ressource en spécifiant un type de contenu de métadonnées. Si vous ne spécifiez pas de type de contenu, seule une réponse de base est renvoyée, contenant des informations telles que le nom de l'élément, la dernière fois qu'il a été mis à jour, ainsi que les projets, les dossiers et les organisations auxquels il appartient.

Les noms des types de contenu diffèrent selon la manière dont vous interagissez avec inventaire des éléments cloud. Les noms des API RPC et REST sont identiques. Toutefois, les noms de type de contenu de gcloud CLI suivent un modèle différent. Pour des raisons de cohérence et de facilité d'explication, le reste de cette documentation fait référence aux types de contenu par leur nom RPC et REST.

Le tableau suivant détaille les types de contenu et leurs descriptions:

Type de contenu Description
Nom des RPC et REST Nom de gcloud CLI  
ACCESS_POLICY access-policy Stratégie Access Context Manager définie sur un composant.
IAM_POLICY iam-policy Métadonnées de la stratégie IAM associées à la ressource.
ORG_POLICY org-policy Métadonnées de la règle d'administration de l'organisation définies sur un composant. Ce type de contenu génère l'ancienne version 1 des règles d'administration. Pour la version 2 de la stratégie de l'organisation, essayez le type de contenu resource et un type de ressource orgpolicy.googleapis.com/Policy.
OS_INVENTORY os-inventory Informations sur l'inventaire du système d'exploitation au moment de l'exécution. Pour activer l'inventaire d'OS, suivez les étapes décrites dans la section Configurer VM Manager.
RELATIONSHIP relationship

Nécessite un accès au niveau Premium ou Enterprise de Security Command Center ou à Gemini Cloud Assist.

De nombreux éléments Google Cloud sont reliés les uns aux autres par des relations. Par exemple, un groupe d'instances Compute peut contenir une instance Compute, ou un cluster GKE peut contenir un nœud.

Les données sur les relations sont disponibles à partir du 30 mai 2022. Une relation peut avoir son propre code temporel de mise à jour, car elle peut être inférée à un moment différent de celui de la mise à jour de l'élément source.

Pour obtenir la liste des relations acceptées, consultez la section Types de relations.

RESOURCE resource Métadonnées de la ressource.

Comment les réponses changent selon le type de contenu

Les exemples suivants montrent comment les réponses changent lorsque vous listez des instances de VM dans un projet via inventaire des éléments cloud avec différents types de contenu.

Aucun type de contenu

Si vous ne spécifiez aucun type de contenu lorsque vous listez des instances de VM, vous ne recevez que les noms des instances, la date de leur dernière mise à jour, ainsi que les projets, les dossiers et les organisations auxquels elles appartiennent.

Développer pour voir un exemple de réponse

---
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'

Type de contenu IAM_POLICY

Si vous spécifiez le type de contenu IAM_POLICY, vous recevez également les liaisons IAM sur la VM, le cas échéant.

Développer pour voir un exemple de réponse

---
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'

Type de contenu RESOURCE

Si vous spécifiez le type de contenu RESOURCE, vous recevez également toutes les métadonnées associées à la VM.

Développer pour voir un exemple de réponse

---
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'

Type de contenu RELATIONSHIP

Les relations nécessitent un accès au niveau Premium ou Enterprise de Security Command Center, ou à Gemini Cloud Assist.

Si vous spécifiez le type de contenu RELATIONSHIP, vous recevez également les métadonnées associées aux éléments associés de l'instance de VM.

Développer pour voir un exemple de réponse

---
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'

Lorsque vous utilisez le type de contenu RELATIONSHIP, au lieu de demander toutes les relations, vous pouvez demander des types de relations spécifiques.

Étape suivante