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 :
Lister vos composants et leurs relations dans un projet, un dossier ou une organisation spécifiques, et obtenir l'historique des composants jusqu'à 35 jours.
Recherchez vos ressources et leurs stratégies d'autorisation IAM à l'aide d'un langage de requête personnaliséou interrogez vos composants avec BigQuery SQL.
Exportez les métadonnées de vos composants vers BigQuery ou Cloud Storage.
Analysez ce qui se passerait si une ressource était déplacée vers un autre projet.
Analysez vos stratégies IAM et d'organisation sur les ressources, et affichez vos stratégies IAM applicables sur les ressources pour savoir qui a accès à quoi.
Surveillez les modifications apportées à vos composants en configurant un flux et en vous y abonnant.
Générez des insights à partir de vos composants pour améliorer votre stratégie de sécurité.
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.