Microsoft Cloud for Sovereignty 中的金鑰管理和憑證管理
密碼編譯驗證和加密是滿足機密性、隱私權和資料主權需求的有效策略。 不過,這些解決方案的有效性取決於基礎密碼編譯技術和操作程序的安全性和復原能力。 本文介紹您在規劃使用密碼編譯金鑰和數位憑證保護要移轉至雲端的工作負載時應熟悉的概念。
金鑰管理
密碼編譯資料使用多組織用戶共享和單一租用戶部署模式下都能使用的 Azure Key Vault,在 Azure 中進行儲存和管理。 Azure Key Vault (AKV) 在通過 FIPS 140 驗證之硬體安全性模組支援的多組織用戶共享服務中提供雲端原生金鑰、祕密和憑證管理。 Azure Key Vault 受控 HSM是單一租用戶服務,可讓您對組織的資訊安全網域和相關聯加密金鑰進行完全管理控制。
有效金鑰管理的建議
平台控制雖然勢在必行,但並不是有效金鑰管理的唯一層面。 Microsoft 還提供幾個有效金鑰管理的最佳做法。
存取控制
如果您正在使用 Azure Key Vault 的標準或進階 SKU,建議為每個應用程式、環境和區域部署一個保存庫,以便強制最低權限。 如果使用的是受控 HSM,最好是部署較少數量的集中式保存庫來管理成本。 無論部署哪個 SKU,您都必須使用角色型存取控制 (RBAC) 嚴格控管保存庫存取,並確保每個保存庫中的存取原則符合最低權限原則。 建議使用 Azure RBAC 預先定義角色,在特定範圍 (例如訂閱、資源群組或只是特定密鑰存放庫) 向使用者、群組和應用程式授與存取權限。 控制存取權限至關重要,並建議在管理和資料平面上使用。
備份和復原
您需要對 HSM 層級和特定金鑰進行定期備份。 建議您設定虛刪除和清除保護功能,以防範意外和惡意刪除。 建議使用與受控 HSM 完全整合的 Azure 監視器來監視和記錄對金鑰保存庫的存取。 如需詳細資訊,請參閱 Azure 受控 HSM 最佳做法。
金鑰輪換
確保已依照由組織原則決定的輪換頻率,執行客戶自控金鑰 (CMK) 定期輪換。 如果擁有金鑰存取權限的系統管理員離職或變更角色,或者任何 CMK 遭到洩露,也應輪換金鑰。 自動輪換是透過 Azure Key Vault 和 Azure 受控 HSM 來支援。 如果可能,請確保輪換程序已自動化、是在沒有任何人工互動的情況下執行,並經過測試以確保有效性。 在金鑰洩漏等緊急情況下,您需要強固的系統立即重新產生金鑰。 如果此程序的自動化不可行,我們建議設定警示以防止憑證過期和中斷。
注意
雖然支援輪換機密 VM 的 CMK,但目前不支援自動化程序。 您可以在這裡檢視更多建議。
HSM 相關建議
部分客戶表示有興趣將金鑰儲存在第三方雲端或內部部署上的外部 HSM 中,將其金鑰與資料分開保存。 雖然此步驟似乎是從管理內部部署環境而來的自然轉換,但外部 HSM 可能會在身分識別、網路和軟體層帶來新的風險。 外部 HSM 還可能會增加效能風險並引發問題,例如導致延遲的網路問題、由第三方 HSM 問題引起的 SLA 問題以及維護和訓練成本。 此外,第三方 HSM 還可能無法提供虛刪除和清除保護等重要功能。
如需主權登陸區域 (SLZ) 中內建技術控制項的詳細資訊,以強制適當的金鑰管理做法,請參閱原則組合。
憑證管理
數位安全性憑證廣泛用於保護雲端應用程式的通訊安全。 隨著更多工作負載移轉至雲端,與憑證管理活動 (包括簽發、變換和撤銷憑證) 相關聯的額外負荷可能會快速增長。 打算將其工作負載移轉至 Microsoft Cloud for Sovereignty 的客戶應了解其數位安全性憑證案例,以便在雲端移轉過程中制定憑證管理計劃。
常見數位憑證案例
本節說明使用數位憑證保護通訊安全的常見雲端案例。
網站驗證和加密
網站使用 TLS 憑證對訪客進行身分識別驗證並加密通訊。 公用網站一般會使用公用憑證授權單位 (CA) 的憑證,但組織通常將私人 CA 的憑證用於未向公眾公開的網站。 無論哪種情況,網站的憑證都必須在過期或憑證完整性受到質疑時更新。 對於有大量 Web 存在的組織,管理這些憑證可能需要大量的規劃和投入。
服務驗證
分散式應用程式和微服務通常會使用無狀態工作階段模型,此模型可以靈活處理應用程式要求,但也可能需要進行額外的驗證和加密來降低安全性風險。 憑證經常用於應用程式層與元件之間的相互驗證。 這些元件通常由分散式應用程式開發團隊管理,使得數位憑證管理難以在整個企業中進行追蹤和監視。
基礎結構驗證
伺服器和網路裝置通常將用戶端憑證用於整個公司網路和維護活動期間以進行驗證。 使用 Active Directory 或 Kerberos 等解決方案的組織通常必須管理其已部署基礎結構的用戶端憑證。
其他憑證案例
端點管理解決方案經常使用裝置憑證來驗證終端使用者裝置,例如 PC、筆記型電腦和行動裝置。 程式碼簽署憑證在開發環境中用於驗證軟體的發行者,做為組織應用程式安全性方法的一部分。
雲端的憑證生命週期管理
平台管理的憑證與客戶管理的憑證
為傳輸中資料提供加密的 Azure PaaS 服務通常使用平台管理的數位憑證實作加密,並與建立資源時指派的預設主機名相關聯。 當您想要將自訂網域名稱與部署至雲端的資源搭配使用時,您必須設定外部使用者可在存取服務時使用的憑證。 對於未設定為使用自訂網域名稱的 Azure 服務之間的服務內通訊,平台管理的憑證是加密傳輸中資料的預設方法。 如果要使用與自訂網域名稱相關聯的憑證,請參閱您規劃要部署的 Azure 服務的文件,例如下列範例。
使用Azure Key Vault 建立憑證
Azure Key Vault 為客戶提供雲端原生憑證管理功能,可讓 Azure 平台使用客戶建立或匯入的憑證。 您可以在 Key Vault 中建立自我簽署憑證、向簽發者要求憑證,或從自己的憑證授權單位匯入憑證。 Key Vault 還可協助您指定憑證原則,例如要將憑證設定為可匯出還是不可匯出。
於內部建立憑證,並在 Azure 中管理憑證
如果要從內部部署憑證授權單位簽憑證,您可將這些憑證匯入至 Azure Key Vault,以供其他 Azure 服務使用。 將憑證匯出為 PEM 或 PFX 檔案後,您可以將其匯入至 Azure Key Vault。
使用第三方解決方案於內部建立和管理憑證
已經有企業級憑證管理功能的組織可以考慮是否將其內部部署解決方案與雲端工作負載整合。 許多內部部署憑證授權單位和憑證管理解決方案可以使用 REST API 和受控識別與 Key Vault 整合。
分散式憑證管理
擴充組織憑證管理功能的一種方法是將憑證的簽發和管理分散到應用程式和基礎結構團隊。 Azure Key Vault 等解決方案允許組織對可接受的金鑰管理技術和程序進行標準化,而不在單一營運團隊中集中管理這些金鑰管理程序。 可以使用多種策略將主要管理職責委派給應用程式和基礎結構團隊。
受控憑證
需要公用憑證授權單位簽發憑證的公開網站可以利用 Azure PaaS 服務 (例如 Azure App Service 或 Azure Front Door) 中的受控憑證。 還可以在 Azure Key Vault 中建立、管理和變換整合式憑證授權單位的憑證。 如需詳細資訊,請參閱以下資源:
在 CI/CD 管線中自動化憑證發行
採用 Dev/Ops 程序的組織可以在 CI/CD 管線中自動化憑證發行。 此方法將一些憑證管理職責委派給應用程式團隊,並允許他們使用原生 Azure 服務 (例如 Azure DNS、Azure App Service 和 Azure Key Vault) 佈建自己的憑證。
管理端點憑證
端點憑證用於 IaaS 工作負載,其中伺服器和服務使用憑證進行驗證。 由於此案例與虛擬機器相關聯,因此組織可以使用管理虛擬機器設定所用那些相同的設定管理工具或組建自動化工具來管理這些憑證。