Поделиться через


Добавление Azure Key Vault в веб-приложение с помощью Подключенных служб Visual Studio

В этом руководстве вы узнаете, как легко добавить все, что нужно, чтобы приступить к использованию Azure Key Vault для управления секретами веб-проектов в Visual Studio при работе с проектом ASP.NET Core или проектом ASP.NET любого типа. С помощью функции "Подключенные службы" в Visual Studio можно использовать Visual Studio, чтобы автоматически добавлять пакеты NuGet и параметры конфигурации, необходимые для подключения к хранилищу ключей в Azure.

Необходимые компоненты

Добавление поддержки Key Vault в проект

Прежде чем начать, убедитесь, что вы вошли в Visual Studio. Войти с той же учетной записи, с которой вы пользуетесь подпиской Azure. Затем откройте веб-проект ASP.NET версии 4.7.1 или более поздней версии или ASP.NET Core и выполните следующие действия. Ниже приведены шаги для Visual Studio 2022 версии 17.4. Поток может немного отличаться для других версий Visual Studio.

  1. В Обозреватель решений щелкните правой кнопкой мыши проект, в который нужно добавить поддержку Key Vault, и выберите пункт "Добавить> подключенную службу" или щелкните правой кнопкой мыши узел "Подключенные службы".

    Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>

  2. В разделе "Зависимости службы" выберите + значок. Откроется страница "Подключенная служба" с перечнем служб, которые можно добавить в проект.

  3. В меню служб выберите Azure Key Vaultи щелкните Next.

    Снимок экрана: экран

  4. Выберите подписку, которую вы хотите использовать, а затем, если у вас уже есть хранилище ключей, которое вы хотите использовать, нажмите кнопку " Далее".

    Снимок экрана: выбор подписки.

  5. Если у вас нет существующего хранилища ключей или требуется хранилище ключей, которое можно задать с разными разрешениями, чем существующее, нажмите кнопку "Создать новое хранилище ключей". Вам будет предложено указать группу ресурсов, расположение и номер SKU.

    Снимок экрана:

  6. На экране "Настройка Key Vault" можно изменить имя переменной среды, которая ссылается на универсальный код ресурса (URI) Key Vault. Строка подключения здесь не хранится; он хранится в хранилище ключей.

    Снимок экрана: подключение к Azure Key Vault.

    Примечание.

    Для повышения безопасности в Visual Studio 17.12 и более поздних версиях этот шаг создает имя параметра подключения; Предыдущие версии создают строка подключения. Строки подключения, хранящиеся локально, могут привести к риску безопасности, если они непреднамеренно предоставляются.

  7. Нажмите кнопку "Далее", пока не увидите сводку об изменениях, а затем завершите работу.

Прежде чем начать, убедитесь, что вы вошли в Visual Studio. Войти с той же учетной записи, с которой вы пользуетесь подпиской Azure. Затем откройте веб-проект ASP.NET версии 4.7.1 или более поздней версии или ASP.NET Core и выполните следующие действия.

  1. В Обозреватель решений щелкните правой кнопкой мыши проект, в который нужно добавить поддержку Key Vault, и выберите пункт "Добавить> подключенную службу" или щелкните правой кнопкой мыши узел "Подключенные службы".

    Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>

  2. В разделе "Зависимости службы" выберите + значок. Откроется страница "Подключенная служба" с перечнем служб, которые можно добавить в проект.

  3. В меню служб выберите Azure Key Vaultи щелкните Next.

    Снимок экрана: экран

  4. Выберите подписку, которую вы хотите использовать, а затем, если у вас уже есть хранилище ключей, которое вы хотите использовать, нажмите кнопку " Далее".

    Снимок экрана: выбор подписки.

  5. Если у вас нет существующего хранилища ключей, нажмите кнопку "Создать новое хранилище ключей". Вам будет предложено указать группу ресурсов, расположение и номер SKU.

    Снимок экрана:

  6. На экране "Настройка Key Vault" можно изменить имя переменной среды, которая ссылается на универсальный код ресурса (URI) Key Vault. Строка подключения здесь не хранится; он хранится в хранилище ключей.

    Снимок экрана: подключение к Azure Key Vault.

  7. Нажмите кнопку "Далее ", чтобы просмотреть сводку изменений и завершить.

Теперь подключение к Key Vault установлено и вы можете получить доступ к секретам в коде. Если вы только что создали новое хранилище ключей, проверьте его, создав секрет, который можно ссылаться в коде. Вы можете создать секрет с помощью портала Azure, PowerShell или Azure CLI.

Примеры работы с секретами в клиентской библиотеке секретов Azure Key Vault для .NET — примеры кода.

Настройка доступа к хранилищу ключей

Если вы выполнили это руководство с Visual Studio 2022 версии 17.11 или более ранней, разрешения Key Vault настроены для запуска с помощью собственной подписки Azure, но это может быть нежелательно для рабочего сценария. Вы можете создать управляемое удостоверение для управления доступом к Key Vault для вашего приложения. См. статью Проверка подлинности в Key Vault и назначение политики доступа в Key Vault.

Если хранилище ключей выполняется в другой учетной записи Майкрософт, отличной от учетной записи Майкрософт, вошедшего в Visual Studio (например, хранилище ключей выполняется в рабочей учетной записи, но Visual Studio использует частную учетную запись) вы получите ошибку в файле Program.cs, что Visual Studio не может получить доступ к хранилищу ключей. Чтобы устранить эту проблему, перейдите к портал Azure, откройте хранилище ключей и выберите элемент управления доступом (IAM), чтобы задать разрешения. См. раздел "Предоставление доступа к ключам, сертификатам и секретам" с помощью управления доступом на основе ролей Azure (RBAC).

Примечание.

Старые хранилища ключей могут использовать устаревшую модель политики доступа. Рекомендуется перенести старые хранилища ключей для использования Azure RBAC. Ознакомьтесь с политиками доступа на основе ролей Azure (RBAC) и политиками доступа.

Следующие шаги

Узнайте больше о разработке для Key Vault в руководстве разработчика для Key Vault.

Если ваша цель заключается в хранении конфигурации для приложения ASP.NET Core в хранилище ключей Azure, ознакомьтесь с поставщиком конфигурации Azure Key Vault в ASP.NET Core.