Cloud Asset Inventory est un service d'inventaire de métadonnées mondial qui vous permet d'afficher, de rechercher, d'exporter, de surveiller et d'analyser les métadonnées de vos Google Cloud éléments, avec un historique de création, de mise à jour et de suppression pouvant aller 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:
RessourcesGoogle Cloud , telles que des instances de VM Compute Engine, des buckets Cloud Storage et des instances App Engine
Règles définies sur les ressources Google Cloud , telles que les règles IAM, les règles d'organisation et les règles Access Context Manager.
Informations d'exécution provenant de la gestion de l'inventaire du système d'exploitation.
Voici comment utiliser vos composants:
Listez vos éléments et leurs relations dans un projet, un dossier ou une organisation spécifiques, et consultez l'historique des éléments jusqu'à 35 jours en arrière.
Recherchez vos ressources et leurs règles 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'administration 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 et en vous abonnant à un flux.
Générez des insights à partir de vos composants pour améliorer votre stratégie de sécurité.
Types d'éléments, noms d'éléments et types de contenu
Cloud Asset Inventory propose plusieurs méthodes pour interagir avec vos composants. En fonction de la méthode que vous utilisez et des 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'éléments incluent les ressources Google Cloud , les règles, les informations d'exécution de l'inventaire de l'OS et les relations. Les types d'éléments disponibles et les méthodes Cloud Asset Inventory 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 Cloud Asset Inventory. Les noms des API RPC et REST sont identiques. Toutefois, les noms de type de contenu de la CLI gcloud 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 la CLI gcloud | |
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 Google Cloud composants 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 Cloud Asset Inventory 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.
Fraîcheur des données
Cloud Asset Inventory fournit une cohérence à terme sur les données actuelles et une cohérence au mieux des efforts sur les données historiques. Bien que cela soit rare, il est possible que l'inventaire des éléments cloud ne prenne pas en compte certaines mises à jour de données.
Sauf indication contraire dans le tableau des types de ressources, presque toutes les mises à jour d'éléments sont disponibles en quelques minutes.