輪替和撤銷客戶自控金鑰

本文是四部分教學課程系列的第三部分。 第一部分提供客戶自控金鑰的概觀、其特性,以及在您的登錄上啟用此種金鑰前的考量。 在第二部分中,您會了解如何使用 Azure CLI、Azure 入口網站或 Azure Resource Manager 範本來啟用客戶自控金鑰。 本文將逐步引導您輪替、更新和撤銷客戶自控金鑰。

輪替客戶自控金鑰

若要輪替金鑰,您可以在 Azure Key Vault 中更新金鑰版本,或建立新的金鑰。 輪替金鑰時,您可以指定用來建立登錄的相同身分識別。

您可以選擇性地執行下列動作:

  • 設定新的使用者指派身分識別以存取金鑰。
  • 啟用並指定登錄的系統指派身分識別。

注意

若要在入口網站中啟用登錄的系統指派身分識別,請選取 [設定]>[身分識別],並將系統指派的身分識別狀態設定為 [開啟]

請確定已針對金鑰存取所設定的身分識別,設定所需的金鑰保存庫存取

使用 Azure CLI 建立或更新金鑰版本

若要建立新的金鑰版本,請執行 az keyvault key create 命令:

# Create new version of existing key
az keyvault key create \
  --name <key-name> \
  --vault-name <key-vault-name>

如果登錄設定為偵測金鑰版本更新,則客戶自控金鑰會在 1 小時內自動更新。

如果登錄設定為需要手動更新新的金鑰版本,請執行 az-acr-encryption-rotate-key 命令。 傳遞您要設定的新金鑰識別碼和身分識別。

提示

當您執行 az-acr-encryption-rotate-key 時,可以傳遞已設定版本的金鑰識別碼或未設定版本的金鑰識別碼。 如果您使用未設定版本的金鑰識別碼,則登錄會設定為自動偵測後續的金鑰版本更新。

若要手動更新客戶自控金鑰版本,您有兩個選項:

  • 輪替金鑰並使用使用者指派的身分識別。

    如果您使用來自不同金鑰保存庫的金鑰,請確認 principal-id-user-assigned-identity 具有該金鑰保存庫的 getwrapunwrap 權限。

    az acr encryption rotate-key \
      --name <registry-name> \
      --key-encryption-key <new-key-id> \
      --identity <principal-id-user-assigned-identity>
    
  • 輪替金鑰並使用系統指派的身分識別。

    使用系統指派的身分識別之前,請先確認其已獲派 getwrapunwrap 權限。

    az acr encryption rotate-key \
      --name <registry-name> \
      --key-encryption-key <new-key-id> \
      --identity [system]
    

使用 Azure 入口網站建立或更新金鑰版本

使用登錄的 [加密] 設定來更新用於客戶自控金鑰的金鑰保存庫、金鑰或身分識別設定。

例如,若要設定新的金鑰:

  1. 在入口網站中,移至您的登錄。

  2. 在 [設定] 之下,選取 [加密]>[變更金鑰]

    Screenshot of encryption key options in the Azure portal.

  3. 在 [加密] 中,選擇下列其中一個選項:

    • 選擇 [從金鑰保存庫選取],然後選取現有的金鑰保存庫和金鑰,或選取 [新建]。 您選取的金鑰並未設定版本並啟用自動金鑰輪替。
    • 選取 [輸入金鑰 URI],然後直接提供金鑰識別碼。 您可以提供已設定版本的金鑰 URI (適用於必須手動輪替的金鑰),或提供未設定版本的金鑰 URI (其可啟用自動金鑰輪替)。
  4. 完成金鑰選取,然後選取 [儲存]

撤銷客戶自控金鑰

您可以變更存取原則或變更金鑰保存庫上的權限,或刪除金鑰,藉此撤銷客戶自控加密金鑰。

若要變更登錄所用受控識別的存取原則,請執行 az-keyvault-delete-policy 命令:

az keyvault delete-policy \
  --resource-group <resource-group-name> \
  --name <key-vault-name> \
  --object-id <key-vault-key-id>

若要刪除個別的金鑰版本,請執行 az-keyvault-key-delete 命令。 此作業需要「金鑰/刪除」權限。

az keyvault key delete  \
  --name <key-vault-name> \
  -- 
  --object-id $identityPrincipalID \                     

注意

撤銷客戶自控金鑰將會封鎖所有登錄資料的存取。 如果您啟用金鑰的存取權,或還原已刪除的金鑰,登錄會挑選該金鑰,而且您可重新取得加密登錄資料的存取權。

下一步

請繼續下一篇文章,以針對常見的問題進行疑難排解,例如移除受控識別、403 錯誤,以及意外的金鑰刪除。