在相同租用戶中為現有儲存體帳戶設定客戶自控金鑰

Azure 儲存體會加密待用儲存體帳戶中的所有資料。 根據預設,資料是以使用 Microsoft 管理的金鑰加密。 若要加強對加密金鑰的控制,您可以管理自己的金鑰。 客戶自控金鑰必須儲存在 Azure Key Vault 或 Key Vault 受控硬體安全模組 (HSM)。

本文說明如何在儲存體帳戶和金鑰保存庫位於相同租用戶中時,運用現有儲存體帳戶的客戶自控金鑰來設定加密。 客戶自控金鑰會儲存在金鑰保存庫中。

若要了解如何針對新的儲存體帳戶設定客戶自控金鑰,請參閱針對新的儲存體帳戶,設定 Azure 金鑰保存庫中的客戶自控金鑰

若要了解如何使用儲存在受控 HSM 中的客戶自控金鑰來設定加密,請參閱使用儲存在 Azure Key Vault 受控 HSM 中的客戶自控金鑰來設定加密

注意

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

設定金鑰保存庫

您可以使用新的或現有的金鑰保存庫來儲存客戶自控金鑰。 儲存體帳戶和金鑰保存庫可能位於相同租用戶的不同區域或訂用帳戶。 若要深入了解 Azure Key Vault,請參閱 Azure Key Vault 概觀什麼是 Azure Key Vault?

要將客戶自控金鑰用於 Azure 儲存體加密,必須為金鑰保存庫啟用虛刪除和清除保護。 依預設會在您建立新的金鑰保存庫啟用虛刪除,且無法停用。 您可以在建立金鑰保存庫期間或建立後啟用清除保護。

Azure Key Vault 支援透過 Azure RBAC 權限模型向 Azure RBAC 授權。 Microsoft 建議透過金鑰保存庫存取原則使用 Azure RBAC 權限模型。 如需詳細資訊,請參閱使用 Azure RBAC 授與權限至應用程式以存取 Azure Key Vault

若要了解如何使用 Azure 入口網站建立金鑰保存庫,請參閱快速入門:使用 Azure 入口網站建立金鑰保存庫。 在建立金鑰保存庫時,請選取 [啟用清除保護],如下圖所示。

Screenshot showing how to enable purge protection when creating a key vault.

若要在現有的金鑰保存庫上啟用清除保護,請遵循下列步驟:

  1. 在 Azure 入口網站中瀏覽至您的金鑰保存庫。
  2. 在 [設定] 之下選擇 [屬性]
  3. 在 [清除保護] 區段中,選擇 [啟用清除保護]

新增金鑰

接著,將金鑰新增至金鑰保存庫。 新增金鑰之前,請確定您已將金鑰保存庫密碼編譯人員角色指派給自己。

Azure 儲存體加密支援 2048、3072 和 4096 大小的 RSA 和 RSA-HSM 金鑰。 若要進一步了解支援的金鑰類型,請參閱關於金鑰

若要了解如何使用 Azure 入口網站來新增金鑰,請參閱快速入門:使用 Azure 入口網站從 Azure Key Vault 設定及擷取金鑰

選擇受控識別以授與金鑰保存庫的存取權

為現有儲存體帳戶啟用客戶自控金鑰時,您必須指定受控識別,以用來授權存取金鑰所在的金鑰保存庫。 受控識別必須有權存取金鑰保存庫中的金鑰。

授與金鑰保存庫存取權的受控識別可以是使用者指派或系統指派的受控識別。 若要深入了解系統指派與使用者指派的受控識別,請參閱受控識別類型

使用使用者指派的受控識別來授與存取權

當您為新的儲存體帳戶啟用客戶自控金鑰時,必須指定使用者指派的受控識別。 現有的儲存體帳戶上支援使用使用者指派的受控識別或系統指派的受控識別,以設定客戶自控金鑰。

當您使用使用者指派的受控識別來設定客戶自控金鑰時,會使用使用者指派的受控識別來授權存取包含金鑰的金鑰保存庫。 在設定客戶自控金鑰之前,必須先建立使用者指派的身分識別。

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

使用者指派的受控識別必須有權限可存取金鑰保存庫中的金鑰。 將 Key Vault 密碼編譯服務加密使用者角色指派給金鑰保存庫範圍內的使用者指派的受控識別,以授與這些權限。

您必須先將金鑰保存庫密碼編譯服務加密使用者角色指派給使用者指派的受控識別,範圍設為金鑰保存庫,才能利用使用者指派的受控識別來設定客戶自控金鑰。 此角色授與使用者指派的受控識別權限,以存取金鑰保存庫中的金鑰。 如需使用 Azure 入口網站指派 Azure RBAC 角色的詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色

