《Windows Azure Platform 系列文章目錄》
為什么要使用Azure Key Vault?
我們假設在微軟雲Azure上有1個場景,在Windows VM里面有1個.NET應用程序,這個.NET應用程序通過ADO.NET鏈接字符串,鏈接到后端的SQL VM。
如果Windows VM被黑客攻擊了,那么黑客在查看ADO.NET的SQL鏈接字符串,就可以通過里面保存的用戶名和密碼,直接訪問到后端的SQL VM。
這樣SQL VM也被黑客攻擊了。
如果我們針對SQL鏈接字符串進行加密和訪問控制,我們就可以保護好SQL VM里面的數據庫
什么是Key Vault (秘鑰保管庫)?
Azure Key Vault可以管理:
1.密碼管理
Azure Key Vault 可以用來安全地存儲令牌、密碼、證書、API 密鑰和其他機密,並對其訪問進行嚴格控制
2.證書管理
Azure Key Vault可以用來管理和部署SSL/TLS證書,這些證書可以與Azure其他服務一起使用,比如CDN使用HTTPS證書
哪些場景下要使用Azure Key Vault
1.集中管理應用程序機密
在 Azure Key Vault 中集中存儲應用程序機密就可以控制其分發。 Key Vault 可以大大減少機密意外泄露的可能性。 有了 Key Vault,應用程序開發人員就再也不需要將安全信息存儲在應用程序中。 無需將安全信息存儲在應用程序中,因此也無需將此信息作為代碼的一部分。 例如,如果某個應用程序需要連接到數據庫, 則可將連接字符串安全地存儲在 Key Vault 中,而不是存儲在應用代碼中。
應用程序可以使用 URI 安全訪問其所需的信息。 這些 URI 允許應用程序檢索特定版本的機密。 這樣就不需編寫自定義代碼來保護存儲在 Key Vault 中的任何機密信息。
2.安全地存儲機密和密鑰
機密和密鑰由 Azure 使用行業標准的算法、密鑰長度和硬件安全模塊 (HSM) 進行保護。 使用的 HSM 是經驗證的聯邦信息處理標准 (FIPS) 140-2 級別 2。
訪問密鑰保管庫需要適當的身份驗證和授權,否則調用方(用戶或應用程序)無法進行訪問。 身份驗證用於確定調用方的身份,而授權則決定了調用方能夠執行的操作。
身份驗證通過 Azure Active Directory 來完成。 授權可以通過基於角色的訪問控制 (RBAC) 或 Key Vault 訪問策略來完成。 進行保管庫的管理時,使用 RBAC;嘗試訪問存儲在保管庫中的數據時,使用密鑰保管庫訪問策略。
可以對 Azure Key Vault 進行軟件或硬件 HSM 保護。 如果需要提高可靠性,可以在硬件安全模塊 (HSM) 中導入或生成永不超出 HSM 邊界的密鑰。 Microsoft 使用 nCipher 硬件安全模塊。 你可以使用 nCipher 工具將密鑰從 HSM 移動到 Azure Key Vault。
最后需要指出的是,根據 Azure Key Vault 的設計,Microsoft 無法查看或提取數據。
3.監視訪問和使用情況
創建多個 Key Vault 以后,需監視用戶對密鑰和機密進行訪問的方式和時間。 可以通過啟用保管庫的日志記錄來監視活動。 可以將 Azure Key Vault 配置為執行以下操作:
- 存檔到存儲帳戶。
- 流式傳輸到事件中心。
- 將日志發送到 Azure Monitor 日志。
可以控制自己的日志,可以通過限制訪問權限來確保日志的安全,還可以刪除不再需要的日志。
4.簡化應用程序機密的管理
存儲有價值的數據時,必須執行多項步驟。 安全信息必須受到保護,必須遵循某個生命周期,必須高度可用。 Azure Key Vault 可通過以下操作簡化滿足這些要求的過程:
- 無需內部硬件安全模塊知識
- 收到通知后很快就可以進行縱向擴展,滿足組織的使用高峰需求。
- 在某個區域內復制 Key Vault 的內容,並將其復制到次要區域。 數據復制可確保高可用性,不需管理員操作即可觸發故障轉移。
- 通過門戶、Azure CLI 和 PowerShell 提供標准的 Azure 管理選項。
- 針對從公共 CA 購買的證書自動執行某些任務,如注冊和續訂。
另外,還可以通過 Azure Key Vault 來隔離應用程序機密。 應用程序只能訪問其有權訪問的保管庫,並且只能執行特定的操作。 可以為每個應用程序創建一個 Azure Key Vault,僅限特定的應用程序和開發人員團隊訪問存儲在 Key Vault 中的機密。
5.與其他 Azure 服務集成
作為 Azure 中的安全存儲,Key Vault 已用於簡化如下方案:
- Azure 磁盤加密
- SQL 服務器和 Azure SQL 數據庫的始終加密功能
- Azure 應用服務。
Key Vault 本身可以與存儲帳戶、事件中心和 Log Analytics 集成。