為 Azure 儲存體加密的客戶自控金鑰

您可以使用自己的加密金鑰來保護儲存體帳戶中的資料。 當你指定客戶管理的金鑰時,Azure 儲存體 會利用該金鑰來保護並控制對加密你資料的金鑰的存取。 客戶自控金鑰可提供更大的彈性來管理存取控制。

您必須使用下列其中一個 Azure 金鑰存放區來儲存客戶自控金鑰:

您可以建立自己的金鑰並儲存在金鑰保存庫或受控 HSM 中,或是使用 Azure Key Vault API 來產生金鑰。 儲存體帳戶與金鑰保存庫或受控 HSM 可以位於不同的 Microsoft Entra 租用戶、區域與訂用帳戶中。

注意

Azure Key Vault 和 Azure Key Vault 受控 HSM 支援使用相同的 API 和管理介面以進行客戶自控金鑰的設定。 Azure Key Vault 支援的任何動作也受 Azure Key Vault 受控 HSM 所支援。

關於由客戶管理的金鑰

下圖展示了 Azure 儲存體 如何利用 Microsoft Entra ID 以及金鑰庫或受管理的 HSM 來透過客戶管理的金鑰發出請求:

搭配 Microsoft Entra ID 與金鑰保存庫時,客戶自控金鑰在 Azure 儲存體中的運作方式示意圖。

下列清單說明圖表中編號的步驟:

  1. Azure Key Vault 系統管理員會將加密金鑰的權限授與受控識別。 受管理身份可以是您建立並管理的使用者指派管理身份,或是系統指派、與儲存帳號相關聯的受管理身份。
  2. Azure 儲存體系統管理員會使用客戶自控金鑰來設定儲存體帳戶的加密。
  3. Azure 儲存體使用 Azure Key Vault 系統管理員在步驟 1 中授與權限的受控識別,透過 Microsoft Entra ID 驗證對 Azure Key Vault 的存取。
  4. Azure 儲存體使用 Azure Key Vault 中的客戶自控金鑰來包裝帳戶加密金鑰。
  5. 對於讀寫操作,Azure 儲存體 會向 Azure Key Vault 發送請求,解封帳戶加密金鑰以執行加密與解密操作。

與儲存體帳戶相關聯的受控識別必須至少具備這些權限,才能存取 Azure Key Vault 中的客戶自控金鑰:

  • 封裝密鑰
  • 解開金鑰
  • get

如需有關金鑰權限的詳細資訊,請參閱金鑰類型、演算法和作業。

Azure 原則 提供內建的政策,要求儲存體帳戶必須為 Blob 儲存體和 Azure 檔案工作負載使用客戶管理的金鑰。 如需詳細資訊,請參閱 Azure 原則內建原則定義中的儲存體一節。

適用於佇列和資料表的客戶管理金鑰

當你啟用客戶管理的儲存金鑰時,儲存在佇列與表格儲存中的資料並不會自動受到客戶管理金鑰的保護。 你可以選擇在建立儲存帳號時,將這些服務納入此保護範圍。

若要深入了解如何建立儲存體帳戶並支援將客戶自控金鑰用於佇列和資料表,請參閱建立支援資料表和佇列使用客戶自控金鑰的帳戶。

當你為儲存帳號設定客戶管理金鑰時,Blob 儲存體 和 Azure 檔案儲存體 中的資料總是由客戶管理的金鑰保護。

啟用儲存體帳戶的客戶管理金鑰

當您為儲存體帳戶設定客戶自控金鑰時,Azure 儲存體會使用相關金鑰保存庫或受控 HSM 中的客戶自控金鑰,來包裝帳戶的根資料加密金鑰。 根加密金鑰的保護會變更,但 Azure 儲存體帳戶中的資料會一直保持加密。 您不需要採取額外措施來確保資料保持加密。 客戶自控金鑰的保護會立即生效。

您可以隨時切換客戶受控金鑰和 Microsoft 管理的金鑰。 如需有關 Microsoft 管理的金鑰詳細資訊,請參閱關於加密金鑰管理。

金鑰保存庫需求

存放金鑰的金鑰保險庫或管理型 HSM 必須符合以下要求:

  • 軟刪除已啟用。
  • 清除保護已啟用。
  • 金鑰是RSA或 RSA-HSM 金鑰。
  • 密鑰大小為 2048、3072 或 4096。

如需金鑰的相關詳細資訊,請參閱關於金鑰。

金鑰保險庫或管理式 HSM 會有相關費用。 如需詳細資訊,請參閱 金鑰保存庫 價格。

在相同租用戶中搭配金鑰保存庫的客戶自控金鑰

您可以將金鑰保存庫與儲存體帳戶設定在相同租用戶,或設定在不同的 Microsoft Entra 租用戶中。 若要了解在金鑰保存庫和儲存體帳戶位於相同的租用戶時如何使用客戶自控金鑰來設定 Azure 儲存體加密,請參閱下列其中一篇文章:

當你在同一租戶中啟用客戶管理的金鑰金鑰時,必須指定一個管理身份來授權存取包含該金鑰的金鑰金庫。 受管理身份可以是使用者指派或系統指派的受管身份:

  • 當您在建立儲存體帳戶時設定客戶自控金鑰,必須使用使用者指派的受控識別。
  • 當您在現有的儲存體帳戶上設定客戶自控金鑰時,您可以使用使用者指派的受控識別或系統指派的受控識別。