使用 Azure 入口網站設定客戶自控金鑰時,您可以透過入口網站使用者介面來選取使用者指派的現有身分識別。

使用系統指派的受控識別來授與存取權

系統指派的受控識別會與 Azure 服務的執行個體相關聯,在此案例中為 Azure 儲存體帳戶。 您必須將系統指派的受控識別明確指派給儲存體帳戶,才能使用系統指派的受控識別,來授權存取您的客戶自控金鑰所在的金鑰保存庫。

只有現有的儲存體帳戶可以使用系統指派的身分識別來授與金鑰保存庫的存取權。 如果在帳戶建立時設定了客戶自控金鑰,新的儲存體帳戶就必須使用使用者指派的身分識別。

系統指派的受控識別必須有權限可存取金鑰保存庫中的金鑰。 將 Key Vault 密碼編譯服務加密使用者角色指派給金鑰保存庫範圍內的系統指派的受控識別,以授與這些權限。

您必須先將 Key Vault 密碼編譯服務加密使用者角色指派給系統指派的受控識別,範圍設定為金鑰保存庫,才能使用系統指派的受控識別來設定客戶自控金鑰。 此角色授與系統指派的受控識別權限,以存取金鑰保存庫中的金鑰。 如需使用 Azure 入口網站指派 Azure RBAC 角色的詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色

使用系統指派的受控識別在 Azure 入口網站中設定客戶自控金鑰時,系統指派的受控識別會在幕後指派給您的儲存體帳戶。

為現有帳戶設定客戶自控金鑰

使用客戶自控金鑰為現有的儲存體帳戶設定加密時,您可以選擇在相關聯的金鑰保存庫中有新版本可用時,自動更新用於 Azure 儲存體加密的金鑰版本。 或者,您可以明確指定在手動更新金鑰版本前要用於加密的金鑰版本。

當變更金鑰版本時 (無論是自動還是手動),根加密金鑰的保護會變更,但 Azure 儲存體帳戶中的資料會一直保持加密。 您不需要採取進一步動作以確保資料有受到保護。 輪換金鑰版本並不會影響效能。 沒有與輪替金鑰版本相關聯的停機。

為現有的儲存體帳戶設定客戶自控金鑰時,您可以使用系統指派或使用者指派的受控識別來授與金鑰保存庫的存取權。

注意

若要輪替金鑰,請在 Azure Key Vault 中建立新版的金鑰。 Azure 儲存體不會處理金鑰輪替,因此您必須對金鑰保存庫中的金鑰進行輪替管理。 您可以在 Azure Key Vault 中設定金鑰自動輪替,或手動輪替金鑰。

設定會自動更新金鑰版本的加密

Azure 儲存體可自動更新用於加密的客戶自控金鑰,以使用金鑰保存庫中的最新金鑰版本。 Azure 儲存體每天都會檢查金鑰保存庫中是否有新的金鑰版本。 有新版本可供使用時,Azure 儲存體就會自動使用最新版本的金鑰進行加密。

重要

Azure 儲存體每天只會檢查金鑰保存庫是否有新的金鑰版本一次。 當您輪替金鑰時,請務必等候 24 小時,再停用舊版金鑰。

若要在 Azure 入口網站中為現有帳戶設定會自動更新金鑰版本的客戶自控金鑰,請遵循下步驟:

  1. 瀏覽至您的儲存體帳戶。

  2. 在 [安全性 + 網路] 下方,選取 [加密]。 根據預設,金鑰管理會設定為 [Microsoft 自控金鑰],如下圖所示:

    Screenshot showing encryption options in Azure portal.

  3. 選取 [客戶自控金鑰] 選項。 如果帳戶先前已設定為具有手動更新金鑰版本的 [客戶自控金鑰],請選取頁面底部附近的 [變更金鑰]

  4. 選擇 [從 Key Vault 選取] 選項。

  5. 選取 [選取金鑰保存庫和金鑰]

  6. 選取包含您所要使用金鑰的金鑰保存庫。 您也可以建立新的金鑰保存庫。

  7. 從金鑰保存庫中選取金鑰。 您也可以建立新的金鑰。

    Screenshot showing how to select key vault and key in Azure portal.

  8. 選取用來驗證金鑰保存庫存取權的身分識別類型。 這些選項包括 [系統指派的] (預設值) 或 [使用者指派的]。 若要深入了解每種類型的受控識別,請參閱受控識別類型

    1. 如果您選取 [系統指派],就會在幕後為儲存體帳戶建立系統指派的受控識別 (如果尚不存在)。
    2. 如果您選取 [使用者指派的],則必須選取由使用者指派、且有權存取金鑰保存庫的現有身分識別。 若要了解如何建立使用者指派的身分識別,請參閱管理使用者指派的受控識別

    Screenshot showing how to select a user-assigned managed identity for key vault authentication.

  9. 儲存您的變更。

