金鑰保存庫中的秘密
祕密如果讓所有人得知,就不再是祕密。 將連接字串、安全性權杖、憑證和密碼等機密項目儲存在您的程式碼中,等同於邀請他人將其用於您所預期以外的用途。 即使將這類資料儲存在您的 Web 組態中也不是理想的做法;您基本上允許了具有原始程式碼存取權或網頁伺服器存取權的任何人使用您的私人資料。
您應一律將這些祕密放在 Azure Key Vault 中。
什麼是 Azure Key Vault
Azure Key Vault 是「祕密存放區」:儲存應用程式祕密的集中式雲端服務。 Key Vault 可將應用程式祕密保存在單一中央位置,並提供安全存取、權限控制和存取記錄,以維護機密資料的安全性。
祕密會儲存在個別的保存庫中,分別有其本身的組態和安全性原則,以進行存取控制。 如此,您就可以透過 REST API,或透過適用於大部分語言的用戶端 SDK 取得自己的資料。
重要
Key Vault 係專為儲存伺服器應用程式的設定祕密所設計。 其功用不在儲存屬於您應用程式使用者的資料,不應該用於應用程式的用戶端部分。 這會反映在其效能特性、API 和成本模型中。
使用者資料應該儲存在其他地方,例如使用透明資料加密的 Azure SQL 資料庫,或具有儲存體服務加密的儲存體帳戶。 您可以將應用程式用來存取這些資料存放區的秘密保存在 Key Vault 中。
為何要使用 Key Vault 來存放我的祕密
以手動方式執行金鑰管理和祕密儲存時,作業可能會很複雜,而且容易發生錯誤。 以手動方式輪替憑證,意味著可能有數幾小時、甚至數天沒有憑證。 如前所述,若將連接字串儲存在組態檔或程式碼存放庫中,表示您的認證有可能遭到竊取。
Key Vault 可讓使用者儲存連接字串、祕密、密碼、憑證、存取原則、檔案鎖定 (使 Azure 中的項目處於唯讀狀態) 和自動化指令碼。 它也會記錄存取權和活動,並可讓您監視訂用帳戶中的存取權控制 (IAM)。 它還有診斷、計量、警示和疑難排解工具,以確保您擁有所需的存取權。
若要深入了解如何使用 Azure Key Vault,請參閱使用 Azure Key Vault 來管理伺服器應用程式中的祕密。
摘要
如果您使用 Azure Key Vault 妥善地管理祕密,認證竊取、手動金鑰輪替和憑證更新都會成為過去式。