Добавление Azure Key Vault в веб-приложение с помощью Подключенных служб Visual Studio
В этом руководстве вы узнаете, как легко добавить все, что нужно, чтобы приступить к использованию Azure Key Vault для управления секретами веб-проектов в Visual Studio при работе с проектом ASP.NET Core или проектом ASP.NET любого типа. С помощью функции "Подключенные службы" в Visual Studio можно использовать Visual Studio, чтобы автоматически добавлять пакеты NuGet и параметры конфигурации, необходимые для подключения к хранилищу ключей в 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".>
В разделе "Зависимости службы" выберите + значок. Откроется страница "Подключенная служба" с перечнем служб, которые можно добавить в проект.
В меню служб выберите Azure Key Vaultи щелкните Next.
Выберите подписку, которую вы хотите использовать, а затем, если у вас уже есть хранилище ключей, которое вы хотите использовать, нажмите кнопку " Далее".
Если у вас нет существующего хранилища ключей или требуется хранилище ключей, которое можно задать с разными разрешениями, чем существующее, нажмите кнопку "Создать новое хранилище ключей". Вам будет предложено указать группу ресурсов, расположение и номер SKU.
На экране "Настройка Key Vault" можно изменить имя переменной среды, которая ссылается на универсальный код ресурса (URI) Key Vault. Строка подключения здесь не хранится; он хранится в хранилище ключей.
Примечание.
Для повышения безопасности в Visual Studio 17.12 и более поздних версиях этот шаг создает имя параметра подключения; Предыдущие версии создают строка подключения. Строки подключения, хранящиеся локально, могут привести к риску безопасности, если они непреднамеренно предоставляются.
Нажмите кнопку "Далее", пока не увидите сводку об изменениях, а затем завершите работу.
Прежде чем начать, убедитесь, что вы вошли в Visual Studio. Войти с той же учетной записи, с которой вы пользуетесь подпиской Azure. Затем откройте веб-проект ASP.NET версии 4.7.1 или более поздней версии или ASP.NET Core и выполните следующие действия.
В Обозреватель решений щелкните правой кнопкой мыши проект, в который нужно добавить поддержку Key Vault, и выберите пункт "Добавить> подключенную службу" или щелкните правой кнопкой мыши узел "Подключенные службы".
Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>
В разделе "Зависимости службы" выберите + значок. Откроется страница "Подключенная служба" с перечнем служб, которые можно добавить в проект.
В меню служб выберите Azure Key Vaultи щелкните Next.
Выберите подписку, которую вы хотите использовать, а затем, если у вас уже есть хранилище ключей, которое вы хотите использовать, нажмите кнопку " Далее".
Если у вас нет существующего хранилища ключей, нажмите кнопку "Создать новое хранилище ключей". Вам будет предложено указать группу ресурсов, расположение и номер 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 и назначение политики доступа в 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.