整合 Azure 受控 HSM 與 Azure 原則

Azure 原則是一個治理工具,可讓使用者大規模地稽核和管理其 Azure 環境。 Azure 原則可為 Azure 資源提供防護措施,確保其符合指派的原則規則。 可讓使用者對其 Azure 環境執行稽核、即時強制作業及補救。 使用者可以在合規性儀表板中取得由原則執行的稽核結果,還可以讓他們深入查看符合及不符合規範的資源和元件。 如需詳細資訊,請參閱 Azure 原則服務概觀

使用案例範例:

  • 您目前沒有可在整個組織中執行稽核的解決方案,或者您正藉由要求組織內的個別小組報告其合規性,以手動方式進行環境的稽核。 您正在尋找方法來自動化這項工作,並且要能即時執行稽核和保證稽核的正確性。
  • 您想要強制執行公司的安全性原則,並防止個人建立特定密碼編譯金鑰,但是您沒有自動化的方式可防止他們建立。
  • 您想要放寬測試小組的一些需求,但仍想要對生產環境維持嚴格的控管。 您需要簡單的自動化方式來區隔資源的強制執行作業。
  • 您想要確保當即時網站發生問題時,可以復原新原則的強制執行。 您需要單鍵解決方案來關閉原則的強制執行。
  • 您依賴第三方解決方案來稽核環境,但您想要使用內部的 Microsoft 供應項目。

原則效用的類型和指引

稽核:當原則的效用設定為 [稽核] 時,原則不會對您的環境造成任何重大變更。 其只會在元件 (例如金鑰) 不符合指定範圍內的原則定義時,藉由在原則合規性儀表板中將這些元件標示為不符合規範,來對您發出警示。 [稽核] 是未選取任何原則效用時的預設值。

拒絕:當原則的效用設定為 [拒絕] 時,原則將會阻止您建立新元件 (例如較弱的金鑰),並防止不符合原則定義的現有金鑰建立新版本。 受控 HSM 內不符合規範的現有資源不會受到影響。 [稽核] 功能將會繼續運作。

使用橢圓曲線密碼編譯的金鑰應具有指定的曲線名稱

如果使用橢圓曲線加密或 ECC 金鑰,您可以從下列清單中自訂允許的曲線名稱清單。 預設選項允許下列所有曲線名稱。

  • P-256
  • P-256K
  • P-384
  • P-521

金鑰應設定到期日

此原則會稽核受控 HSM 中的所有金鑰,以及將未設定到期日的金鑰標示為不符合規範。 您也可以使用此原則來封鎖建立未設定到期日的金鑰。

金鑰具有的指定天數應早於到期日

如果金鑰太接近到期日,則組織若延遲輪替金鑰,可能會導致中斷。 金鑰應在到期前的指定天數內輪替,以提供足夠的時間來回應失敗。 此原則會稽核太接近到期日的金鑰,並可讓您設定此閾值 (以天為單位)。 您也可以使用此原則來防止建立太接近到期日的新金鑰。

使用 RSA 密碼編譯的金鑰應具有指定的最小金鑰大小

使用金鑰大小較小的 RSA 金鑰,並不是安全的設計作法。 您可能受限於強制使用最小金鑰大小的稽核與認證標準。 下列原則可讓您在受控 HSM 上設定最小金鑰大小需求。 您可以稽核不符合這項最低需求的金鑰。 此原則也可以用來封鎖建立不符合最小金鑰大小需求的新金鑰。

透過 Azure CLI 啟用和管理受控 HSM 原則

授與每日掃描權限

若要檢查集區清查密鑰的合規性,客戶必須將「受控 HSM 密碼編譯稽核員」角色指派給「Azure Key Vault 受控 HSM 金鑰治理服務」(App ID:a1b76039-a76c-499f-a2dd-846b4cc32627),才能存取金鑰的中繼資料。 若未授與權限,則清查金鑰不會在 Azure 原則合規性報告中回報,只會檢查新金鑰、更新金鑰、匯入金鑰和輪替金鑰的合規性。 為此,具有「受控 HSM 系統管理員」角色的使用者必須執行下列 Azure CLI 命令:

在 Windows 上:

az ad sp show --id a1b76039-a76c-499f-a2dd-846b4cc32627 --query id

複製列印的 id,並貼到下列命令中:

az keyvault role assignment create --scope / --role "Managed HSM Crypto Auditor" --assignee-object-id "the id printed in previous command" --hsm-name <hsm name>

在 Linux 或適用於 Linux 的 Windows 子系統上:

spId=$(az ad sp show --id a1b76039-a76c-499f-a2dd-846b4cc32627 --query id|cut -d "\"" -f2)
echo $spId
az keyvault role assignment create --scope / --role "Managed HSM Crypto Auditor" --assignee-object-id $spId --hsm-name <hsm name>

建立原則指派 - 定義稽核和/或拒絕的規則

原則指派針對原則定義的參數定義了具體值。 在 [Azure 入口網站] 中,前往 [原則],篩選 [Key Vault] 類別,尋找這四個預覽金鑰治理原則定義。 選取其中一個,然後選取頂端的 [指派] 按鈕。 填入每個欄位。 如果原則指派是用於拒絕要求,請使用原則的明確名稱,因為當要求遭拒時,原則指派的名稱會出現在錯誤中。 選取 [下一步],取消核取 [只顯示需要輸入或檢閱的參數],然後輸入原則定義參數的值。 跳過 [補救],並建立指派。 該服務最多需要 30 分鐘才能強制執行「拒絕」指派。

  • Azure Key Vault 受控 HSM 金鑰應具有到期日
  • 使用 RSA 加密的 Azure Key Vault 受控 HSM 金鑰應有指定的金鑰大小下限
  • Azure Key Vault 受控 HSM 金鑰在到期日前應具有大於指定的天數
  • 使用橢圓曲線加密的 Azure Key Vault 受控 HSM 金鑰應具有指定的曲線名稱

您也可以使用 Azure CLI 來執行此作業。 請參閱使用 Azure CLI 建立原則指派,以識別不符合規範的資源

測試您的設定

試著更新/建立違反規則的金鑰,若您擁有「拒絕」效用的原則指派,則會針對您的要求傳回 403。 檢閱稽核原則指派的清查金鑰掃描結果。 12 小時之後,請檢查原則的 [合規性] 功能表、篩選 [Key Vault] 類別,然後找到您的指派。 選取各個項目,以檢查合規性結果報告。

疑難排解

假設過了一天,仍未出現集區的合規性結果。 請檢查步驟 2 中的角色指派是否已順利完成。 如果沒有步驟 2,則金鑰治理服務無法存取金鑰的中繼資料。 Azure CLI az keyvault role assignment list 命令可以驗證是否已指派角色。

後續步驟