Настройка управляемых идентификаторов на виртуальных машинах Azure
Управляемые удостоверения для ресурсов Azure предоставляют службам Azure автоматически управляемое удостоверение, которое хранится в Microsoft Entra ID. Это удостоверение можно использовать для проверки подлинности в любой службе, которая поддерживает аутентификацию Microsoft Entra, без использования учетных данных в коде.
Сведения об определениях и деталях политики Azure см. в разделе «Использование политики Azure для назначения управляемых удостоверений (предварительная версия)».
Из этой статьи вы узнаете, как включать и отключать управляемые идентификаторы, назначаемые системой и пользователем, для виртуальных машин Azure с помощью портала Azure.
Предварительные условия
- Если вы не знакомы с управляемыми удостоверениями для ресурсов Azure, изучите общие сведения.
- Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.
Управляемое удостоверение, назначаемое системой
В этом разделе вы узнаете, как включить и отключить управляемое удостоверение, назначаемое системой, для виртуальной машины с помощью портала Azure.
Включение управляемого удостоверения, назначаемого системой, во время создания виртуальной машины
Чтобы включить назначаемое системой управляемое удостоверение на виртуальной машине во время ее создания, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
При создании виртуальной машины Windows или виртуальной машины Linuxвыберите вкладку "Управление".
В разделе удостоверения установите флажок Включить назначенное системой управляемое удостоверение.
Включение управляемого удостоверения, назначаемого системой, для имеющейся виртуальной машины
Чтобы включить назначаемое системой управляемое удостоверение на виртуальной машине, которая была подготовлена без него, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Войдите на портал Azure с помощью учетной записи, связанной с подпиской Azure, которая содержит виртуальную машину.
Перейдите к нужной виртуальной машине и в разделе Безопасность выберите Идентификация.
На вкладке Назначено системой в области Состояние нажмите кнопку Вкл., а затем — Сохранить.
Удалить управляемое удостоверение, назначенное системой, из виртуальной машины.
Чтобы удалить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Других назначений ролей для каталога Microsoft Entra не требуется.
При наличии виртуальной машины, которой больше не требуется управляемое удостоверение, назначаемое системой, сделайте следующее.
Войдите на портал Azure с помощью учетной записи, связанной с подпиской Azure, которая содержит виртуальную машину.
Перейдите к нужной виртуальной машине и в разделе Безопасность выберите Идентификация.
На вкладке Назначено системой в области Состояние нажмите кнопку Выкл., а затем — Сохранить.
Управляемая идентичность, назначаемая пользователем
В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, для виртуальной машины с помощью портала Azure.
Назначение удостоверения, присваиваемого пользователем, при создании виртуальной машины
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли Участник виртуальных машин и Оператор управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
В настоящее время портал Azure не поддерживает назначение управляемого удостоверения, созданного пользователем, во время создания виртуальной машины. Сначала создайте виртуальную машину Windows или виртуальную машину Linux, а затем присвойте виртуальной машине управляемую идентичность, назначаемую пользователем.
Назначение управляемой идентичности, назначаемой пользователем, для существующей виртуальной машины
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли Участник виртуальных машин и Оператор управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
Войдите на портал Azure с помощью учетной записи, связанной с подпиской Azure, которая содержит виртуальную машину.
Перейдите к нужной виртуальной машине и щелкните "Безопасность>Идентификация", назначенные пользователем, а затем +Добавить. Выберите удостоверение, назначаемое пользователем, которое нужно добавить в виртуальную машину, а затем нажмите кнопку Добавить.
Выберите ранее созданное пользовательское управляемое удостоверение из списка.
Удаление пользовательской управляемой идентичности с виртуальной машины
Чтобы удалить назначенное пользователем удостоверение с виртуальной машины, вашей учетной записи должна быть назначена роль Сотрудника виртуальной машины. Другие назначения ролей каталога Microsoft Entra не требуются.
Войдите на портал Azure с помощью учетной записи, связанной с подпиской Azure, которая содержит виртуальную машину.
Перейдите к нужной виртуальной машине, выберите Безопасность>Удостоверение, Назначенное пользователем, выберите имя управляемого удостоверения, назначенного пользователем, которое вы хотите удалить, затем нажмите "Удалить" (щелкните "Да" в области подтверждения).
Следующие шаги
- С помощью портала Azure предоставьте управляемому удостоверению виртуальной машины Azure доступ к другому ресурсу Azure.
В этой статье вы узнаете, как с помощью Azure CLI выполнять приведенные ниже операции с управляемыми удостоверениями для ресурсов Azure на виртуальной машине Azure.
- Включение и отключение назначаемой системой управляемой идентичности на виртуальной машине Azure
- Добавление и удаление управляемого удостоверения, назначаемого пользователем, в виртуальной машине Azure
Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.
Предварительные условия
- Если вы не работали с управляемыми удостоверениями для ресурсов Azure, см. статью Что такое управляемые удостоверения для ресурсов Azure. Сведения об удостоверениях, назначаемых системой и назначаемых пользователем, см. в разделе Типы управляемых удостоверений.
Используйте среду Bash в Azure Cloud Shell. Для получения дополнительной информации см. Краткое руководство по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Управляемое удостоверение, назначаемое системой
В этом разделе вы узнаете, как включить и отключить управляемое удостоверение, назначаемое системой, на виртуальной машине Azure с помощью Azure CLI.
Включите управляемую системой управляемую идентичность при создании виртуальной машины Azure.
Чтобы создать виртуальную машину Azure с включенным системно назначенным управляемым удостоверением, необходимо назначить вашей учетной записи роль Virtual Machine Contributor. Другие назначения ролей каталога Microsoft Entra не требуются.
Создайте группу ресурсов с помощью параметра az group create, чтобы сохранить и развернуть виртуальную машину и связанные с ней ресурсы. Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить:
az group create --name myResourceGroup --location westus
Создайте виртуальную машину, выполнив команду az vm create. В приведенном ниже примере создается виртуальная машина myVM с управляемым удостоверением, назначаемым системой, в соответствии с параметром
--assign-identity
с указанными--role
и--scope
. В параметрах--admin-username
и--admin-password
определяются имя и пароль учетной записи администратора для входа в виртуальную машину. Подставьте соответствующие значения для своей среды:az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope /Subscriptions/mySubscriptionId/resourceGroups/myResourceGroup --admin-username azureuser --admin-password myPassword12
Включите управляемую системой назначаемую идентификацию для существующей виртуальной машины Azure
Чтобы включить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Если вы используете Azure CLI в локальной консоли, сначала выполните вход в Azure с помощью команды az login. Используйте учетную запись, связанную с подпиской Azure, которая содержит виртуальную машину.
az login
Чтобы включить удостоверение, назначаемое системой на имеющейся виртуальной машине, используйте команду az vm identity assign вместе с параметром
identity assign
, чтобы активировать системное удостоверение.az vm identity assign -g myResourceGroup -n myVm
Отключение удостоверения, назначаемого системой, на виртуальной машине Azure
Чтобы отключить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участник виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Если на виртуальной машине больше не требуется удостоверение, назначаемое системой, но по-прежнему требуются удостоверения, назначаемые пользователем, используйте следующую команду.
az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Если имеется виртуальная машина, для которой не требуется удостоверение, назначаемое системой, и на которой нет удостоверений, назначаемых пользователем, используйте следующие команды.
Примечание.
Значение none
чувствительно к регистру. Оно должно быть в нижнем регистре.
az vm update -n myVM -g myResourceGroup --set identity.type="none"
Управляемое удостоверение, назначаемое пользователем
В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, для виртуальной машины Azure с помощью Azure CLI. Если вы создаете управляемое удостоверение, назначаемое пользователем, в другой группе ресурсов, чем ваша виртуальная машина. Вам потребуется использовать URL-адрес вашего управляемого удостоверения, чтобы назначить его виртуальной машине. Например:
--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"
Назначение управляемого удостоверения, назначенного пользователем, при создании виртуальной машины Azure
Чтобы назначить пользовательское удостоверение виртуальной машине при ее создании, вашей учетной записи должны быть присвоены роли Участника виртуальных машин и Оператора управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить. Создайте группу ресурсов для хранения и развертывания управляемого удостоверения, назначаемого пользователем, используя команду az group create. Не забудьте заменить значения параметров
<RESOURCE GROUP>
и<LOCATION>
собственными. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Создайте управляемое удостоверение, назначаемое пользователем, с помощью команды az identity create. Параметр
-g
указывает группу ресурсов, в которой создается управляемое удостоверение, назначаемое пользователем, а параметр-n
— его имя.Внимание
При создании настраиваемых пользователем управляемых удостоверений имя должно начинаться с алфавитного символа или цифры и может включать сочетание буквенно-цифровых символов, дефисов (-) и символов подчеркивания (_). Для корректной работы назначения на виртуальную машину или масштабируемый набор виртуальных машин имя должно содержать не более 24 символов. Дополнительные сведения см. в разделе Часто задаваемые вопросы и известные проблемы.
az identity create -g myResourceGroup -n myUserAssignedIdentity
Ответ содержит подробные сведения о назначенном пользователем управляемом удостоверении, созданном, как показано ниже. Значение идентификатора ресурса, присвоенное управляемому удостоверению, назначаемому пользователем, используется на следующем шаге.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Создайте виртуальную машину, выполнив команду az vm create. В приведенном ниже примере создается виртуальная машина, связанная с новым удостоверением, назначаемым пользователем, в соответствии с параметром
--assign-identity
с указанными--role
и--scope
. Обязательно замените значения параметров<RESOURCE GROUP>
,<VM NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY NAME>
,<ROLE>
и<SUBSCRIPTION>
собственными.az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION>
Назначение пользовательского управляемого удостоверения существующей виртуальной машине Azure
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли Участник виртуальных машин и Оператор управляемого удостоверения. Другие ролевые назначения в каталоге Microsoft Entra не требуются.
Создайте пользовательское удостоверение с помощью команды az identity create. Параметр
-g
указывает группу ресурсов, в которой создается удостоверение, назначаемое пользователем, а параметр-n
— его имя. Не забудьте заменить значения параметров<RESOURCE GROUP>
и<USER ASSIGNED IDENTITY NAME>
собственными:Внимание
В настоящее время создание управляемых удостоверений, назначаемых пользователем, с использованием специальных символов (таких как символ подчёркивания) в имени не поддерживается. Используйте буквенно-цифровые символы. Загляните сюда позже, чтобы проверить наличие новой информации. Дополнительные сведения см. в разделе Часто задаваемые вопросы и известные проблемы.
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
Ответ содержит подробные сведения о созданном управляемом удостоверении, назначаемом пользователем, как показано ниже.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Задайте удостоверение, назначаемое пользователем, для виртуальной машины, используя команду az vm identity assign. Не забудьте заменить значения параметров
<RESOURCE GROUP>
и<VM NAME>
собственными.<USER ASSIGNED IDENTITY NAME>
— это свойство ресурсаname
управляемого удостоверения, назначаемого пользователем, созданного на предыдущем шаге. Если вы создали назначенное пользователем управляемое удостоверение в другой группе ресурсов, чем ваша виртуальная машина. Вам потребуется использовать URL-адрес управляемого удостоверения.az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Удаление управляемой идентичности пользователя из виртуальной машины Azure
Чтобы удалить назначенную пользователем идентичность на виртуальной машине, вашему аккаунту должна быть назначена роль Участник виртуальных машин.
Если это единственное управляемое удостоверение, назначаемое пользователем, заданное для виртуальной машины, то UserAssigned
будет удалено из значения типа удостоверения. Не забудьте заменить значения параметров <RESOURCE GROUP>
и <VM NAME>
собственными.
<USER ASSIGNED IDENTITY>
будет свойством name
назначаемого пользователем удостоверения, которое можно найти в разделе удостоверений виртуальной машины, используя az vm identity show
.
az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Если в виртуальной машине нет управляемого удостоверения, назначаемого системой, и вы хотите удалить из нее все управляемые удостоверения, назначаемые пользователем, используйте следующую команду.
Примечание.
Значение none
чувствительно к регистру. Оно должно быть в нижнем регистре.
az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Если у виртуальной машины есть как системное, так и пользовательские удостоверения, вы можете удалить все пользовательские удостоверения, переключившись на использование только системного. Используйте следующую команду:
az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Следующие шаги
- Обзор управляемых удостоверений для ресурсов Azure.
- Полные инструкции по быстрому началу работы с созданием виртуальных машин Azure см. здесь.
В этой статье вы узнаете, как с помощью PowerShell выполнять приведенные ниже операции с управляемыми удостоверениями для ресурсов Azure на виртуальной машине Azure.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как перенести Azure PowerShell с AzureRM на Az, см. статью Перенос Azure PowerShell с AzureRM на Az.
Предварительные условия
- Если вы не знакомы с управляемыми удостоверениями для ресурсов Azure, ознакомьтесь с разделом общих сведений. Обратите внимание на разницу между управляемыми удостоверениями, назначаемыми системой, и теми, что назначаются пользователями.
- Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.
- Чтобы запустить примеры скриптов, у вас есть два варианта:
- Используйте службу Azure Cloud Shell, которую можно открыть с помощью кнопки Попробовать в правом верхнем углу блоков кода.
- Выполните скрипты локально, установив последнюю версию Azure PowerShell, а затем войдите в Azure с помощью команды
Connect-AzAccount
.
Управляемое удостоверение, назначаемое системой
В этом разделе описано, как включить и отключить управляемое удостоверение, назначаемое системой, с помощью Azure PowerShell.
Включение управляемого удостоверения, назначаемого системой, во время создания виртуальной машины Azure
Чтобы создать виртуальную машину Azure с включенным управляемым удостоверением, назначаемым системой, вашей учетной записи должна быть назначена роль Участник виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Используя одно из кратких руководств ниже, выполните действия только в нужных разделах ("Вход в Azure", "Создание группы ресурсов", "Создание группы сети", "Создание виртуальной машины").
При выполнении действий, описанных в разделе о создании виртуальной машины, не забудьте внести небольшие изменения в синтаксис командлета New-AzVMConfig. Чтобы подготовить виртуальную машину с включенным удостоверением, назначаемым системой, добавьте параметр
-IdentityType SystemAssigned
, как показано ниже.$vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
Включение системного управляемого удостоверения на существующей виртуальной машине Azure
Чтобы включить назначаемое системой управляемое удостоверение на виртуальной машине, которую изначально подготовили без этого, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Никакие другие назначения ролей в каталоге Microsoft Entra не требуются.
Извлеките свойства виртуальной машины с помощью командлета
Get-AzVM
. Затем, чтобы включить назначаемое системой управляемое удостоверение, используйте параметр-IdentityType
в командлете Update-AzVM.$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
Добавление назначаемого системой удостоверения виртуальной машины в группу
После включения системно назначенной идентичности на виртуальной машине вы можете добавить ее в группу. Следующая процедура добавляет назначенное системой удостоверение виртуальной машины в группу.
Получите и запишите
ObjectID
(как указано в полеId
возвращаемых значений) сервисного принципала виртуальной машины.Get-AzADServicePrincipal -displayname "myVM"
Получите и запишите
ObjectID
(как указано в полеId
возвращаемых значений) группы.Get-AzADGroup -searchstring "myGroup"
Добавьте учетную запись службы виртуальной машины в группу.
New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>"
Отключение системно назначаемого управляемого удостоверения на виртуальной машине Azure
Чтобы отключить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участник виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Если на виртуальной машине больше не требуется управляемое удостоверение, назначаемое системой, но по-прежнему требуются управляемые удостоверения, назначаемые пользователем, используйте следующий командлет.
Получите свойства виртуальной машины с помощью командлета
Get-AzVM
и задайте для параметра-IdentityType
значениеUserAssigned
.$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
Если имеется виртуальная машина, для которой не требуется управляемое удостоверение, назначаемое системой, и у которой нет управляемых удостоверений, назначаемых пользователем, используйте следующие команды.
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None
Управляемое удостоверение, назначаемое пользователем
В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, для виртуальной машины с помощью Azure PowerShell.
Назначение управляемой идентификации, заданной пользователем, для виртуальной машины во время её создания
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли Участник виртуальных машин и Оператор управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
Используя одно из кратких руководств ниже, выполните действия только в нужных разделах ("Вход в Azure", "Создание группы ресурсов", "Создание группы сети", "Создание виртуальной машины").
При выполнении действий, описанных в разделе о создании виртуальной машины, не забудьте внести небольшие изменения в синтаксис командлета
New-AzVMConfig
. Добавьте параметры-IdentityType UserAssigned
и-IdentityID
, чтобы подготовить виртуальную машину с идентификатором, назначенным пользователем. Замените<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
и<USER ASSIGNED IDENTITY NAME>
собственными значениями. Например:$vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
Назначение управляемого удостоверения, назначенного пользователем, для существующей виртуальной машины Azure
Чтобы назначить виртуальной машине удостоверение, присваиваемое пользователем, учетной записи должны быть назначены роли Участник виртуальной машины и Оператор управляемой идентификации. Другие назначения ролей каталога Microsoft Entra не требуются.
Создайте управляемое удостоверение, назначаемое пользователем, с помощью командлета New-AzUserAssignedIdentity. Обратите внимание на
Id
в выходных данных. Эта информация потребуется вам на следующем шаге.Внимание
При создании управляемых удостоверений, назначаемых пользователем, можно использовать только латинские буквы, цифры, знак подчеркивания и дефис (0–9, a–z, A–Z, _ или -). Кроме того, чтобы назначение виртуальной машине или масштабируемому набору виртуальных машин производилось правильно, длина имени должна составлять 3–128 символов. Дополнительные сведения см. в разделе Часто задаваемые вопросы и известные проблемы.
New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
Извлеките свойства виртуальной машины с помощью командлета
Get-AzVM
. Затем, чтобы задать управляемое удостоверение, назначаемое пользователем, для виртуальной машины Azure, используйте параметры-IdentityType
и-IdentityID
в командлете Update-AzVM. Для параметра-IdentityId
следует использовать значениеId
из предыдущего шага. Замените<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
и<USER ASSIGNED IDENTITY NAME>
собственными значениями.Предупреждение
Чтобы сохранить пользовательские управляемые удостоверения, ранее назначенные виртуальной машине, запросите свойство
Identity
объекта VM (например,$vm.Identity
). Если возвращаются какие-либо назначенные пользователем управляемые удостоверения, включите их в следующую команду вместе с новым назначенным пользователем управляемым удостоверением, которое вы хотите назначить виртуальной машине.$vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME> # Get the list of existing identity IDs and then append to it $identityIds = $vm.Identity.UserAssignedIdentities.Keys $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>" $identityIds = $identityIds + $uid # Update the VM with added identity IDs Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid
Удаление управляемого удостоверения, назначаемого пользователем, из виртуальной машины Azure
Чтобы удалить назначаемое пользователем удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участник виртуальных машин.
Если у виртуальной машины несколько управляемых удостоверений, назначаемых пользователем, с помощью приведенных ниже команд можно удалить все эти удостоверения, кроме последнего. Не забудьте заменить значения параметров <RESOURCE GROUP>
и <VM NAME>
собственными.
<USER ASSIGNED IDENTITY NAME>
— это свойство имени управляемого удостоверения, назначаемого пользователем, которое должно сохраняться на виртуальной машине. Эти сведения можно обнаружить с помощью запроса для поиска Identity
свойства объекта виртуальной машины. Например, $vm.Identity
:
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>
Если в виртуальной машине нет управляемого удостоверения, назначаемого системой, и вы хотите удалить из нее все управляемые удостоверения, назначаемые пользователем, используйте следующую команду:
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None
Если у виртуальной машины есть управляемые удостоверения, назначаемые системой и назначаемые пользователем, вы можете удалить все управляемые удостоверения, назначаемые пользователем, переключившись на использование только управляемого удостоверения, назначаемого системой.
$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"
Следующие шаги
Ниже приведены комплексные краткие руководства по созданию виртуальных машин Azure:
В этой статье вы узнаете, как с помощью шаблона развертывания Azure Resource Manager выполнять приведенные ниже операции с управляемыми удостоверениями для ресурсов Azure на виртуальной машине Azure.
Необходимые условия
- Если вы еще не использовали шаблоны развертывания Azure Resource Manager, прочитайте этот обзор. Обратите внимание на различие между управляемыми удостоверениями, назначаемыми системой и назначаемыми пользователями.
- Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.
Шаблоны диспетчера ресурсов Azure
Так же как портал Azure и сценарии, шаблоны Azure Resource Manager позволяют развертывать новые или измененные ресурсы, определенные в группе ресурсов Azure. Доступно несколько способов редактирования и развертывания шаблона, локально и на портале, в том числе:
- Применение пользовательского шаблона из Azure Marketplace, что позволяет создать шаблон с нуля или взять за основу существующий общий шаблон или шаблон быстрого запуска.
- Наследование от имеющейся группы ресурсов путем экспорта шаблона из исходного развертывания или от текущего состояния развертывания.
- Использование локального редактора JSON (например, VS Code), а затем передача и развертывание с помощью PowerShell или интерфейса командной строки.
- Использование проекта группы ресурсов Azure Visual Studio для создания и развертывания шаблона.
Независимо оттого, какой вариант выбран, во время первоначального развертывания и повторного развертывания в шаблоне используется одинаковый синтаксис. Включение управляемого удостоверения, назначаемого системой или пользователем, для новой или существующей виртуальной машины выполняется таким же образом. Коме того, по умолчанию Azure Resource Manager выполняет добавочное обновление для развертываний.
Управляемое удостоверение, назначаемое системой
В этом разделе вы узнаете, как включить и отключить управляемое удостоверение, назначаемое системой, с помощью шаблона Azure Resource Manager.
Включение управляемого удостоверения, которое назначается системой, при создании виртуальной машины Azure или для существующей машины
Чтобы включить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
После входа в Azure локально или через портал Azure используйте учетную запись, связанную с подпиской Azure, содержащей виртуальную машину.
Чтобы включить управляемое удостоверение, назначаемое системой, загрузите шаблон в редактор, найдите интересующий ресурс
Microsoft.Compute/virtualMachines
в разделеresources
и добавьте свойство"identity"
на том же уровне, что и свойство"type": "Microsoft.Compute/virtualMachines"
. Используйте следующий синтаксис:"identity": { "type": "SystemAssigned" },
Когда все будет готово, следующие разделы должны быть добавлены в раздел
resource
шаблона, который в результате должен выглядеть следующим образом."resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", } } ]
Назначение роли для управляемого удостоверения виртуальной машины, назначаемого системой.
После включения системно назначаемого управляемого удостоверения на виртуальной машине, вы можете предоставить ему роль, например Читатель, с доступом к группе ресурсов, в которой оно было создано. Подробные сведения, которые помогут вам на этом этапе, представлены в статье Назначение ролей Azure с помощью шаблонов Azure Resource Manager.
Отключить назначенное системой управляемое удостоверение на виртуальной машине Azure.
Чтобы удалить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
После входа в Azure локально или через портал Azure используйте учетную запись, связанную с подпиской Azure, содержащей виртуальную машину.
Загрузив шаблон в редактор, найдите нужный ресурс
Microsoft.Compute/virtualMachines
в разделеresources
. Если у вашей виртуальной машины есть только управляемое удостоверение, назначаемое системой, его можно отключить, изменив тип удостоверения наNone
.Microsoft.Compute/virtualMachines API версии 2018-06-01
Если у виртуальной машины есть управляемые удостоверения, назначаемые как системой, так и пользователями, удалите
SystemAssigned
из типа удостоверения и сохранитеUserAssigned
вместе со значениями словаряuserAssignedIdentities
.Microsoft.Compute/virtualMachines API версии 2018-06-01
Если значение
apiVersion
соответствует2017-12-01
и у виртуальной машины есть управляемые удостоверения, назначаемые как системой, так и пользователями, удалитеSystemAssigned
из типа удостоверения и сохранитеUserAssigned
с массивом пользовательских удостоверенийidentityIds
.
В следующем примере показано, как удалить управляемое удостоверение, назначаемое системой, из виртуальной машины без управляемых удостоверений, назначаемых пользователем.
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "None"
}
}
Управляемое удостоверение, назначаемое пользователем
Используя шаблон Azure Resource Manager, вы назначите управляемую идентичность, назначенную пользователем, виртуальной машине Azure.
Примечание.
Чтобы создать управляемое удостоверение, назначаемое пользователем, с помощью шаблона Azure Resource Manager, обратитесь к разделу Создание управляемого удостоверения, назначаемого пользователем.
Назначение управляемого удостоверения, создаваемого пользователем, виртуальной машине Azure
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должна быть назначена роль Оператор управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
Чтобы назначить управляемое удостоверение, назначаемое пользователем, виртуальной машине, в элемент
resources
добавьте приведенную ниже запись. Не забудьте заменить<USERASSIGNEDIDENTITY>
именем созданного управляемого удостоверения, назначаемого пользователем.Microsoft.Compute/virtualMachines API версии 2018-06-01
Если значение
apiVersion
соответствует2018-06-01
, управляемые удостоверения, назначаемые пользователем, хранятся в формате словаряuserAssignedIdentities
, а значение<USERASSIGNEDIDENTITYNAME>
должно храниться в переменной, определенной в разделеvariables
шаблона.{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachines API версии 2017-12-01
Если значение
apiVersion
соответствует2017-12-01
, управляемые удостоверения, назначаемые пользователем, хранятся в массивеidentityIds
, а значение<USERASSIGNEDIDENTITYNAME>
должно храниться в переменной, определенной в разделеvariables
шаблона.{ "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } }
Когда все будет готово, следующие разделы должны быть добавлены в раздел
resource
шаблона, который в результате должен выглядеть следующим образом.Microsoft.Compute/virtualMachines API версии 2018-06-01
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } } ]
Microsoft.Compute/virtualMachines API версии 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } } ]
Удаление управляемого пользователем удостоверения из виртуальной машины Azure
Чтобы удалить пользовательскую назначенную идентичность из виртуальной машины, вашей учетной записи должна быть назначена роль Контрибутор виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
После входа в Azure локально или через портал Azure используйте учетную запись, связанную с подпиской Azure, содержащей виртуальную машину.
Загрузив шаблон в редактор, найдите нужный ресурс
Microsoft.Compute/virtualMachines
в разделеresources
. Если у вашей виртуальной машины есть только управляемое удостоверение, назначаемое пользователем, его можно отключить, изменив тип удостоверения наNone
.В следующем примере показано, как удалить все пользовательские управляемые удостоверения из виртуальной машины, у которой нет системных управляемых удостоверений.
{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[parameters('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "None" }, }
Microsoft.Compute/virtualMachines API версии 2018-06-01
Чтобы удалить отдельное управляемое удостоверение пользователя из виртуальной машины, удалите его из словаря
useraAssignedIdentities
.Если у вас есть управляемое удостоверение, назначаемое системой, сохраните его в значении
type
в рамках значенияidentity
.Microsoft.Compute/virtualMachines API версии 2017-12-01
Чтобы удалить отдельное управляемое удостоверение, назначаемое пользователем, из виртуальной машины, удалите его из массива
identityIds
.Если у вас есть управляемое удостоверение, назначаемое системой, сохраните его в значении
type
в рамках значенияidentity
.
Следующие шаги
В этой статье вы узнаете, как выполнять приведенные ниже операции с управляемыми удостоверениями для ресурсов Azure на виртуальной машине Azure, используя CURL для выполнения вызовов к конечной точке REST Azure Resource Manager.
- Включение и отключение управляемого удостоверения, назначаемого системой, на виртуальной машине Azure
- Добавление и удаление управляемого удостоверения, назначаемого пользователем, в виртуальной машине Azure
Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.
Предварительные условия
- Если вы не работали с управляемыми удостоверениями для ресурсов Azure, см. статью Что такое управляемые удостоверения для ресурсов Azure. Сведения об удостоверениях, назначаемых системой и назначаемых пользователем, см. в разделе Типы управляемых удостоверений.
Используйте среду Bash в Azure Cloud Shell. Для получения более подробной информации см. Краткое руководство по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Управляемое удостоверение, назначаемое системой
Этот раздел описывает, как включить и отключить управляемое удостоверение, назначаемое системой, на виртуальной машине Azure, используя CURL для выполнения вызовов к конечной точке REST Azure Resource Manager.
Включение системного управляемого удостоверения во время создания виртуальной машины Azure
Чтобы создать виртуальную машину Azure с включенным управляемым удостоверением, назначаемым системой, вашей учетной записи должна быть назначена роль Участник виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Создайте группу ресурсов с помощью параметра az group create, чтобы сохранить и развернуть виртуальную машину и связанные с ней ресурсы. Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить:
az group create --name myResourceGroup --location westus
Создайте сетевой интерфейс для виртуальной машины:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Получите токен доступа Bearer, который потребуется на следующем шаге в заголовке авторизации для создания виртуальной машины с управляемой идентичностью, назначаемой системой.
az account get-access-token
С помощью Azure Cloud Shell создайте виртуальную машину, используя CURL для вызова конечной точки REST Azure Resource Manager. Приведенный ниже пример создает виртуальную машину myVM с управляемым удостоверением, назначаемым системой, в соответствии со значением
"identity":{"type":"SystemAssigned"}
в тексте запроса. Замените<ACCESS TOKEN>
значением, полученным на предыдущем шаге при запросе токена Bearer, и вместо<SUBSCRIPTION ID>
укажите значение, подходящее для вашей среды.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип содержимого Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "location":"westus", "name":"myVM", "identity":{ "type":"SystemAssigned" }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Включение системно назначенного удостоверения на существующей виртуальной машине Azure
Чтобы включить управляемое удостоверение, назначаемое системой, на виртуальной машине, которая изначально была настроена без него, вашей учетной записи должна быть назначена роль Участника виртуальных машин. Другие назначения ролей каталога Microsoft Entra не требуются.
Получите токен доступа Bearer, который понадобится на следующем шаге в заголовке Authorization для создания виртуальной машины с управляемой идентичностью, назначаемой системой.
az account get-access-token
Используйте следующую команду CURL, чтобы вызвать конечную точку REST Azure Resource Manager и включить управляемую систему идентификации на вашей виртуальной машине, указанной в тексте запроса значением
{"identity":{"type":"SystemAssigned"}
для виртуальной машины с именем myVM. Замените<ACCESS TOKEN>
значением, полученным на предыдущем шаге при запросе токена доступа Bearer, а вместо<SUBSCRIPTION ID>
укажите значение, подходящее для вашей среды.Внимание
Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем, для виртуальной машины, нужно получить список этих удостоверений с помощью следующей команды CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Если для виртуальной машины заданы управляемые удостоверения, назначаемые пользователем, как указано в значенииidentity
в ответе, перейдите к шагу 3, где описано, как сохранить управляемые удостоверения, назначаемые пользователем, при включении на виртуальной машине управляемого удостоверения, назначаемого системой.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type Обязательный. Задайте значение application/json
.Авторизация Обязательный. Установите действительный маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned" } }
Чтобы включить управляемое удостоверение, назначаемое системой, на виртуальной машине с существующими управляемыми удостоверениями, назначаемыми пользователем, нужно добавить
SystemAssigned
в значениеtype
.Например, если для виртуальной машины назначены управляемые удостоверения, назначаемые пользователем,
ID1
иID2
, и вы хотите добавить для нее управляемое удостоверение, назначаемое системой, используйте приведенный ниже вызов CURL. Замените<ACCESS TOKEN>
и<SUBSCRIPTION ID>
значениями, уместными для вашей среды.Версия API
2018-06-01
хранит управляемые удостоверения, назначенные пользователем, в значенииuserAssignedIdentities
в формате словаря, в отличие от значенияidentityIds
в формате массива, используемого в версии API2017-12-01
.Версия API 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type (Тип содержимого) Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
Версия API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Отключение управляемого удостоверения, назначаемого системой, на виртуальной машине Azure
Чтобы отключить назначаемое системой управляемое удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участник виртуальных машин. Никакие другие назначения ролей каталога Microsoft Entra не требуются.
Получите токен доступа Bearer, который понадобится в следующем шаге в заголовке Authorization для создания виртуальной машины с системно назначенной управляемой идентичностью.
az account get-access-token
Обновите виртуальную машину, используя CURL, чтобы обратиться к REST-конечной точке Azure Resource Manager и отключить управляемое удостоверение, назначенное системой. В следующем примере отключается системно назначаемое управляемое удостоверение в соответствии со значением
{"identity":{"type":"None"}}
из тела запроса на виртуальной машине с именем myVM. Замените<ACCESS TOKEN>
значением, полученным на предыдущем шаге при запросе токена доступа типа Bearer, а вместо<SUBSCRIPTION ID>
используйте значение, соответствующее вашей среде.Внимание
Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем, для виртуальной машины, нужно получить список этих удостоверений с помощью следующей команды CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Если для виртуальной машины заданы управляемые удостоверения, назначаемые пользователем, как указано в значенииidentity
в ответе, перейдите к шагу 3, где описано, как сохранить управляемые удостоверения, назначаемые пользователем, при отключении на виртуальной машине управляемого удостоверения, назначаемого системой.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип содержимого Обязательный. Задайте значение application/json
.Авторизация Обязательный. Установите действительный токен доступа для Bearer
.Текст запроса
{ "identity":{ "type":"None" } }
Чтобы удалить управляемое удостоверение, назначаемое системой, из виртуальной машины, в которой есть управляемые удостоверения, назначаемые пользователем, удалите
SystemAssigned
из значения{"identity":{"type:" "}}
, сохранив значениеUserAssigned
и значения словаряuserAssignedIdentities
, если используется API версии 2018-06-01. При использовании API версии 2017-12-01 или более ранних версий сохраните массивidentityIds
.
Управляемое удостоверение, назначаемое пользователем
В этом разделе описывается, как добавить и удалить управляемое удостоверение, назначаемое пользователем, в виртуальной машине Azure, используя CURL для выполнения вызовов к конечной точке REST Azure Resource Manager.
Назначьте управляемую идентичность, заданную пользователем, при создании виртуальной машины Azure
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли Участник виртуальных машин и Оператор управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
Получите токен доступа Bearer, который используется на следующем шаге в заголовке Authorization для создания виртуальной машины с системой назначаемой управляемой идентичностью.
az account get-access-token
Создайте сетевой интерфейс для виртуальной машины:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Получите Bearer-токен доступа, который понадобится на следующем шаге в качестве заголовка авторизации для создания вашей виртуальной машины с системно назначенным управляемым удостоверением.
az account get-access-token
Создайте управляемое удостоверение пользователя, как указано в инструкции Создание управляемого удостоверения пользователя.
Создайте виртуальную машину, используя CURL для вызова конечной точки REST Azure Resource Manager. Приведенный ниже пример создает в группе ресурсов myResourceGroup виртуальную машину myVM с управляемым удостоверением, назначаемым пользователем,
ID1
в соответствии со значением"identity":{"type":"UserAssigned"}
в тексте запроса. Замените<ACCESS TOKEN>
значением токена доступа Bearer, полученным на предыдущем шаге, и укажите значение<SUBSCRIPTION ID>
, соответствующее вашей среде.Версия API от 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип содержимого (Content-Type) Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Версия API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type Обязательный. Задайте значение application/json
.Авторизация Обязательный. Установите действительный маркер доступа для Bearer
.Текст запроса
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Назначьте управляемую идентификацию, назначаемую пользователем, для существующей виртуальной машины Azure.
Чтобы присвоить назначаемое пользователем удостоверение виртуальной машине, вашей учетной записи должны быть назначены роли Участник виртуальных машин и Оператор управляемого удостоверения. Другие назначения ролей каталога Microsoft Entra не требуются.
Получите токен доступа Bearer, который вы будете использовать на следующем шаге в заголовке Authorization для создания виртуальной машины с системно назначаемой управляемой идентичностью.
az account get-access-token
Создайте управляемое удостоверение, назначаемое пользователем, используя инструкции, указанные здесь, Создание управляемого удостоверения, назначаемого пользователем.
Чтобы не удалить существующие управляемые удостоверения, назначенные пользователем или системой для виртуальной машины, необходимо перечислить типы удостоверений, назначенные виртуальной машине, с помощью следующей команды CURL. Если у вас есть управляемые удостоверения, назначенные масштабируемому набору виртуальных машин, они перечислены в значении
identity
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Авторизация Обязательный. Установите допустимый токен доступа для Bearer
.Если для виртуальной машины заданы управляемые удостоверения, назначаемые пользователем или назначаемые системой, как указано в значении
identity
в ответе, перейдите к шагу 5, где описано, как сохранить управляемое удостоверение, назначаемое системой, при добавлении в виртуальную машину управляемого удостоверения, назначаемого пользователем.Если для виртуальной машины не заданы какие-либо управляемые удостоверения, назначаемые пользователем, используйте приведенную ниже команду CURL для вызова конечной точки REST Azure Resource Manager, чтобы назначить виртуальной машине первое управляемое удостоверение, назначаемое пользователем.
Следующий пример задает управляемое удостоверение, назначаемое пользователем
ID1
для виртуальной машины myVM в группе ресурсов myResourceGroup. Замените<ACCESS TOKEN>
на значение, полученное на предыдущем шаге при запросе токена доступа типа Bearer, а<SUBSCRIPTION ID>
замените на значение, подходящее для вашей среды.Версия API 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type Обязательный. Задайте значение application/json
.Авторизация Обязательный. Установите допустимый маркер доступа в качестве Bearer
.Текст запроса
{ "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
API версии 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип содержимого Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Если у вашей виртуальной машины есть существующее управляемое удостоверение, назначенное пользователем или системой:
API версии 2018-06-01
Добавьте назначенное пользователем управляемое удостоверение в значение словаря
userAssignedIdentities
.Например, если для виртуальной машины заданы управляемое удостоверение, назначаемое системой, и управляемое удостоверение, назначаемое пользователем,
ID1
и вы хотите добавить для него управляемое удостоверение, назначаемое пользователем,ID2
, сделайте следующее.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
Версия API 2017-12-01
При добавлении нового управляемого удостоверения, назначаемого пользователем, сохраните управляемые удостоверения, назначаемые пользователем, которые вы хотите оставить в значении массива
identityIds
.Например, если для виртуальной машины заданы управляемое удостоверение, назначаемое системой, и управляемое удостоверение, назначаемое пользователем,
ID1
и вы хотите добавить для него управляемое удостоверение, назначаемое пользователем,ID2
, сделайте следующее.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип содержимого Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Удалите управляемое удостоверение, назначенное пользователем, с виртуальной машины Azure.
Чтобы удалить назначаемое пользователем удостоверение на виртуальной машине, вашей учетной записи должна быть назначена роль Участник виртуальных машин.
Получите маркер доступа носителя, который понадобится в следующем шаге в заголовке авторизации для создания виртуальной машины с удостоверением, назначаемым системой.
az account get-access-token
Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем, которые нужно сохранить для виртуальной машины, или удалить управляемое удостоверение, назначаемое системой, нужно получить список управляемых удостоверений с помощью следующей команды CURL.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Content-Type Обязательный. Задайте значение application/json
.Авторизация Обязательный. Установите действительный токен доступа для Bearer
.Если у вас есть управляемые удостоверения, назначенные виртуальной машине, в ответе они перечислены в значении
identity
.Например, если для виртуальной машины заданы управляемые удостоверения, назначаемые пользователем,
ID1
иID2
, и вы хотите оставить назначенным толькоID1
, при этом сохранив удостоверение, назначаемое системой, сделайте следующее.версия API от 2018-06-01
К управляемому удостоверению, назначаемому пользователем, которое требуется удалить, необходимо добавить
null
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип содержимого Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API версии 2017-12-01
В массиве
identityIds
оставьте только те пользовательские управляемые удостоверения, которые вы хотите сохранить.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
Заголовки запроса
Заголовок запроса Описание Тип контента (Content-Type) Обязательный. Задайте значение application/json
.Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer
.Текст запроса
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Если у виртуальной машины есть управляемые удостоверения, назначаемые системой и назначаемые пользователем, вы можете удалить все управляемые удостоверения, назначаемые пользователем, переключившись на использование только управляемого удостоверения, назначаемого системой, с помощью следующей команды.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса | Description |
---|---|
Content-Type | Обязательный. Задайте значение application/json . |
Авторизация | Обязательный. Задайте допустимый маркер доступа для Bearer . |
Текст запроса
{
"identity":{
"type":"SystemAssigned"
}
}
Если ваша виртуальная машина имеет только управляемые удостоверения, назначаемые пользователем, и вы хотите удалить их все, используйте следующую команду.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
Заголовки запроса
Заголовок запроса | Описание |
---|---|
Content-Type | Обязательный. Задайте значение application/json . |
Авторизация | Обязательный. Установите допустимый токен доступа для Bearer . |
Текст запроса
{
"identity":{
"type":"None"
}
}
Следующие шаги
Для получения информации о том, как создать, перечислить или удалить управляемые пользователем удостоверения с помощью REST, см. следующее:
В этой статье вы узнаете, как включать и удалять управляемые удостоверения для ресурсов Azure для виртуальных машин Azure с помощью Azure SDK.
Предварительные условия
- См. дополнительные сведения об управляемых удостоверениях для ресурсов Azure. Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной учетной записи, прежде чем продолжить.
Пакеты SDK для Azure с поддержкой управляемых удостоверений для ресурсов Azure
Благодаря пакетам SDK Azure в Azure реализована поддержка разных платформ программирования. Некоторые из них были обновлены, чтобы поддерживать управляемые удостоверения для ресурсов Azure и предоставляют соответствующие примеры для демонстрации использования. Этот список обновляется по мере добавления поддержки других платформ:
Следующие шаги
- Сведения о том, как использовать портал Azure, PowerShell, интерфейс командной строки и шаблоны ресурсов, приведены в соответствующих статьях раздела Configure Identity for an Azure VM (Настройка удостоверения для виртуальной машины Azure).