Использование назначаемого системой управляемого удостоверения на виртуальной машине Windows для доступа к Resource Manager
Управляемые удостоверения для ресурсов Azure — это функция идентификатора Microsoft Entra. Каждая служба Azure, которая поддерживает управляемые удостоверения для ресурсов Azure, используется в соответствии с собственной временной шкалой. Прежде чем начать работу, обязательно проверьте состояние доступности управляемых удостоверений для своего ресурса и ознакомьтесь с известными проблемами.
В этом руководстве показано, как получить доступ к API Azure Resource Manager с помощью виртуальной машины Windows с включенным управляемым удостоверением, назначаемым системой. Управляемые удостоверения для ресурсов Azure автоматически управляются Azure и позволяют выполнять проверку подлинности в службах, поддерживающих проверку подлинности Microsoft Entra, без необходимости вставлять учетные данные в код. Узнайте следующие темы:
- Предоставление виртуальной машине доступа к группе ресурсов в Azure Resource Manager.
- Получение маркера доступа с помощью удостоверения виртуальной машины и вызов Azure Resource Manager с его помощью.
Необходимые компоненты
- Базовое представление об управляемых удостоверениях. См. дополнительные сведения об управляемых удостоверениях для ресурсов Azure.
- Учетная запись Azure. Зарегистрируйте бесплатную учетную запись.
- Разрешения роли "Владелец" в соответствующей области (подписка или группа ресурсов) для выполнения требуемых операций создания ресурсов и управления ролями учетной записи. Если нуждаетесь в помощи с назначением ролей, прочитайте статью Назначение ролей Azure с помощью портала Azure.
- Кроме того, вам потребуется виртуальная машина Windows с включенными управляемыми удостоверениями, назначенными системой.
- Если вам нужно создать виртуальную машину для работы с этим руководством, см. раздел Управляемое удостоверение, назначаемое системой.
Включить
Включить управляемое удостоверение, назначаемое системой, можно одним щелчком мыши. Это можно сделать при создании виртуальной машины или в свойствах существующей виртуальной машины.
Чтобы включить управляемое удостоверение, назначаемое системой, для новой виртуальной машины, сделайте следующее:
Войдите на портал Azure
Создайте виртуальную машину с включенным удостоверением, назначенным системой.
Предоставьте виртуальной машине доступ к группе ресурсов в Resource Manager.
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
С помощью управляемых удостоверений для ресурсов Azure приложение может получить маркеры доступа для проверки подлинности в ресурсах, поддерживающих проверку подлинности Microsoft Entra. API Azure Resource Manager поддерживает проверку подлинности Microsoft Entra. В этом случае группа ресурсов предоставляет этому виртуальной машине доступ к ресурсу в Azure Resource Manager. Мы назначаем роль читателя управляемому удостоверению в область группы ресурсов.
- Войдите в портал Azure с учетной записью администратора.
- Перейдите на вкладку Группы ресурсов.
- Выберите группу ресурсов, к которой нужно предоставить доступ к управляемому удостоверению виртуальной машины.
- На левой панели выберите элемент управления доступом (IAM).
- Выберите Добавить, затем выберите Добавить назначение ролей.
- На вкладке "Роль" выберите "Читатель". Эта роль позволяет просматривать все ресурсы, но не позволяет вносить изменения.
- На вкладке "Члены" выберите "Назначить доступ" и выберите "Управляемое удостоверение". Затем нажмите кнопку +Выбрать участников.
- Убедитесь, что в раскрывающемся списке подписки указана соответствующая подписка . В поле Группа ресурсов выберите Все группы ресурсов.
- В раскрывающемся списке "Управление удостоверениями " выберите виртуальную машину.
- Наконец, в раскрывающемся списке выберите виртуальную машину Windows и нажмите кнопку "Сохранить".
Получение маркера доступа с использованием назначаемого системой управляемого удостоверения виртуальной машины и вызов Azure Resource Manager с помощью этого маркера
В этой части необходимо использовать PowerShell . Если среда PowerShell не установлена, загрузите ее отсюда.
На портале перейдите к разделу Виртуальные машины, выберите свою виртуальную машину Windows и в разделе Обзор щелкните Подключить.
Введите имя пользователя и пароль, добавленные при создании виртуальной машины Windows.
Теперь, когда создано подключение к удаленному рабочему столу с виртуальной машиной, откройте PowerShell в удаленном сеансе.
С помощью командлета Invoke-WebRequest выполните запрос к локальной конечной точке управляемых удостоверений для ресурсов Azure, чтобы получить маркер доступа к Azure Resource Manager.
$response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
Примечание.
Значение параметра resource должно совпадать с ожидаемым идентификатором Microsoft Entra. Если используется идентификатор ресурса Resource Manager, добавьте косую черту после универсального кода ресурса (URI).
Затем извлеките полный ответ, который хранится в виде форматированной строки JSON в объекте $response.
$content = $response.Content | ConvertFrom-Json
Затем извлеките маркер доступа из ответа.
$ArmToken = $content.access_token
Теперь вызовите Azure Resource Manager с использованием маркера доступа. В этом примере также используется командлет Invoke-WebRequest для вызова Azure Resource Manager и включения маркер доступа в заголовок авторизации.
(Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
Примечание.
URL-адрес чувствителен к регистру, поэтому должен использоваться тот же регистр, который использовался, когда вы присваивали имя группе ресурсов. Проверьте, чтобы в resourceGroups обязательно использовался символ "G" (прописная буква).
Следующая команда возвращает сведения о группе ресурсов:
{"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
Следующие шаги
Из этого краткого руководства вы узнали, как использовать назначаемое системой управляемое удостоверение для доступа к API Azure Resource Manager. Сведения об Azure Resource Manager см. здесь: