根據預設,Compute Engine 會加密靜態儲存的客戶內容。Compute Engine 會自動使用 Google-owned and Google-managed encryption keys加密您的資料。
不過,您可以提供金鑰加密金鑰 (KEK),自訂 Compute Engine 用於資源的加密方式。金鑰加密金鑰不會直接加密您的資料,而是加密 Compute Engine 用來加密您資料的Google-owned and managed keys 。
您可以透過下列兩種方式提供金鑰加密金鑰:
建議做法:在 Cloud KMS 中使用 Compute Engine 的客戶管理加密金鑰 (CMEK)。使用 Cloud KMS 金鑰可讓您控管金鑰的防護等級、位置、輪替時間表、使用和存取權限,以及加密編譯邊界。使用 Cloud KMS 還可讓您追蹤金鑰使用情形、查看稽核記錄,以及控管金鑰生命週期。您可以在 Cloud KMS 中控制及管理用來保護資料的對稱金鑰加密金鑰 (KEK),而非由 Google 擁有及管理這些金鑰。
您可以手動建立 CMEK,也可以使用 Cloud KMS Autokey 自動建立。
在大多數情況下,建立 CMEK 加密磁碟後,您不必在使用磁碟時指定金鑰。
您可以在 Compute Engine 以外的地方管理自己的加密金鑰,並在建立或管理磁碟時提供金鑰。這個選項稱為「客戶提供的加密金鑰」 (CSEK)。管理 CSEK 加密資源時,請務必指定在加密資源時使用的金鑰。
如要進一步瞭解各加密類型,請參閱「客戶管理的加密金鑰」和「客戶提供的加密金鑰」。
如要為 Hyperdisk Balanced 磁碟多添一層安全防護,請啟用機密模式。機密模式會為 Hyperdisk Balanced 磁碟新增硬體加密功能。
支援的磁碟類型
本節列出 Compute Engine 提供的磁碟和其他儲存空間選項支援的加密類型。
永久磁碟磁碟區支援Google-owned and managed keys、CMEK 和 CSEK。
Google Cloud Hyperdisk 支援 CMEK 和Google-owned and managed keys。您無法使用 CSEK 加密 Hyperdisk。
本機 SSD 磁碟僅支援Google-owned and managed keys。您無法使用 CSEK 或 CMK 加密本機 SSD 磁碟。
使用 Cloud KMS Autokey 的 CMEK
如果您選擇使用 Cloud KMS 金鑰來保護 Compute Engine 資源,可以手動建立 CMEK,也可以使用 Cloud KMS Autokey 建立金鑰。使用 Autokey 時,系統會在 Compute Engine 建立資源時視情況產生金鑰環和金鑰。如果尚未建立使用金鑰進行加密和解密作業的服務代理程式,系統會在授予必要的 Identity and Access Management (IAM) 角色後建立這些代理程式。詳情請參閱Autokey 總覽。
如要瞭解如何使用 Cloud KMS Autokey 建立的 CMEK 保護 Compute Engine 資源,請參閱「在 Compute Engine 資源中使用 Autokey」。
快照
使用 Autokey 建立金鑰來保護 Compute Engine 資源時,Autokey 不會為快照建立新金鑰。您必須使用用來加密來源磁碟的相同金鑰來加密快照。如果您使用 Google Cloud 控制台建立快照,系統會自動將磁碟使用的加密金鑰套用至快照。如果您使用 gcloud CLI、Terraform 或 Compute Engine API 建立快照,就必須取得用於加密磁碟的金鑰資源 ID,然後使用該金鑰加密快照。
使用客戶管理的加密金鑰來加密磁碟
如要進一步瞭解如何使用手動建立的客戶自行管理加密金鑰 (CMEK) 來加密磁碟和其他 Compute Engine 資源,請參閱「使用 Cloud KMS 金鑰保護資源」一文。
使用客戶提供的加密金鑰來為磁碟加密
如要瞭解如何使用客戶提供的加密金鑰 (CSEK) 來加密磁碟和其他 Compute Engine 資源,請參閱「使用客戶提供的加密金鑰來加密磁碟」。
查看磁碟加密資訊
Compute Engine 中的磁碟會使用下列其中一種加密金鑰類型進行加密:
- Google-owned and managed keys
- 客戶自行管理的加密金鑰 (CMEK)
- 客戶提供的加密金鑰 (CSEK)
根據預設,Compute Engine 會使用 Google-owned and managed keys。
如要查看磁碟的加密類型,您可以使用 gcloud CLI、Google Cloud 控制台或 Compute Engine API。
主控台
前往 Google Cloud 控制台的「磁碟」頁面。
在「Name」欄中,按一下磁碟名稱。
在「Properties」表格中,標示為「Encryption」的資料列會指出加密類型:Google 管理、客戶管理或客戶提供。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
使用
gcloud compute disks describe
指令:gcloud compute disks describe DISK_NAME \ --zone=ZONE \ --format="json(diskEncryptionKey)"
更改下列內容:
PROJECT_ID
:您的專案 ID。ZONE
:磁碟所在的區域。DISK_NAME
:磁碟名稱。指令輸出
如果輸出結果是
null
,則磁碟會使用 Google-owned and managed key。否則,輸出內容會是 JSON 物件。
如果 JSON 物件包含名為
diskEncryptionKey
的欄位,磁碟就會加密。diskEncryptionKey
物件包含磁碟是否使用 CMEK 或 CSEK 加密的相關資訊:- 如果有
diskEncryptionKey.kmsKeyName
屬性,磁碟就會使用 CMEK 加密。kmsKeyName
屬性會指出用來加密磁碟的特定金鑰名稱:{ "diskEncryptionKey": { "kmsKeyName": "projects/my-proj/.." } }
- 如果有
diskEncryptionKey.sha256
屬性,磁碟就會使用 CSEK 加密。sha256
屬性是用於保護磁碟的客戶提供加密金鑰的 SHA-256 雜湊。{ "diskEncryptionKey": { "sha256": "abcdefghijk134560459345dssfd" } }
- 如果有
API
對 compute.disks.get
方法提出 POST
要求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
更改下列內容:
PROJECT_ID
:您的專案 ID。ZONE
:磁碟所在的區域。DISK_NAME
:磁碟名稱
要求回應
如果回應是 null
,磁碟會使用 Google-owned and managed key。
否則回應會是 JSON 物件。
如果 JSON 物件包含名為 diskEncryptionKey
的欄位,磁碟就會加密。diskEncryptionKey
物件包含磁碟是否使用 CMEK 或 CSEK 加密的相關資訊:
- 如果有
diskEncryptionKey.kmsKeyName
屬性,磁碟就會使用 CMEK 加密。kmsKeyName
屬性會指出用來加密磁碟的特定金鑰名稱:{ "diskEncryptionKey": { "kmsKeyName": "projects/my-proj/.." } }
- 如果有
diskEncryptionKey.sha256
屬性,磁碟就會使用 CSEK 加密。sha256
屬性是用於保護磁碟的客戶提供加密金鑰的 SHA-256 雜湊。{ "diskEncryptionKey": { "sha256": "abcdefghijk134560459345dssfd" } }
如果磁碟使用 CMEK,您可以按照「依專案查看金鑰」一文中的步驟,查看金鑰、金鑰環和位置的詳細資訊。
如果磁碟使用 CSEK,請與貴機構的管理員聯絡,瞭解金鑰的詳細資訊。使用 CMEK 時,您也可以透過金鑰使用情形追蹤功能,查看金鑰保護的資源。詳情請參閱「查看金鑰使用情形」。
Hyperdisk Balanced 的機密模式
如果您使用機密運算,只要啟用機密模式,即可將硬體加密功能擴充至 Hyperdisk Balanced 磁碟區。
啟用 Hyperdisk Balanced 磁碟區的機密模式後,您就能啟用額外安全防護機制,而無須重構應用程式。機密模式是您在建立新的 Hyperdisk Balanced 磁碟區時可以指定的屬性。
機密模式中的 Hyperdisk Balanced 磁碟區只能搭配機密 VM 使用。
如要在機密模式下建立 Hyperdisk Balanced 磁碟區,請按照「在機密模式下建立 Hyperdisk Balanced 磁碟區」中的步驟操作。
在機密模式下,支援 Hyperdisk Balanced 磁碟區的機器類型
在機密模式下,Hyperdisk Balanced 磁碟區只能與使用 N2D 機器類型的機密 VM 搭配使用。
在機密模式下,支援 Hyperdisk Balanced 磁碟區的地區
Hyperdisk Balanced 磁碟區的機密模式可在下列區域使用:
europe-west4
us-central1
us-east4
us-east5
us-south1
us-west4
機密模式下 Hyperdisk Balanced 磁碟區的限制
- Hyperdisk Extreme、Hyperdisk Throughput、Hyperdisk ML 和 Hyperdisk Balanced High Availability 不支援機密模式。
- 您無法暫停或恢復在機密模式中使用 Hyperdisk Balanced 磁碟區的 VM。
- 您無法在機密模式下,使用 Hyperdisk 儲存空間集區搭配 Hyperdisk Balanced 磁碟區。
- 您無法在機密模式下,透過 Hyperdisk Balanced 磁碟建立機器映像檔或自訂映像檔。
後續步驟
- 如要瞭解如何自動建立 CMEK,請參閱「使用 Autokey 的 Cloud KMS」(預先發布版)。
- 如要瞭解如何建立 CMEK,請參閱「使用 Cloud KMS 建立加密金鑰」。
- 使用客戶管理的加密金鑰 (CMEK)加密磁碟。
- 如要在機密模式中建立 Hyperdisk Balanced 磁碟區,請參閱「在機密模式中建立 Hyperdisk Balanced 磁碟區」一文。
- 進一步瞭解 CSEK 的格式和規格。