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:
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
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.