若要深入了解系統指派與使用者指派的受控識別,請參閱 Azure 資源受控識別。 若要了解如何建立及管理使用者指派的受控識別,請參閱管理使用者指派的受控識別。

在不同租用戶中搭配金鑰保存庫的客戶自控金鑰

若要了解在金鑰保存庫和儲存體帳戶位於不同 Microsoft Entra 租用戶中時如何使用客戶自控金鑰來設定 Azure 儲存體加密,請參閱下列其中一篇文章:

搭配受控 HSM 的客戶自控金鑰

您可以使用 Azure Key Vault 受控 HSM 為新的或現有帳戶設定客戶自控金鑰。 而且,您可以將客戶自控金鑰設定為與儲存體帳戶位於相同租用戶的受控 HSM,或位於不同租用戶的受控 HSM。 在受控 HSM 中設定客戶自控金鑰的流程與在金鑰保管庫中設定客戶自控金鑰的流程相同,但權限則略有不同 如需詳細資訊,請參閱使用儲存在 Azure Key Vault 受控 HSM 中的客戶自控金鑰來設定加密。

更新金鑰版本

為了遵循密碼學最佳實務,請定期輪換保護你儲存帳戶的金鑰,通常至少每兩年一次。 Azure 儲存體絕不會修改金鑰保存庫中的金鑰,但您可以設定金鑰變換原則,以根據您的合規性需求變換密鑰。 如需詳細資訊,請參閱在 Azure Key Vault 中設定加密金鑰自動輪替 (部分機器翻譯)。

在金鑰保存庫中輪替金鑰後,您必須更新儲存體帳戶的客戶管理金鑰設定,以使用新的金鑰版本。 客戶管理的金鑰支援自動及手動更新保護帳戶金鑰版本。 您可以決定在設定客戶自控金鑰時或更新設定時,要使用的方法。

當您修改金鑰或金鑰版本時,根加密金鑰的保護會變更,但 Azure 儲存體帳戶中的資料會一直保持加密。 您不需要採取額外行動來確保您的資料受到保護。 輪換金鑰版本不會影響效能。 輪替金鑰版本時,不會有停機時間。

重要

若要變換金鑰,請根據您的合規性需求,在金鑰保存庫或受控 HSM 中建立新版本的金鑰。 Azure 儲存體 不處理金鑰輪替,所以你必須在金鑰庫中管理金鑰的輪替。

當您輪替客戶管理金鑰所使用的金鑰時,該動作目前不會記錄到 Azure 儲存體的 Azure 監視器 記錄中。

自動更新金鑰版本

若要在有可用的新版本時自動更新客戶自控金鑰,請在您使用客戶自控金鑰啟用儲存體帳戶的加密時,省略金鑰版本。 如果你省略了金鑰版本,Azure 儲存體 會每天檢查金鑰庫或受管理的 HSM,尋找新版本的客戶管理金鑰。 如果有新的金鑰版本可用,Azure 儲存體 會自動使用最新版本的金鑰。

Azure 儲存體每天只會檢查金鑰保存庫是否有新的金鑰版本一次。 當你旋轉一個金鑰時,請等 24 小時再停用舊版本。

如果之前已將儲存體帳戶設定為手動更新金鑰版本並想要將其變更為自動更新,則可能需要將金鑰版本明確變更為空白字串。 如需如何執行該動作的詳細資料,請參閱設定會自動更新金鑰版本的加密。

手動更新金鑰版本

若要使用特定版本的金鑰進行 Azure 儲存體加密,請在使用客戶自控金鑰啟用儲存體帳戶的加密時指定該金鑰版本。 如果你指定金鑰版本,Azure 儲存體 會用該版本進行加密,直到你手動更新金鑰版本為止。

當你明確指定金鑰版本時,必須手動更新儲存帳號,讓它使用新的金鑰版本 URI。 若要了解如何將儲存體帳戶更新為使用新版本的金鑰,請參閱使用儲存在 Azure Key Vault 中的客戶自控金鑰來設定加密,或使用儲存在 Azure Key Vault 受控 HSM 中的客戶自控金鑰來設定加密。

撤銷使用客戶自控金鑰的儲存體帳戶存取權

若要撤銷使用客戶自控金鑰的儲存體帳戶存取權,請停用金鑰保存庫中的金鑰。 若要了解如何停用密鑰,請參閱撤銷使用客戶自控金鑰的儲存體帳戶存取權 (部分機器翻譯)。

在金鑰被停用後,用戶端無法呼叫從資源或其元資料讀取或寫入的操作。 所有使用者嘗試呼叫這些操作都會因錯誤代碼 403(禁止)而失敗。

若要再次呼叫這些作業,請還原客戶自控金鑰的存取權。

所有未列於以下章節的資料操作,皆可在客戶管理的金鑰被撤銷或金鑰停用或刪除後繼續進行。

若要撤銷客戶自控金鑰的存取權,請使用 PowerShell 或 Azure CLI。

撤銷金鑰後失敗的 Blob 儲存體作業

撤銷金鑰後導致失敗的 Azure 檔案作業

供客戶管理的金鑰適用於 Azure 管理的磁碟

你也可以使用客戶管理的金鑰來管理 Azure 管理磁碟的加密。 客戶管理的金鑰對受管磁碟的運作方式與 Azure 儲存體 資源不同。 欲了解更多資訊,請參閱 Azure 管理磁碟的伺服器端加密。

下一步