使用 Visual Studio 已連線的服務將 Key Vault 新增至 Web 應用程式
在本教學課程中,您將了解如何輕鬆新增一切所需,以便開始使用 Azure Key Vault 來管理 Visual Studio 中 Web 專案的秘密,無論是使用 ASP.NET Core 或任何類型的 ASP.NET 專案皆可適用。 藉由在 Visual Studio 中使用已連線的服務功能,您可以讓 Visual Studio 自動新增連線到 Azure 中 Key Vault 所需的各項 NuGet 套件和設定。
必要條件
- Azure 帳戶。 如果您沒有 Azure 帳戶,請啟用適用於 Visual Studio 訂閱者的 Azure 權益或註冊免費試用。
- Visual Studio 2019 16.3 版或更新版本 立即下載。
將 Key Vault 支援新增至您的專案
開始之前,請先確定您已登入 Visual Studio。 請使用您 Azure 訂閱的相同帳戶登入。 接著開啟 ASP.NET 4.7.1 或更新版本,或 ASP.NET Core Web 專案,然後執行下列步驟。 顯示的步驟適用於 Visual Studio 2022 17.4 版。 其他 Visual Studio 版本的流程可能稍有不同。
在 [方案總管] 中,以滑鼠右鍵按一下您要新增 Key Vault 支援的專案,然後選擇 [新增]>[已連接的服務],或以滑鼠右鍵按一下 [已連接的服務] 節點,選取 [新增]。
如果您沒看到 [已連接的服務] 節點,請選取 [專案]>[已連接的服務]>[新增]。
在 [服務相依性] 底下,選擇 + 圖示。 [已連線的服務] 頁面隨即出現,其中包含您可以新增至專案的服務。
在可用服務的功能表中,選擇 [Azure Key Vault],然後按 [下一步]。
選取您要使用的訂閱,若已建立要使用的 Key Vault,請進行選取,然後按一下 [下一步]。
如果您沒有現有的 金鑰保存庫,或者您需要一個與現有 金鑰保存庫 不同的許可權來設定,請按兩下 [建立新的 金鑰保存庫]。 系統會要求您提供資源群組、位置和 SKU。
在 [設定金鑰保存庫] 畫面中,您可以變更參考金鑰保存庫 URI 之環境變數的名稱。 連接字串不會儲存在這裡,而是儲存在金鑰保存庫中。
注意
為了改善安全性,在 Visual Studio 17.12 和更新版本中,此步驟會建立連線設定名稱;舊版會建立 連接字串。 如果連接字串不小心公開,則儲存在本機的連接字串可能會導致安全性風險。
按 [下一步 ],直到您看到變更的摘要,然後按兩下[ 完成]。
開始之前,請先確定您已登入 Visual Studio。 請使用您 Azure 訂閱的相同帳戶登入。 接著開啟 ASP.NET 4.7.1 或更新版本,或 ASP.NET Core Web 專案,然後執行下列步驟。
在 [方案總管] 中,以滑鼠右鍵按一下您要新增 Key Vault 支援的專案,然後選擇 [新增]>[已連接的服務],或以滑鼠右鍵按一下 [已連接的服務] 節點,選取 [新增]。
如果您沒看到 [已連接的服務] 節點,請選取 [專案]>[已連接的服務]>[新增]。
在 [服務相依性] 底下,選擇 + 圖示。 [已連線的服務] 頁面隨即出現,其中包含您可以新增至專案的服務。
在可用服務的功能表中,選擇 [Azure Key Vault],然後按 [下一步]。
選取您要使用的訂閱,若已建立要使用的 Key Vault,請進行選取,然後按一下 [下一步]。
如果目前沒有 Key Vault,請按一下 [建立新的 Key Vault]。 系統會要求您提供資源群組、位置和 SKU。
在 [設定金鑰保存庫] 畫面中,您可以變更參考金鑰保存庫 URI 之環境變數的名稱。 連接字串不會儲存在這裡,而是儲存在金鑰保存庫中。
按 [下一步] 以檢閱變更的摘要,然後按一下 [完成]。
現在已建立與 Key Vault 的連線,並且您可以在程式碼中存取秘密。 如果這是您新建立的金鑰保存庫,請建立可在程式碼中參考的秘密來進行測試。 您可以使用 Azure 入口網站、PowerShell 或 Azure CLI 來建立秘密。
請參閱適用於 .NET 的 Azure Key Vault 秘密用戶端程式庫 - 程式碼範例的秘密使用範例。
設定金鑰保存庫存取權
如果您遵循本教學課程搭配 Visual Studio 2022 17.11 版或更早版本,您的 金鑰保存庫 許可權會設定為使用您自己的 Azure 訂用帳戶執行,但對於生產案例而言可能不理想。 您可以建立受控識別來管理應用程式的 Key Vault 存取權。 請參閱如何驗證 Key Vault 和指派 Key Vault 存取原則。
如果您執行金鑰保存庫使用的 Microsoft 帳戶,與登入 Visual Studio 使用的帳戶不同 (例如金鑰保存庫使用您的公司帳戶執行,但 Visual Studio 使用的是您的私人帳戶),您會在 Program.cs 檔案收到 Visual Studio 無法存取金鑰保存庫的錯誤。 若要修正這個問題,請移至 Azure 入口網站、開啟金鑰保存庫,然後選擇 [存取控制](IAM) 來設定權限。 請參閱使用 Azure 角色型存取控制 (RBAC) 來提供金鑰保存庫金鑰、憑證和密碼的存取權。
注意
較舊的金鑰保存庫可能會使用舊版存取原則模型。 若要使用 Azure RBAC,建議移轉較舊的金鑰保存庫。 請參閱 Azure 角色型存取控制 (RBAC) 與存取原則。
下一步
若要深入了解 Key Vault 開發,請參閱 Key Vault 開發人員指南。
如果您的目標是將 ASP.NET Core 應用程式的設定儲存在 Azure Key Vault 中,請參閱 ASP.NET Core 中的 Azure Key Vault 設定提供者。