Как использовать MSI для разработки в визуальной студии?
Мне нужно получить доступ к моему хранилищу ключей во время разработки и отладки. Возможно ли это через использование идентификатора управляемого сервиса? Я вижу, что мой код может получить эти учетные данные при развертывании приложения на ВМ, но что, если они понадобятся мне во время разработки на моей локальной рабочей станции?
3 ответа
Начиная с Visual Studio 2017 15.8, что-то, упомянутое juunas, встроено в Visual Studio.
Сервис -> Параметры -> Аутентификация службы Azure -> Выбор учетной записи
Ознакомьтесь с документацией для DefaultAzureCredential (.NET), в которой объясняется, как настроить это как для разработки, так и для управляемой идентификации.
Ниже приведены ссылки для некоторых других поддерживаемых языков.
Вот пример приложения Microsoft ( проект Github) с довольно подробными инструкциями о том, как начать работу с локальным разработчиком, используя MSI и Key Vault, в файле readme.
Ключевым моментом является то, что при локальной отладке вы работаете не в качестве участника-службы приложения, зарегистрированного в MSI, а в качестве себя. Лазурный CLI az login
а также az account set
Команды устанавливают контекст по умолчанию для вашего сеанса отладки. Вы запустите эти команды, а затем войдете на портал под своей учетной записью Azure и дадите своей учетной записи Azure доступ к хранилищу ключей.
Одним из способов является установка 2.0 Azure CLI и вход в систему с az login
, Затем убедитесь, что выбрана правильная подписка az account set -s "My Azure Subscription name or id"
,
Затем вам необходимо убедиться, что учетная запись пользователя, в которую вы вошли, имеет доступ к хранилищу ключей.
Теперь перезапустите Visual Studio и запустите приложение. Это должно успешно пройти аутентификацию.
Другой способ - использовать новое расширение Visual Studio вместо CLI.