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


Руководство. Использование управляемого удостоверения, назначаемого пользователем на виртуальной машине, для доступа к Azure Resource Manager

В этом кратком руководстве показано, как использовать управляемое удостоверение, назначаемое системой, в качестве удостоверения виртуальной машины для доступа к API Azure Resource Manager. Управляемые удостоверения для ресурсов Azure автоматически управляются Azure и позволяют выполнять проверку подлинности в службах, поддерживающих проверку подлинности Microsoft Entra, без необходимости вставлять учетные данные в код.

Управляемые удостоверения для ресурсов Azure — это функция идентификатора Microsoft Entra. Каждая служба Azure, которая поддерживает управляемые удостоверения для ресурсов Azure, используется в соответствии с собственной временной шкалой. Прежде чем начать работу, обязательно проверьте состояние доступности управляемых удостоверений для своего ресурса и ознакомьтесь с известными проблемами.

Вы изучите следующие темы:

  • Предоставление виртуальной машине доступа к группе ресурсов в Azure Resource Manager
  • Получение маркера доступа с помощью удостоверения виртуальной машины и его использование для вызова Azure Resource Manager

Использование управляемого удостоверения, назначаемого системой виртуальной машины Windows, для доступа к диспетчеру ресурсов

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

В этом руководстве объясняется, как создать назначаемое системой удостоверение, назначить его виртуальной машине Windows, а затем использовать это удостоверение для доступа к API Azure Resource Manager . Управляемые удостоверения службы автоматически управляются платформой Azure. Они позволяют выполнять проверку подлинности в службах, поддерживающих проверку подлинности Microsoft Entra, не требуя внедрения учетных данных в код.

Вы изучите следующие темы:

  • Предоставьте виртуальной машине доступ к Azure Resource Manager.
  • Получите маркер доступа с помощью назначаемого системой управляемого удостоверения виртуальной машины для доступа к Resource Manager.
  1. Войдите в портал Azure с учетной записью администратора.

  2. Перейдите на вкладку "Группы ресурсов".

  3. Выберите группу ресурсов, которую требуется предоставить управляемому удостоверению виртуальной машины.

  4. На левой панели выберите элемент управления доступом (IAM).

  5. Нажмите + Добавить и выберите Добавить назначение ролей.

  6. На вкладке "Роль" выберите "Читатель". Эта роль позволяет просматривать все ресурсы, но не позволяет вносить изменения.

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

  8. Убедитесь, что в раскрывающемся списке подписки указана соответствующая подписка . Для группы ресурсов выберите все группы ресурсов.

  9. В раскрывающемся списке "Управление удостоверениями " выберите виртуальную машину.

  10. Для выбора выберите виртуальную машину в раскрывающемся списке, а затем нажмите кнопку "Сохранить".

    Снимок экрана: добавление роли читателя в управляемое удостоверение.

Получение маркера доступа.

Используйте управляемое удостоверение, назначаемое системой, и вызовите Resource Manager, чтобы получить маркер доступа.

Для выполнения этих действий вам потребуется клиент SSH. Если вы используете Windows, можно использовать клиент SSH в подсистеме Windows для Linux. Если вам нужна помощь в настройке ключей SSH-клиента, ознакомьтесь с разделом Использование ключей SSH с Windows в Azure или Как создать и использовать пару из открытого и закрытого ключей SSH для виртуальных машин Linux в Azure.

  1. На портале перейдите к виртуальной машине Linux и в разделе "Обзор" выберите "Подключиться".
  2. Подключитесь к виртуальной машине с помощью выбранного клиента SSH.
  3. В окне curlтерминала выполните запрос к локальным управляемым удостоверениям для конечной точки ресурсов Azure, чтобы получить маркер доступа для Azure Resource Manager.   Запрос curl маркера доступа приведен ниже.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Примечание.

Значение resource параметра должно совпадать с ожидаемым идентификатором Microsoft Entra ID. В случае идентификатора ресурса Resource Manager необходимо включить конечную косую черту в URI.

Ответ включает маркер доступа, необходимый для доступа к Azure Resource Manager.

Ответ:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Используйте этот маркер доступа для доступа к Azure Resource Manager; Например, чтобы прочитать сведения о группе ресурсов, к которой вы ранее предоставили доступ к этой виртуальной машине. Замените значения <SUBSCRIPTION-ID>, <RESOURCE-GROUP> и <ACCESS-TOKEN> созданными ранее значениями.

Примечание.

URL-адрес учитывает регистр, поэтому убедитесь, что вы используете точный случай, используемый ранее при именовав группе ресурсов, и прописную букву G в resourceGroup.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

Ответ обратно со сведениями о конкретной группе ресурсов:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Использование управляемого удостоверения, назначаемого системой виртуальной машины Linux, для доступа к группе ресурсов в диспетчере ресурсов

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

В этом руководстве объясняется, как создать назначаемое системой удостоверение, назначить его виртуальной машине Linux, а затем использовать это удостоверение для доступа к API Azure Resource Manager . Управляемые удостоверения службы автоматически управляются платформой Azure. Они позволяют выполнять проверку подлинности в службах, поддерживающих проверку подлинности Microsoft Entra, не требуя внедрения учетных данных в код.

Узнайте следующие темы:

  • Предоставьте виртуальной машине доступ к диспетчеру ресурсов Azure.
  • Получите маркер доступа с помощью назначаемого системой управляемого удостоверения виртуальной машины для доступа к диспетчеру ресурсов.
  1. Войдите в портал Azure с учетной записью администратора.

  2. Перейдите на вкладку "Группы ресурсов".

  3. Выберите группу ресурсов, которую требуется предоставить управляемому удостоверению виртуальной машины.

  4. На левой панели выберите элемент управления доступом (IAM).

  5. Нажмите + Добавить и выберите Добавить назначение ролей.

  6. На вкладке "Роль" выберите "Читатель". Эта роль позволяет просматривать все ресурсы, но не позволяет вносить изменения.

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

  8. Убедитесь, что в раскрывающемся списке подписки указана соответствующая подписка . Для группы ресурсов выберите все группы ресурсов.

  9. В раскрывающемся списке "Управление удостоверениями " выберите виртуальную машину.

  10. В раскрывающемся списке выберите виртуальную машину, а затем нажмите кнопку "Сохранить".

    Снимок экрана: добавление роли читателя в управляемое удостоверение.

Получение маркера доступа.

Используйте управляемое удостоверение, назначаемое системой, и вызовите диспетчер ресурсов, чтобы получить маркер доступа.

Для выполнения этих действий вам потребуется клиент SSH. Если вы используете Windows, можно использовать клиент SSH в подсистеме Windows для Linux. Если вам нужна помощь в настройке ключей SSH-клиента, ознакомьтесь с разделом Использование ключей SSH с Windows в Azure или Как создать и использовать пару из открытого и закрытого ключей SSH для виртуальных машин Linux в Azure.

  1. В портал Azure перейдите к виртуальной машине Linux.
  2. В разделе "Обзор" выберите "Подключиться".
  3. Подключитесь к виртуальной машине с помощью выбранного клиента SSH.
  4. В окне curlтерминала выполните запрос к локальным управляемым удостоверениям для конечной точки ресурсов Azure, чтобы получить маркер доступа для Диспетчера ресурсов Azure.   Запрос curl маркера доступа приведен ниже.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Примечание.

Значение resource параметра должно совпадать с ожидаемым идентификатором Microsoft Entra ID. В случае идентификатора ресурса resource manager необходимо включить конечную косую черту в URI.

Ответ включает маркер доступа, необходимый для доступа к диспетчеру ресурсов Azure.

Ответ:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Используйте этот маркер доступа для доступа к диспетчеру ресурсов Azure. Например, чтобы прочитать сведения о группе ресурсов, к которой вы ранее предоставили доступ к этой виртуальной машине. Замените значения <SUBSCRIPTION-ID>, <RESOURCE-GROUP> и <ACCESS-TOKEN> созданными ранее значениями.

Примечание.

URL-адрес учитывает регистр, поэтому убедитесь, что вы используете точный случай, используемый ранее при именовав группе ресурсов, и в верхнем регистре "G".resourceGroup

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

Ответ обратно со сведениями о конкретной группе ресурсов:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

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

Из этого краткого руководства вы узнали, как использовать назначаемое системой управляемое удостоверение на виртуальной машине для доступа к API Azure Resource Manager. Дополнительные сведения о Azure Resource Manager см. в следующем разделе: