Добавление Key Vault в веб-приложение с помощью подключенных служб Visual Studio
В этом руководстве вы узнаете, как легко добавить все, что необходимо, чтобы начать использовать Azure Key Vault для управления секретами ваших веб-проектов в Visual Studio, независимо от того, используете ли вы ASP.NET Core или любой другой тип проекта ASP.NET. С помощью функции подключенных служб в Visual Studio вы можете автоматически добавить все пакеты NuGet и параметры конфигурации, необходимые для подключения к Key Vault в Azure.
Необходимые условия
- Учетная запись Azure. Если у вас нет учетной записи Azure, активируйте преимущества Azure для подписчиков Visual Studio или зарегистрироваться для получения бесплатной пробной версии.
- Visual Studio 2019 версии 16.3 или новее скачайте.
Добавление поддержки Key Vault в проект
Прежде чем начать, убедитесь, что вы вошли в Visual Studio. Войдите с той же учетной записью, которую вы используете для подписки Azure. Затем откройте веб-проект ASP.NET версии 4.7.1 или более поздней версии или ASP.NET Core и выполните следующие действия. Ниже приведены шаги для Visual Studio 2022 версии 17.4. Ход выполнения может немного отличаться для других версий Visual Studio.
В обозревателе решенийщелкните правой кнопкой мыши проект, в который нужно добавить поддержку Key Vault, и выберите Добавить>Подключенную службу, или щелкните правой кнопкой мыши на узле Подключенные службы и выберите Добавить.
Если узел подключенных служб не отображается, выберите Project>Connected Services>Добавить.
В разделе «Зависимости сервиса»выберите значок +. Откроется страница "Подключенная служба" со службами, которые можно добавить в проект.
В меню доступных служб выберите Azure Key Vault и нажмите кнопку Далее.
Выберите подписку, которую вы хотите использовать, а затем, если у вас уже есть хранилище ключей, выберите его и нажмите кнопку Далее.
Если у вас нет существующего хранилища ключей или требуется хранилище ключей, которое можно задать с разными разрешениями, чем существующее, щелкните Создать новое хранилище ключей. Вам будет предложено указать группу ресурсов, расположение и номер SKU.
На экране Конфигурация Key Vault вы можете изменить имя переменной среды, которая указывает на URI Key Vault. Строка подключения не хранится здесь; она хранится в хранилище ключей.
Заметка
Для повышения безопасности в Visual Studio 17.12 и более поздних версиях этот шаг создает имя параметра подключения; Предыдущие версии создают строку подключения. Строки подключения, хранящиеся локально, могут привести к угрозе безопасности, если они непреднамеренно оказываются раскрытыми.
Нажмите кнопку Далее, пока не увидите сводку изменений, а затем кнопку Готово.
Прежде чем начать, убедитесь, что вы вошли в Visual Studio. Войдите с той же учетной записью, которую вы используете для подписки Azure. Затем откройте веб-проект ASP.NET версии 4.7.1 или более поздней версии или ASP.NET Core и выполните следующие действия.
В обозревателе решенийщелкните правой кнопкой мыши проект, в который нужно добавить поддержку Key Vault, и выберите Добавить>Подключенную службу, или щелкните правой кнопкой мыши на узле Подключенные службы и выберите Добавить.
Если узел подключенных служб не отображается, выберите Project>Connected Services>Добавить.
В разделе «Зависимости сервиса»выберите значок +. Откроется страница "Подключенная служба" со службами, которые можно добавить в проект.
В меню доступных служб выберите Azure Key Vault и нажмите кнопку Далее.
Выберите подписку, которую вы хотите использовать, а затем, если у вас уже есть хранилище ключей, выберите его и нажмите кнопку Далее.
Если у вас нет существующего хранилища ключей, щелкните Создать новое хранилище ключей. Вам будет предложено указать группу ресурсов, расположение и номер SKU.
На экране Конфигурация Key Vault вы можете изменить имя переменной среды, которая указывает на URI Key Vault. Строка подключения не хранится здесь; она хранится в хранилище ключей.
Нажмите кнопку Далее, чтобы просмотреть сводку изменений, а затем Готово.
Теперь подключение к Key Vault установлено, и вы можете получить доступ к секретам в коде. Если вы только что создали новое хранилище ключей, проверьте его, создав секрет, который можно ссылаться в коде. Вы можете создать секрет с помощью портала Azure, PowerShellили Azure CLI.
Примеры работы с секретами см. в клиентской библиотеке секретов Azure Key Vault для .NET. Примеры кода.
Настройка доступа к хранилищу ключей
Если вы выполнили это руководство с Visual Studio 2022 версии 17.11 или более ранней, разрешения Key Vault настроены для запуска с помощью собственной подписки Azure, но это может быть нежелательно для рабочего сценария. Вы можете создать управляемое удостоверение для управления доступом к хранилищу ключей для вашего приложения. См. как аутентифицироваться в Key Vault и назначить политику доступа для Key Vault.
Если ваше хранилище ключей работает на другой учетной записи Microsoft, чем та, под которой вы вошли в Visual Studio (например, хранилище ключей работает на вашей рабочей учетной записи, а Visual Studio использует вашу личную учетную запись), вы получите ошибку в файле Program.cs о том, что Visual Studio не может получить доступ к хранилищу ключей. Чтобы устранить эту проблему, перейдите на портал Azure, откройте хранилище ключей и выберите управления доступом (IAM), чтобы задать разрешения. См. Предоставление доступа к ключам, сертификатам и секретам Key Vault с помощью управления доступом на основе ролей в Azure (RBAC).
Заметка
Старые хранилища ключей могут использовать устаревшую модель политики доступа. Рекомендуется перенести старые хранилища ключей для использования Azure RBAC. См. управление доступом на основе ролей Azure (RBAC) противполитик доступа.
Дальнейшие действия
Дополнительные сведения о разработке Key Vault см. в руководстве разработчика Key Vault.
Если ваша цель заключается в хранении конфигурации для приложения ASP.NET Core в Azure Key Vault, обратитесь к поставщику конфигурации Azure Key Vault в ASP.NET Core.