共用方式為


使用 Visual Studio 連線服務將 Key Vault 新增至 Web 應用程式

在本教學課程中,您將瞭解如何輕鬆地新增開始使用 Azure Key Vault 來管理 Visual Studio 中 Web 專案的秘密所需的一切,無論是使用 ASP.NET Core 或任何類型的 ASP.NET 專案。 使用 Visual Studio 中的連線服務功能,您可以讓 Visual Studio 自動新增連線至 Azure 中 Key Vault 所需的所有 NuGet 套件和組態設定。

先決條件

將 Key Vault 支援新增至您的專案

開始之前,請確定您已登入 Visual Studio。 使用您用於 Azure 訂用帳戶的相同帳戶登入。 然後開啟 ASP.NET 4.7.1 或更新版本,或 ASP.NET Core Web 專案,然後執行下列步驟。 顯示的步驟適用於 Visual Studio 2022 17.4 版。 其他 Visual Studio 版本的流程可能稍有不同。

  1. [方案總管]中,以滑鼠右鍵按兩下您要新增 Key Vault 支援的項目,然後選擇 [新增>連線服務],或以滑鼠右鍵按兩下 [已連線的服務] 節點,然後選取 [[新增]。

    如果您沒有看到 [連線服務] 節點,請選擇 [專案>連線服務]>[新增]。

  2. 在 [服務相依性下,選擇 + 圖示。 [已連線的服務] 頁面隨即出現,其中包含您可以新增至項目的服務。

  3. 在可用的服務功能表中,選擇 [Azure Key Vault],然後點擊 [下一步]

    顯示 [已連線服務] 畫面的螢幕快照,以及選擇 [Azure Key Vault] 的選項。

  4. 選取您要使用的訂閱,然後如果您已經有要使用的金鑰庫,請選取它,然後按一下下一步

    螢幕快照顯示 [選擇您的訂閱]。

  5. 如果您沒有現有的 Key Vault,或您需要具有與現有金鑰儲存庫不同的權限設定的金鑰保存庫,請按下 [建立新的金鑰保存庫]。 系統會要求您提供資源群組、位置和 SKU。

    [建立 Azure Key Vault] 畫面的螢幕快照。

  6. 在 [設定 Key Vault 畫面中,您可以變更參考 Key Vault URI 的環境變數名稱。 連接字串不會儲存在這裡;它儲存在金鑰保存庫中。

    [連線至 Azure Key Vault] 畫面的螢幕快照。

    注意

    為了改善安全性,在 Visual Studio 17.12 和更新版本中,此步驟會建立連線設定名稱;舊版會建立連接字串。 將連接字串儲存在本機,若不慎暴露,可能會導致安全風險。

  7. 按下 [下一步],直到您看到變更的摘要,然後按 [完成]

開始之前,請確定您已登入 Visual Studio。 使用您用於 Azure 訂用帳戶的相同帳戶登入。 然後開啟 ASP.NET 4.7.1 或更新版本,或 ASP.NET Core Web 專案,然後執行下列步驟。

  1. [方案總管]中,以滑鼠右鍵按兩下您要新增 Key Vault 支援的項目,然後選擇 [新增>連線服務],或以滑鼠右鍵按兩下 [已連線的服務] 節點,然後選取 [[新增]。

    如果您沒有看到 [連線服務] 節點,請選擇 [專案>連線服務]>[新增]。

  2. 在 [服務相依性下,選擇 + 圖示。 [已連線的服務] 頁面隨即出現,其中包含您可以新增至項目的服務。

  3. 在可用的服務功能表中,選擇 [Azure Key Vault],然後點擊 [下一步]

    螢幕快照顯示[已連線服務]畫面,以及選擇[Azure Key Vault]的選項。

  4. 選取您要使用的訂用帳戶,然後如果您已經有要使用的金鑰保存庫,請選取它,然後按下一步 [Next]。

    顯示 [選取訂用帳戶] 的螢幕擷取畫面。

  5. 如果您沒有現有的 Key Vault,請按兩下 [建立新的 Key Vault。 系統會要求您提供資源群組、位置和 SKU。

    [建立 Azure Key Vault] 畫面的螢幕快照。

  6. 在 [設定 Key Vault 畫面中,您可以變更參考 Key Vault URI 的環境變數名稱。 連接字串不會儲存在這裡;它儲存在金鑰保存庫中。

    [連線至 Azure Key Vault] 畫面的螢幕快照。

  7. 按下 下一步 以檢閱變更的摘要,然後 完成

現在,已與 Key Vault 建立連線,而且您可以在程式碼中存取機密資料。 如果您剛建立新的金鑰保存庫,請建立一個能夠在程式碼中引用的機密來測試它。 您可以使用 Azure 入口網站PowerShellAzure CLI來建立秘密。

請參閱適用於 .NET 的 Azure Key Vault 密鑰庫的秘密客戶端程式庫中有關處理秘密的程式碼範例 - 程式碼範例

設定金鑰保存庫的存取權

如果您遵循本教學課程搭配 Visual Studio 2022 17.11 版或更早版本,您的 Key Vault 許可權會設定為使用您自己的 Azure 訂用帳戶執行,但對生產案例可能不理想。 您可以建立受控識別來管理應用程式的 Key Vault 存取權。 請參閱 如何驗證金鑰儲存庫指派金鑰保存庫存取原則

如果您的金鑰保存庫是在與您登入 Visual Studio 的帳戶不同的Microsoft帳戶上執行(例如,金鑰保存庫正在您的工作帳戶上執行,但 Visual Studio 正在使用您的私人帳戶),您在Program.cs檔案中收到錯誤,Visual Studio 無法存取密鑰保存庫。 若要修正此問題,請移至 Azure 入口網站,開啟您的密鑰保存庫,然後選擇 [存取控制 (IAM) 來設定許可權。 請參閱 使用 Azure 角色型存取控制 (RBAC)提供 Key Vault 金鑰、憑證和秘密的存取權。

注意

較舊的金鑰保存庫可能會使用舊版存取原則模型。 建議移轉較舊的密鑰保存庫以使用 Azure RBAC。 請參閱 Azure 角色型存取控制 (RBAC) 與存取原則

後續步驟

若要深入瞭解 Key Vault 開發,請參閱 Key Vault 開發人員指南。

如果您的目標是將 ASP.NET Core 應用程式的組態儲存在 Azure 金鑰保存庫中,請參閱 ASP.NET Core 中的Azure Key Vault 設定提供者。