《Windows Azure Platform 系列文章目錄》html
爲何要使用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能夠管理:post
1.密碼管理加密
Azure Key Vault 能夠用來安全地存儲令牌、密碼、證書、API 密鑰和其餘機密,並對其訪問進行嚴格控制url
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 配置爲執行如下操做:
能夠控制本身的日誌,能夠經過限制訪問權限來確保日誌的安全,還能夠刪除再也不須要的日誌。
4.簡化應用程序機密的管理
存儲有價值的數據時,必須執行多項步驟。 安全信息必須受到保護,必須遵循某個生命週期,必須高度可用。 Azure Key Vault 可經過如下操做簡化知足這些要求的過程:
另外,還能夠經過 Azure Key Vault 來隔離應用程序機密。 應用程序只能訪問其有權訪問的保管庫,而且只能執行特定的操做。 能夠爲每一個應用程序建立一個 Azure Key Vault,僅限特定的應用程序和開發人員團隊訪問存儲在 Key Vault 中的機密。
5.與其餘 Azure 服務集成
做爲 Azure 中的安全存儲,Key Vault 已用於簡化以下方案:
Key Vault 自己能夠與存儲賬戶、事件中心和 Log Analytics 集成。