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 de vos éléments Google Cloud . Voici quelques exemples de tâches pour lesquelles vous pouvez utiliser inventaire des éléments cloud :

  • Découverte et gestion des ressources : filtrez par propriétés de métadonnées telles que l'emplacement, la date de création, les tags et l'état.
  • Surveillance des ressources : suivez les modifications apportées à une ressource au fil du temps pour créer un journal d'audit, déboguer les problèmes et gérer la dérive de conformité.
  • Audits de sécurité et de coûts : identifiez les ressources qui disposent d'autorisations excessives, qui sont exposées publiquement ou qui ne sont pas utilisées pour minimiser la surface d'attaque et optimiser les coûts.

L'historique de création, de mise à jour et de suppression des composants est conservé pendant 35 jours maximum. Les composants qui n'ont pas changé au cours des 35 derniers jours renvoient leur dernier état.

Utiliser des composants dans Google Cloud

Voici comment vous pouvez travailler avec vos composants :

Sources des métadonnées des composants

Les métadonnées des composants 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.

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

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

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 éléments. Selon la méthode que vous utilisez et le niveau de détail de la réponse souhaité, vous devrez peut-être spécifier les types d'assets, leurs noms et les types de contenu dans vos requêtes.

Types d'éléments

Certaines méthodes Cloud Asset Inventory renvoient des résultats basés sur les types d'éléments. Les types d'éléments incluent les ressources Google Cloud , les règles, les informations sur l'exécution de l'inventaire du système d'exploitation et les relations. Les types d'éléments disponibles et les méthodes inventaire des éléments cloud qui les acceptent sont détaillés dans Types d'éléments.

Noms des composants

Certaines méthodes Cloud Asset Inventory renvoient des résultats basés sur les noms des éléments. Lorsque vous spécifiez un nom de composant, vous devez utiliser son nom complet. Pour obtenir la liste des noms de ressources complets, consultez Noms des composants.

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. Elle contient des informations telles que le nom de l'élément, la dernière fois qu'il a été mis à jour, ainsi que les projets, dossiers et organisations auxquels il appartient.

Les noms des types de contenu diffèrent selon la façon dont vous interagissez avec l'inventaire des éléments cloud. Les noms des API RPC et REST sont identiques. Toutefois, les noms de types de contenu de la gcloud CLI suivent un modèle différent. Pour plus de cohérence et de clarté, le reste de cette documentation fait référence aux types de contenu par leurs noms RPC et REST.

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

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

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

De nombreux éléments Google Cloud sont reliés entre eux 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 depuis le 30 mai 2022. Une relation peut avoir son propre code temporel de mise à jour, car elle peut être déduite à un moment différent de celui de la mise à jour de l'élément source.

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

RESOURCE resource Métadonnées de la ressource.

Comment les réponses changent en fonction du 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 les instances de VM, vous ne recevez que les noms des instances, la dernière fois qu'elles ont été mises à jour, ainsi que les projets, dossiers et 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 RELATIONSHIP

Les relations nécessitent d'avoir 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 ressources associées 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, vous pouvez demander des types de relations spécifiques au lieu de demander toutes les relations.

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'

Fraîcheur des données

Inventaire des éléments cloud offre une cohérence à terme pour les données actuelles et une cohérence au mieux pour les données historiques. Bien que cela soit rare, il est possible que l'inventaire des éléments cloud manque certaines mises à jour de données.

Sauf indication contraire dans le tableau des types de ressources, presque toutes les mises à jour des composants sont disponibles en quelques minutes.

Étapes suivantes