整合 Azure Key Vault 與 Azure 原則
Azure 原則是一種治理工具,讓使用者能夠大規模稽核和管理其 Azure 環境,從而允許他們在 Azure 資源上放置護欄,以確保其符合已指派的原則規則。 可讓使用者對其 Azure 環境執行稽核、即時強制作業及補救。 使用者可以在合規性儀表板中取得按原則執行的稽核結果,他們可以在儀表板上深入了解哪些資源和元件合規,哪些不合規。 如需詳細資訊,請參閱 Azure 原則服務概觀。
使用案例範例:
- 您希望在公司金鑰保存庫中實作金鑰大小最小化和憑證有效期間最大化的要求,以改善公司的安全性狀態,但您不知道可符合及不符合規範的小組有哪些。
- 您目前沒有可在整個組織中執行稽核的解決方案,或者您正藉由要求組織內的個別小組報告其合規性,以手動方式進行環境的稽核。 您正在尋找方法來自動化這項工作,並且要能即時執行稽核和保證稽核的正確性。
- 您想要強制執行公司的安全性原則,並防止個人建立自我簽署的憑證,但是您沒有自動化的方式可防止他們建立。
- 您想要放寬測試小組的一些需求,但仍想要對生產環境維持嚴格的控管。 您需要簡單的自動化方式來區隔資源的強制執行作業。
- 您會希望在出現即時網站問題時,可以回復新原則的強制執行。 您需要單鍵解決方案來關閉原則的強制執行。
- 您依賴第三方解決方案來稽核您的環境,並且希望使用 Microsoft 內部產品。
原則效用的類型和指引
強制執行原則時,您可以決定其對結果評估的效果。 每個原則定義都可讓您選擇多個效果之一。 因此,原則強制執行可能會根據您要評估的作業類型而有所不同。 一般而言,與 Key Vault 整合的原則影響包括:
稽核:當原則的效用設定為
Audit
時,原則將不會對您的環境造成任何重大變更。 它只會透過在原則合規性儀表板中將這些元件標記為不合規,來提醒您不符合指定範圍內的原則定義的元件 (例如憑證)。 [稽核] 是未選取任何原則效用時的預設值。拒絕:當原則的效果設定為
Deny
時,原則將阻止建立新元件 (例如憑證),並阻止不符合原則定義的現有元件的新版本。 金鑰保存庫中現有的不合規資源不受影響。 「稽核」功能將繼續運作。已停用:當原則的效用設定為
Disabled
時,仍會評估原則,但強制執行不會生效,因此符合Disabled
效用條件的規範。 這對於停用原則的特定條件很有用,而不是所有條件。修改:當原則的效用設定為
Modify
時,您可以執行新增資源標記,例如將Deny
標記新增至網路。 這對於停用 Azure Key Vault 受控 HSM 的公用網路存取很有用。 針對透過roleDefinitionIds
參數的原則定義必須設定管理身分識別,才能利用Modify
效用。DeployIfNotExists:當原則的效用設定為
DeployIfNotExists
時,會在符合條件時執行部署範本。 這可以用來設定 Key Vault 到記錄分析工作區的診斷設定。 針對透過roleDefinitionIds
參數的原則定義必須設定管理身分識別,才能利用DeployIfNotExists
效用。AuditIfNotExists:當原則的效用設定為
AuditIfNotExists
時,您可以識別缺乏在原則條件詳細資料中所指定屬性的資源。 這對於識別未啟用資源記錄的金鑰保存庫很有用。 針對透過roleDefinitionIds
參數的原則定義必須設定管理身分識別,才能利用DeployIfNotExists
效用。
可用的內建原則定義
預先決定的原則稱為「內建」,可協助治理金鑰保存庫,因此您不需要以 JSON 格式撰寫自訂原則,以強制執行與最佳安全性做法相關聯的常用規則。 即使內建已預先決定,某些原則還是需要您定義參數。 例如,藉由定義原則的效用,您可以先稽核金鑰保存庫及其物件,再強制執行拒絕作業以防止中斷。 Azure Key Vault 的目前內建分為四個主要群組:金鑰保存庫、憑證、金鑰和祕密管理。 在每個類別中,原則會分組以推動特定安全性目標。
金鑰保存庫
存取控制
您可以使用 Azure 原則服務來控管保存庫之間 RBAC 權限模型的移轉。 深入了解從保存庫存取原則移轉至 Azure 角色型存取控制權限模型
原則 | 效果 |
---|---|
Azure Key Vault 應該使用 RBAC 權限模型 | Audit (預設值),Deny,Disabled |
網路存取
藉由限制公用網路存取、啟用 Azure Private Link 連線、建立私人 DNS 區域來覆寫私人端點的 DNS 解析,以及啟用防火牆保護來降低資料外洩的風險,讓金鑰保存庫預設無法存取任何公用 IP。
原則 | 效果 |
---|---|
Azure Key Vault 應停用公用網路存取 | Audit (預設值),Deny,Disabled |
[預覽]:Azure Key Vault 受控 HSM 應停用公用網路存取 | Audit (預設值),Deny,Disabled |
[預覽]:設定 Key Vault 受控 HSM 以停用公用網路存取 | Modify (預設值),Disabled |
[預覽]:Azure Key Vault 應使用私人連結 | Audit (預設值),Deny,Disabled |
[預覽]:Azure Key Vault 受控 HSM 應該使用私人連結 | Audit (預設值),Disabled |
[預覽]:設定具有私人端點的 Azure Key Vault | DeployIfNotExists (預設值),Disabled |
[預覽]:使用私人端點設定 Azure Key Vault 受控 HSM | DeployIfNotExists (預設值),Disabled |
[預覽]:設定 Azure Key Vault 以使用私人 DNS 區域 | DeployIfNotExists (預設值),Disabled |
Key Vault 應該啟用防火牆 | Audit (預設值),Deny,Disabled |
設定 Key Vault 以啟用防火牆 | Modify (預設值),Disabled |
刪除保護
藉由啟用虛刪除和清除保護,防止金鑰保存庫及其物件的永久資料遺失。 虛刪除可讓您在可設定的保留期間復原意外刪除的金鑰保存庫,而清除保護可藉由強制執行虛刪除金鑰保存庫的強制保留期間,保護您免於內部攻擊。 只有在啟用虛刪除之後,才能啟用清除保護。 您的組織內部人員或 Microsoft 在虛刪除保留期間內都無法清除您的金鑰保存庫。
原則 | 效果 |
---|---|
Key Vault 應已啟用虛刪除 | Audit (預設值),Deny,Disabled |
Key Vault 應啟用清除保護 | Audit (預設值),Deny,Disabled |
Azure Key Vault 受控 HSM 應啟用清除保護 | Audit (預設值),Deny,Disabled |
診斷
驅動啟用資源記錄,在發生安全性事件時或是網路遭入侵時,重新建立活動線索以供調查之用。
原則 | 效果 |
---|---|
將 Key Vault 的診斷設定部署至事件中樞 | DeployIfNotExists (預設值) |
部署 - 將 Key Vault 受控 HSM 的診斷設定配置到事件中樞 | DeployIfNotExists (預設值),Disabled |
部署 - 進行 Azure Key Vault 到 Log Analytics 工作區的診斷設定 | DeployIfNotExists (預設值),Disabled |
應啟用 Key Vault 中的資源記錄 | AuditIfNotExists (預設值),Disabled |
應啟用 Key Vault 受控 HSM 中的資源記錄 | AuditIfNotExists (預設值),Disabled |
憑證
憑證的生命週期
藉由將持續損毀的時間範圍降到最低,並降低憑證對攻擊者的價值,以提升使用短期憑證來減輕未偵測到的攻擊。 實作短期憑證時,建議定期監視其到期日以避免中斷,以便在到期前適當輪替。 您也可以控制存留期動作,也就是針對特定到期天數內的憑證,或達到憑證可用期限的特定百分比時,所指定的存留期動作。
原則 | 效果 |
---|---|
[預覽]:憑證應具有指定的最大有效期間 | 效用:Audit (預設值),Deny,Disabled |
[預覽]:憑證不應在指定的天數內到期 | 效用:Audit (預設值),Deny,Disabled |
憑證應具有指定的存留期動作觸發程序 | 效用:Audit (預設值),Deny,Disabled |
注意
建議您多次套用憑證到期原則,並使用不同的到期閾值,例如 180、90、60 和 30 天的閾值。
憑證授權
稽核或強制選擇特定憑證授權單位來簽發您的憑證,您可以依賴 Azure Key Vault 整合式憑證授權機構 (如 Digicert 或 GlobalSign),或者選擇您慣用的非整合式憑證授權機構。 您也可以稽核或拒絕建立自我簽署憑證。
原則 | 效果 |
---|---|
憑證應由指定的整合式憑證授權單位發行 | Audit (預設值),Deny,Disabled |
憑證應由指定的非整合式憑證授權單位核發 | Audit (預設值),Deny,Disabled |
憑證屬性
將金鑰保存庫憑證的類型限制為 RSA、ECC 或 HSM 支援。 如果您使用橢圓曲線密碼編譯或 ECC 憑證,您可以自訂及選取曲線名稱,例如 P-256、P-256K、P-384 和 P-521。 如果您使用 RSA 憑證,可以為您的憑證選擇最小金鑰大小,分別為 2,048 位元、3,072 位元或 4,096 位元。
原則 | 效果 |
---|---|
憑證應使用允許的金鑰類型 | Audit (預設值),Deny,Disabled |
使用橢圓曲線密碼編譯的憑證應該有允許的曲線名稱 | Audit (預設值),Deny,Disabled |
使用 RSA 密碼編譯的憑證應具有指定的最小金鑰大小 | Audit (預設值),Deny,Disabled |
索引鍵
HSM 支援的金鑰
HSM 是儲存金鑰的硬體安全性模組。 HSM 提供密碼編譯金鑰的實體保護層。 若沒有提供比軟體金鑰更高層級的安全性,密碼編譯金鑰無法離開實體 HSM。 有些組織具有強制使用 HSM 金鑰的合規性需求。 您可以使用此原則來稽核任何儲存在 Key Vault 中的金鑰,而此 Key Vault 未受 HSM 支援。 您也可以使用此原則來封鎖建立未受 HSM 支援的金鑰。 此原則將適用於所有金鑰類型,包括 RSA 和 ECC。
原則 | 效果 |
---|---|
金鑰應採用硬體安全性模組 (HSM) | Audit (預設值),Deny,Disabled |
金鑰的生命週期
使用生命週期管理內建,您可以標示或封鎖沒有到期日的金鑰、每當金鑰輪替延遲可能會導致中斷時取得警示、防止建立接近到期日的新金鑰、限制金鑰的存留期和作用中狀態以驅動金鑰輪替,以及防止金鑰處於作用中狀態超過指定天數。
原則 | 效果 |
---|---|
金鑰應該有輪替原則,以確保其輪替排程在建立後的指定天數內 | Audit (預設值),Disabled |
Key Vault 金鑰應具有到期日 | Audit (預設值),Deny,Disabled |
[預覽]:受控 HSM 金鑰應該有到期日 | Audit (預設值),Deny,Disabled |
金鑰的天數應大於指定的到期前天數 | Audit (預設值),Deny,Disabled |
[預覽]:Azure Key Vault 受控 HSM 金鑰在到期日前應具有大於指定的天數 | Audit (預設值),Deny,Disabled |
金鑰應具有指定的最大有效期間 | Audit (預設值),Deny,Disabled |
金鑰的使用時間不應超過指定天數 | Audit (預設值),Deny,Disabled |
重要
如果您的金鑰已設定啟用日期,上述原則將會計算從金鑰啟用日期到目前日期所經過的天數。 如果天數超過您設定的閾值,則會將金鑰標示為不符合原則。 如果您的金鑰未設定啟用日期,此原則將會計算從金鑰建立日期到目前日期所經過的天數。 如果天數超過您設定的閾值,則會將金鑰標示為不符合原則。
索引鍵屬性
將 Key Vault 憑證的類型限制為 RSA、ECC 或 HSM 支援。 如果您使用橢圓曲線密碼編譯或 ECC 金鑰,您可以自訂及選取曲線名稱,例如 P-256、P-256K、P-384 和 P-521。 如果您使用 RSA 金鑰,則可以授權使用目前和新金鑰的最小金鑰大小為 2048 位元、3072 位元或 4096 位元。 請記住,搭配較小的金鑰大小使用 RSA 金鑰並不是安全的設計做法,因此建議您封鎖建立不符合最小大小需求的新金鑰。
原則 | 效果 |
---|---|
金鑰應為指定的密碼編譯類型 RSA 或 EC | Audit (預設值),Deny,Disabled |
使用橢圓曲線密碼編譯的金鑰應具有指定的曲線名稱 | Audit (預設值),Deny,Disabled |
[預覽]:使用橢圓曲線加密的 Azure Key Vault 受控 HSM 金鑰應具有指定的曲線名稱 | Audit (預設值),Deny,Disabled |
使用 RSA 密碼編譯的金鑰應具有指定的最小金鑰大小 | Audit (預設值),Deny,Disabled |
[預覽]:使用 RSA 加密的 Azure Key Vault 受控 HSM 金鑰應有指定的金鑰大小下限 | Audit (預設值),Deny,Disabled |
密碼
祕密的生命週期
使用生命週期管理內建,您可以標示或封鎖沒有到期日的祕密、每當祕密輪替延遲可能會導致中斷時取得警示、防止建立接近到期日的新金鑰、限制金鑰的存留期和作用中狀態以驅動金鑰輪替,以及防止金鑰處於作用中狀態超過指定天數。
原則 | 效果 |
---|---|
祕密應該具有到期日 | Audit (預設值),Deny,Disabled |
祕密的天數應大於指定的到期前天數 | Audit (預設值),Deny,Disabled |
祕密應具有指定的最大有效期間 | Audit (預設值),Deny,Disabled |
祕密的使用時間不應超過指定天數 | Audit (預設值),Deny,Disabled |
重要
如果您的祕密已設定啟用日期,上述原則將會計算從祕密啟用日期到目前日期所經過的天數。 如果天數超過您設定的閾值,則會將祕密標示為不符合原則。 如果您的祕密未設定啟用日期,此原則將會計算從祕密建立日期到目前日期所經過的天數。 如果天數超過您設定的閾值,則會將祕密標示為不符合原則。
祕密屬性
任何純文字或編碼的檔案都可以儲存為 Azure 金鑰保存庫祕密。 不過,您的組織可能會想要針對密碼、連接字串或儲存為金鑰的憑證,設定不同的輪替原則和限制。 內容類型標籤可協助使用者查看祕密物件中儲存的內容,而不會讀取祕密的值。 您可以稽核未設定內容類型標記的祕密或防止建立新祕密 (如果其未設定內容類型標記)。
原則 | 效果 |
---|---|
祕密應設定內容類型 | Audit (預設值),Deny,Disabled |
範例案例
您管理包含 100 個憑證且由多個小組使用的金鑰保存庫,而且您會想要確定金鑰保存庫中沒有任何憑證的有效期超過 2 年。
- 您可以指派 [憑證應具有指定的有效期間上限] 原則、將憑證的有效期間上限指定為 24 個月,並將原則的效用設定為「稽核」。
- 您在 Azure 入口網站上檢視合規性報告,並探索到 20 個憑證不符合規範,且有效期間 > 2 年,其餘憑證則符合規範。
- 您會連絡這些憑證的擁有者,並告訴他們新的安全性需求,也就是憑證的有效期間不得超過 2 年。 某些小組回應了,並且有 15 個憑證的有效期間已更新為 2 年或少於 2 年。 其他小組則未回應,而且您的金鑰保存庫中仍有 5 個不符合規範的憑證。
- 您可以將指派的原則效用變更為「拒絕」。 這 5 個不符合規範的憑證不會撤銷,而且會繼續運作。 不過,他們無法以超過 2 年的有效期間來進行更新。
透過 Azure 入口網站啟用和管理金鑰保存庫原則
選取原則定義
登入 Azure 入口網站。
在搜尋列中搜尋「原則」,然後選取 [原則]。
在 [原則] 視窗中,選取 [定義]。
在 [類別] 篩選中,取消選取 [全選],然後選取 [Key Vault]。
現在您應該可以看到所有適用 Azure Key Vault 公開預覽版的原則。 請確定您已閱讀並了解上一節的原則指引,並選取您想要指派給某個範圍的原則。
將原則指派給某個範圍
選取您想要套用的原則,此範例會顯示 [管理憑證有效期間] 原則。 請按一下左上角的指派按鈕。
選取您要套用原則的訂用帳戶。 您可以選擇將範圍限制在訂用帳戶內的單一資源群組。 如果您想要將原則套用到整個訂用帳戶,但排除某些資源群組,您也可以設定排除清單。 如果您想要執行原則的效用 (稽核或拒絕),請將原則強制選取器設定為 [啟用],或是設定為 [停用] 來關閉效用 (稽核或拒絕)。
請按一下畫面頂端的參數索引標籤,以指定您需要的有效期間上限 (以月為單位)。 如果需要輸入參數,您可以取消核取 [只顯示需要輸入或檢閱的參數] 選項。 依照上述各節中的指引,選取 [稽核] 或 [拒絕] 來作為原則的效用。 然後選取 [檢閱 + 建立] 按鈕。
檢視合規性結果
回到 [原則] 分頁,然後選取 [合規性] 索引標籤。按一下您想要查看其合規性結果的原則指派。
在此頁面中,您可以根據符合規範或不符合規範的保存庫來篩選結果。 在這裡,您可以看到原則指派範圍內不符合規範的金鑰保存庫清單。 如果保存庫中有任何元件 (憑證) 不符合規範,則保存庫就會被視為不符合規範。 您可以選取個別的保存庫,以檢視不符合規範的個別元件 (憑證)。
檢視保存庫中不符合規範的元件名稱
如果您需要確認使用者是否無法在金鑰保存庫中建立資源,您可以按一下 [元件事件 (預覽)] 索引標籤,以檢視遭到拒絕的憑證作業摘要,其中包括要求者和要求的時間戳記。
功能限制
指派具有「拒絕」效用的原則最多可能需要 30 分鐘 (平均案例) 和 1 小時 (最差案例),才能開始拒絕建立不符合規範的資源。 延遲是指下列案例 -
- 指派新的原則。
- 修改現有的原則指派。
- 在具有現有原則的範圍中建立新的 KeyVault (資源)。
保存庫中現有元件的原則評估最多可能需要1小時 (平均案例) 和 2 小時 (最差案例),才能在入口網站 UI 中可看到合規性結果。
如果合規性結果顯示為「未啟動」,則可能是下列原因所造成:
- 原則評估尚未完成。 在最糟的情況下,初始評估的延遲可能會多達 2 小時。
- 原則指派的範圍中沒有任何金鑰保存庫。
- 原則指派的範圍中沒有任何包含憑證的金鑰保存庫。
後續步驟
- 適用於 Key Vault 的 Azure 原則的記錄和常見問題
- 深入了解 Azure 原則服務
- 請參閱 Key Vault 範例:Key Vault 內建原則定義
- 了解 Key Vault 上的 Microsoft 雲端安全性基準