Cloud Asset Inventory 是一項全球中繼資料資產管理服務,可讓您查看、搜尋、匯出、監控及分析 Google Cloud 資產中繼資料,並提供最多 35 天的建立、更新和刪除記錄。如果素材資源在過去 35 天內沒有變更,系統會回報最新狀態。
資產中繼資料可能來自下列位置:
Google Cloud 資源,例如 Compute Engine VM 執行個體、Cloud Storage 值區和 App Engine 執行個體。
在 Google Cloud 資源上設定的政策,例如 IAM 政策、組織政策和 Access Context Manager 政策。
執行階段資訊 (來自 OS 庫存管理服務)。
以下說明如何使用素材資源:
搜尋資源及其 IAM 允許政策 ,方法是使用自訂查詢語言,或透過 BigQuery SQL 查詢資產。
匯出資產中繼資料至 BigQuery 或 Cloud Storage。
分析資源的 IAM 和機構政策,並查看資源的有效 IAM 政策,瞭解哪些人具備哪些存取權。
監控資產變更,方法是設定及訂閱動態消息。
從資產產生洞察資料,有助於提升安全防護機制。
素材資源類型、素材資源名稱和內容類型
Cloud Asset Inventory 提供多種與資產互動的方法。視您使用的方法和所需的回應詳細資料而定,您可能需要在要求中指定資產類型、資產名稱和內容類型。
資產類型
部分 Cloud Asset Inventory 方法會根據資產類型傳回結果。資產類型包括 Google Cloud 資源、政策、OS 庫存執行階段資訊和關係。如要瞭解可用的資產類型,以及支援這些類型的 Cloud Asset Inventory 方法,請參閱「資產類型」。
資產名稱
部分 Cloud Asset Inventory 方法會根據資產名稱傳回結果。指定資產名稱時,請務必使用完整資源名稱。如需完整的資源名稱清單,請參閱「資產名稱」。
內容類型
如要要求資源的額外中繼資料,請指定中繼資料內容類型。如果未指定內容類型,系統只會傳回基本回應,其中包含資產名稱、上次更新時間,以及所屬專案、資料夾和機構等資訊。
內容類型名稱會因您與 Cloud Asset Inventory 的互動方式而異。 RPC 和 REST API 名稱相同。不過,gcloud CLI 內容類型名稱採用不同模式。為求一致性並方便說明,本文件其餘部分會以 RPC 和 REST 名稱來稱呼內容類型。
下表詳細列出內容類型和說明:
| 內容類型 | 說明 | |
|---|---|---|
| RPC 和 REST 名稱 | gcloud CLI 名稱 | |
ACCESS_POLICY |
access-policy |
資產上設定的 Access Context Manager 政策。 |
IAM_POLICY |
iam-policy |
繫結至資源的 IAM 政策中繼資料。 |
ORG_POLICY |
org-policy |
資產上設定的機構政策中繼資料。這類內容會輸出舊版組織政策 v1。如果是機構政策 v2,請嘗試 resource 內容類型和 orgpolicy.googleapis.com/Policy 資源類型。
|
OS_INVENTORY |
os-inventory |
執行階段 OS 庫存資訊。如要啟用 OS 庫存,請完成「設定 VM 管理員」中的相關步驟。 |
RELATIONSHIP |
relationship |
需要存取 Security Command Center 進階或 Enterprise 方案,或 Gemini Cloud Assist。 許多 Google Cloud 資產會透過關係相互連結。舉例來說,Compute 執行個體群組可以包含 Compute 執行個體,而 GKE 叢集可以包含 節點。 關係資料自 2022 年 5 月 30 日起提供。關係可能有自己的更新時間戳記,因為關係的推斷時間可能與來源資產的更新時間不同。 如需支援的關係清單,請參閱「 關係類型」。 |
RESOURCE |
resource |
資源的中繼資料。 |
不同內容類型對回覆的影響
下列範例顯示透過 Cloud Asset Inventory 列出專案中的 VM 執行個體時,不同內容類型會如何影響回應。
沒有內容類型
列出 VM 執行個體時,如果未指定任何內容類型,您只會收到執行個體名稱、上次更新時間,以及所屬專案、資料夾和機構。
展開可查看回覆範例
--- 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'
IAM_POLICY 內容類型
如果您指定 IAM_POLICY 內容類型,系統也會提供 VM 的 IAM 繫結 (如有)。
展開可查看回覆範例
---
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'RESOURCE 內容類型
如果您指定 RESOURCE 內容類型,也會收到與 VM 相關聯的所有中繼資料。
展開可查看回覆範例
---
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'RELATIONSHIP 內容類型
如要使用關係功能,必須具備Security Command Center Premium 或 Enterprise 級別的存取權,或是 Gemini Cloud Assist。
如果您指定 RELATIONSHIP 內容類型,也會收到與 VM 執行個體相關資產相關聯的中繼資料。
展開可查看回覆範例
--- 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'
使用 RELATIONSHIP 內容類型時,您可以要求特定關係類型,不必要求所有關係。
資料更新間隔
Cloud Asset Inventory 會對目前資料提供最終一致性,並盡力確保歷來資料的一致性。雖然機率很低,但 Cloud Asset Inventory 可能會遺漏部分資料更新。
除非資源類型表格中另有註明,否則幾乎所有資產更新都會在幾分鐘內完成。