指定金鑰後,Azure 入口網站會指出已啟用金鑰版本的自動更新,並顯示目前用於加密的金鑰版本。 入口網站也會顯示用來授與金鑰保存庫存取權的受控識別類型,以及受控識別的主體識別碼。

Screenshot showing automatic updating of the key version enabled.

設定手動更新金鑰版本的加密

如果您想要手動更新金鑰版本,請在使用客戶自控金鑰設定加密時明確指定版本。 在此情況下,在金鑰保存庫中建立新版本時,Azure 儲存體將不會自動更新金鑰版本。 若要使用新的金鑰版本,您必須手動更新 Azure 儲存體加密所使用的版本。

若要在 Azure 入口網站中設定手動更新金鑰版本的客戶自控金鑰,請指定金鑰 URI,包括版本在內。 若要將金鑰指定為 URI,請遵循下列步驟:

  1. 若要在 Azure 入口網站中找出金鑰 URI,請巡覽至金鑰保存庫,然後選取 [金鑰] 設定。 選取所需的金鑰,並選取金鑰以檢視其版本。 選取金鑰版本以檢視該版本的設定。

  2. 複製 [金鑰識別碼] 欄位的值,以提供 URI。

    Screenshot showing key vault key URI in Azure portal.

  3. 在儲存體帳戶的 [加密金鑰] 設定中,選擇 [輸入金鑰 URI] 選項。

  4. 將您複製的 URI 貼到 [金鑰 URI] 欄位中。 在 URI 中省略金鑰版本,以啟用金鑰版本的自動更新。

    Screenshot showing how to enter key URI in Azure portal.

  5. 指定包含金鑰保存庫的訂閱。

  6. 指定系統指派或使用者指派的受控識別。

  7. 儲存您的變更。

變更金鑰

您可以隨時變更 Azure 儲存體加密所使用的金鑰。

注意

當您變更金鑰或金鑰版本時,根加密金鑰的保護會變更,但 Azure 儲存體帳戶中的資料會一直保持加密。 您不需要在電腦上執行其他動作,就可以確保您的資料受到保護。 變更金鑰或輪替金鑰版本不會影響效能。 沒有與變更金鑰或輪替金鑰版本相關聯的停機。

若要使用 Azure 入口網站來變更金鑰,請遵循下列步驟:

  1. 瀏覽至您的儲存體帳戶,並顯示 [加密] 設定。
  2. 選取金鑰保存庫,然後選擇新的金鑰。
  3. 儲存您的變更。

如果新金鑰位於不同的金鑰保存庫中,您必須授與受控識別在新保存庫中的金鑰存取權。 如果您選擇手動更新金鑰版本,您也必須更新金鑰保存庫 URI

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

若要暫時撤銷對使用客戶自控金鑰之儲存體帳戶的存取權,請停用金鑰保存庫中目前所使用的金鑰。 沒有與停用和重新啟用金鑰相關聯的效能影響或停機。

停用金鑰之後,客戶端即無法呼叫從 Blob 或其中繼資料讀取或寫入其中的作業。 如需哪些作業會失敗的資訊,請參閱撤銷使用客戶自控金鑰的儲存體帳戶存取權 (英文)。

警告

當您停用金鑰保存庫中的金鑰時,Azure 儲存體帳戶中的資料會保持加密狀態,但在您重新啟用金鑰之前,該金鑰會變成無法存取。

若要使用 Azure 入口網站停用客戶自控金鑰,請遵循下列步驟:

  1. 瀏覽至包含該金鑰的金鑰保存庫。

  2. 在 [物件] 下選取 [金鑰]

  3. 以滑鼠右鍵按一下該金鑰,然後選取 [停用]

    Screenshot showing how to disable a customer-managed key in the key vault.

切換回 Microsoft 管理的金鑰

您可以隨時使用 Azure 入口網站、PowerShell 或 Azure CLI,從客戶自控金鑰切換回 Microsoft 管理的金鑰。

若要在 Azure 入口網站中從客戶自控金鑰切換回 Microsoft 管理的金鑰,請遵循下列步驟:

  1. 瀏覽至您的儲存體帳戶。

  2. 在 [安全性 + 網路] 下方,選取 [加密]

  3. 將 [加密類型] 變更為 [Microsoft 管理的金鑰]

    Screenshot showing how to switch to Microsoft-managed keys for a storage account.

下一步