Настройка управляемых удостоверений для ресурсов Azure в масштабируемом наборе виртуальных машин

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

Управляемые удостоверения для ресурсов Azure предоставляют службам Azure автоматически управляемое удостоверение, которое хранится в Microsoft Entra ID. Это удостоверение можно использовать для проверки подлинности в любой службе, которая поддерживает аутентификацию Microsoft Entra, без использования учетных данных в коде.

Сведения об определении и деталях Политика Azure см. в разделе "Использование Политика Azure для назначения управляемых удостоверений (предварительная версия)".

Из этой статьи вы узнаете, как с помощью портала Azure выполнять приведенные ниже операции с управляемыми удостоверениями для ресурсов Azure в масштабируемом наборе виртуальных машин.

  • Если вы не работали с управляемыми удостоверениями для ресурсов Azure, изучите общие сведения.

  • Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.

  • Для выполнения операций управления, описанных в этой статье, учетной записи нужно назначить следующие роли Azure:

    Примечание.

    Дополнительные назначения ролей каталога Microsoft Entra не требуются.

    • Участник виртуальных машин для включения и удаления управляемого удостоверения, назначаемого системой, в масштабируемом наборе виртуальных машин.

Управляемое удостоверение, назначаемое системой

В этом разделе вы узнаете, как включить и отключить управляемое удостоверение, назначаемое системой, с помощью портала Azure.

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

В настоящее время портал Azure не поддерживает включение управляемого удостоверения, назначаемого системой, во время создания масштабируемого набора виртуальных машин. Вместо этого ознакомьтесь со статьей ниже — кратким руководством по созданию масштабируемого набора виртуальных машин, а затем перейдите к следующему разделу, чтобы узнать о включении управляемого удостоверения, назначаемого системой, в масштабируемом наборе виртуальных машин:

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

Совет

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

Чтобы включить управляемое удостоверение, назначаемое системой, в масштабируемом наборе виртуальных машин, который изначально был подготовлен без него, сделайте следующее.

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

  2. Перейдите к нужному масштабируемому набору виртуальных машин.

  3. На вкладке Назначено системой в области Состояние нажмите кнопку Вкл., а затем — Сохранить.

    Снимок экрана: вкладка

Удаление управляемого удостоверения, назначаемого системой, из масштабируемого набора виртуальных машин

Если для масштабируемого набора виртуальных машин управляемое удостоверение, назначаемое системой, больше не требуется, сделайте следующее.

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

  2. Перейдите к нужному масштабируемому набору виртуальных машин.

  3. На вкладке Назначено системой в области Состояние нажмите кнопку Выкл., а затем — Сохранить.

    Снимок экрана: страница конфигурации.

Управляемое удостоверение, назначаемое пользователем

В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, из масштабируемого набора виртуальных машин с помощью портала Azure.

Задание управляемого удостоверения, назначаемого пользователем, при создании масштабируемого набора виртуальных машин

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

Задание управляемого удостоверения, назначаемого пользователем, для существующего масштабируемого набора виртуальных машин

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

  2. Перейдите в нужный масштабируемый набор виртуальных машин и выберите Идентификатор, Назначено пользователем, а затем — +Добавить.

    Снимок экрана: добавление удостоверения, назначаемого пользователем, в масштабируемый набор виртуальных машин.

  3. Выберите удостоверение, назначаемое пользователем, которое нужно добавить в масштабируемый набор виртуальных машин, а затем нажмите кнопку Добавить.

    Снимок экрана: добавление удостоверения, назначаемого пользователем, в масштабируемый набор виртуальных машин.

Удаление управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин

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

  2. Перейдите в нужный масштабируемый набор виртуальных машин и выберите Идентификатор, Назначено пользователем, выберите имя управляемого удостоверения, назначаемого пользователем, которое нужно удалить, а затем нажмите кнопку Удалить (выберите Да в области подтверждения).

    Снимок экрана: удаление назначаемого пользователем удостоверения из масштабируемого набора виртуальных машин.

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

В этой статье вы узнаете, как выполнять следующие операции с управляемыми удостоверениями для ресурсов Azure в масштабируемом наборе виртуальных машин Azure с помощью Azure CLI.

  • Включение и отключение управляемого удостоверения, назначаемого системой, в масштабируемом наборе виртуальных машин Azure
  • Добавление и удаление управляемого удостоверения, назначаемого пользователем, в масштабируемом наборе виртуальных машин Azure

Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.

Необходимые компоненты

  • Если вы не работали с управляемыми удостоверениями для ресурсов Azure, см. статью Что такое управляемые удостоверения для ресурсов Azure. Сведения об удостоверениях, назначаемых системой и назначаемых пользователем, см. в разделе Типы управляемых удостоверений.

  • Для выполнения операций управления, описанных в этой статье, учетной записи требуются следующие назначения управления доступом на основе ролей Azure:

    • Участник виртуальных машин для создания масштабируемого набора виртуальных машин, а также для включения и удаления управляемого удостоверения, назначаемого системой, и (или) управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин.

    • Роль Участник управляемого удостоверения: для создания управляемого удостоверения, назначаемого пользователем.

    • Роль Оператор управляемого удостоверения: для назначения и удаления управляемого удостоверения, назначаемого пользователем, в масштабируемом наборе виртуальных машин.

    Примечание.

    Дополнительные назначения ролей каталога Microsoft Entra не требуются.

  • Используйте среду 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

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

  1. Чтобы сохранить и развернуть масштабируемый набор виртуальных машин и связанные с ним ресурсы, создайте группу ресурсов с помощью команды az group create. Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить:

    az group create --name myResourceGroup --location westus
    
  2. Создание масштабируемого набора виртуальных машин. В приведенном ниже примере создается масштабируемый набор виртуальных машин myVMSS с управляемым удостоверением, назначаемым системой, в соответствии с запросом параметра --assign-identity с указанными --role и --scope. В параметрах --admin-username и --admin-password определяются имя и пароль учетной записи администратора для входа в виртуальную машину. Подставьте соответствующие значения для своей среды:

    az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
    

Включение управляемого удостоверения, назначаемого системой, в существующем масштабируемом наборе виртуальных машин Azure

Если нужно включить управляемое удостоверение, назначаемое системой, в имеющемся масштабируемом наборе виртуальных машин Azure, сделайте следующее.

az vmss identity assign -g myResourceGroup -n myVMSS

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

Если в масштабируемом наборе виртуальных машин не требуется управляемое удостоверение, назначаемое системой, но по-прежнему требуются управляемые удостоверения, назначаемые пользователем, используйте следующую команду.

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

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

Примечание.

В значении none учитывается регистр. Оно должно содержать строчные буквы.

az vmss update -n myVM -g myResourceGroup --set identity.type="none"

Управляемое удостоверение, назначаемое пользователем

В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, с помощью Azure CLI.

Задание управляемого удостоверения, назначаемого пользователем, при создании масштабируемого набора виртуальных машин

В этом разделе описывается, как создать масштабируемый набор виртуальных машин и задать назначаемое пользователем управляемое удостоверение в масштабируемом наборе виртуальных машин. Если у вас уже есть масштабируемый набор виртуальных машин, который вы хотите использовать, пропустите этот раздел и перейдите к следующему.

  1. Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить. Создайте группу ресурсов для хранения и развертывания управляемого удостоверения, назначаемого пользователем, используя команду az group create. Не забудьте заменить значения параметров <RESOURCE GROUP> и <LOCATION> собственными. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Создайте управляемое удостоверение, назначаемое пользователем, с помощью команды az identity create. Параметр -g указывает группу ресурсов, в которой создается управляемое удостоверение, назначаемое пользователем, а параметр -n — его имя. Не забудьте заменить значения параметров <RESOURCE GROUP> и <USER ASSIGNED IDENTITY NAME> собственными:

    Внимание

    При создании управляемых удостоверений, назначаемых пользователем, имя должно начинаться с буквы или числа, а также может включать сочетание буквенно-цифровых символов, дефисов (-) и символов подчеркивания (_). Для корректной работы назначения для виртуальной машины или масштабируемого набора виртуальных машин имя должно содержать не более 24 символов. Дополнительные сведения см. в разделе Часто задаваемые вопросы и известные проблемы.

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    Ответ содержит подробные сведения о созданном управляемом удостоверении, назначаемом пользователем, как показано ниже. Значение id ресурса, присвоенное управляемому удостоверению, назначаемому пользователем, используется на следующем шаге.

    {
         "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=00001111-aaaa-2222-bbbb-3333cccc4444",
         "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"    
    }
    
  3. Создание масштабируемого набора виртуальных машин. В приведенном ниже примере создается масштабируемый набор виртуальных машин, связанный с новым управляемым удостоверением, назначаемым пользователем, в соответствии с параметром --assign-identity с указанными --role и --scope. Обязательно замените значения параметров <RESOURCE GROUP>, <VMSS NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY>, <ROLE> и <SUBSCRIPTION> собственными.

    az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
    

Задание управляемого удостоверения, назначаемого пользователем, для существующего масштабируемого набора виртуальных машин

  1. Создайте управляемое удостоверение, назначаемое пользователем, с помощью команды 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 >/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>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. Присвоение управляемого удостоверения, назначаемого пользователем, для масштабируемого набора виртуальных машин. Не забудьте заменить значения параметров <RESOURCE GROUP> и <VIRTUAL MACHINE SCALE SET NAME> собственными. <USER ASSIGNED IDENTITY> — свойство ресурса name удостоверения, назначаемого пользователем, созданное на предыдущем шаге.

    az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
    

Удаление управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин Azure

Чтобы удалить управляемое удостоверение, назначаемое пользователем, из масштабируемого набора виртуальных машин, используйте az vmss identity remove. Если это единственное назначаемое пользователем управляемое удостоверение, назначенное масштабируемой группе виртуальных машин, UserAssigned удаляется из значения типа удостоверения. Не забудьте заменить значения параметров <RESOURCE GROUP> и <VIRTUAL MACHINE SCALE SET NAME> собственными. Это <USER ASSIGNED IDENTITY> свойство управляемого удостоверения, назначаемое пользователем, которое можно найти в разделе удостоверений name масштабируемого набора виртуальных машин с помощью az vmss identity show:

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

Если в масштабируемом наборе виртуальных машин нет управляемого удостоверения, назначаемого системой, и вы хотите удалить из него все управляемые удостоверения, назначаемые пользователем, используйте следующую команду:

Примечание.

В значении none учитывается регистр. Оно должно содержать строчные буквы.

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Если в масштабируемом наборе виртуальных машин есть управляемые удостоверения, как назначаемое системой, так и назначаемые пользователем, вы можете удалить все управляемые удостоверения, назначаемые пользователем, переключившись на использование только управляемого удостоверения, назначаемого системой. Используйте следующую команду:

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

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

В этой статье вы узнаете, как с помощью PowerShell выполнять операции с управляемыми удостоверениями для ресурсов Azure в масштабируемом наборе виртуальных машин.

  • Включение и отключение управляемого удостоверения, назначаемого системой, в масштабируемом наборе виртуальных машин
  • Добавление и удаление управляемого удостоверения, назначаемого пользователем, в масштабируемом наборе виртуальных машин

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Необходимые компоненты

Управляемое удостоверение, назначаемое системой

В этом разделе вы узнаете, как включить и удалить управляемое удостоверение, назначаемое системой, с помощью Azure PowerShell.

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

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

  1. Инструкции по созданию масштабируемого набора виртуальных машин с управляемым удостоверением, назначаемым системой, приведены в примере 1 в справочной статье по командлету New-AzVmssConfig. Добавьте параметр -IdentityType SystemAssigned в командлет New-AzVmssConfig:

    $VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
    

Включение управляемого удостоверения, назначаемого системой, в существующем масштабируемом наборе виртуальных машин Azure

Если нужно включить управляемое удостоверение, назначаемое системой, в существующем масштабируемом наборе виртуальных машин Azure, сделайте следующее.

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

  2. Получите свойства масштабируемого набора виртуальных машин с помощью командлета Get-AzVmss. Затем, чтобы включить управляемое удостоверение, назначаемое системой, используйте параметр -IdentityType в командлете Update-AzVmss.

    Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
    

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

Если в масштабируемом наборе виртуальных машин не требуется управляемое удостоверение, назначаемое системой, но по-прежнему требуются управляемые удостоверения, назначаемые пользователем, используйте следующий командлет.

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

  2. Выполните следующий командлет:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
    
  3. При наличии масштабируемого набора виртуальных машин, для которого не требуется управляемое удостоверение, назначаемое системой, и у которого нет управляемых удостоверений, назначаемых пользователем, используйте следующую команду:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
    

Управляемое удостоверение, назначаемое пользователем

В этом разделе вы узнаете, как добавить и удалить управляемое удостоверение, назначаемое пользователем, в масштабируемом наборе виртуальных машин с помощью Azure PowerShell.

Задание управляемого удостоверения, назначаемого пользователем, во время создания масштабируемого набора виртуальных машин Azure

Сейчас не поддерживается создание масштабируемого набора виртуальных машин с управляемым удостоверением, назначаемым пользователем, с помощью PowerShell. Сведения о добавлении управляемого удостоверения, назначаемого пользователем, в существующий масштабируемый набор виртуальных машин приведены в следующем разделе. Загляните сюда позже, чтобы проверить наличие новой информации.

Задание управляемого удостоверения, назначаемого пользователем, для существующего масштабируемого набора виртуальных машин Azure

Чтобы задать управляемое удостоверение, назначаемое пользователем, для существующего масштабируемого набора виртуальных машин Azure, выполните следующее.

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

  2. Получите свойства масштабируемого набора виртуальных машин с помощью командлета Get-AzVM. Затем, чтобы задать управляемое удостоверение, назначаемое пользователем, для масштабируемого набора виртуальных машин, используйте параметры -IdentityType и -IdentityID в командлете Update-AzVmss. Замените <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP>, <USER ASSIGNED ID1>, USER ASSIGNED ID2 собственными значениями.

    Внимание

    При создании управляемых удостоверений, назначаемых пользователем, имя должно начинаться с буквы или числа, а также может включать сочетание буквенно-цифровых символов, дефисов (-) и символов подчеркивания (_). Для корректной работы назначения для виртуальной машины или масштабируемого набора виртуальных машин имя должно содержать не более 24 символов. Дополнительные сведения см. в разделе Часто задаваемые вопросы и известные проблемы.

    Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
    

Удаление управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин Azure

Если у масштабируемого набора виртуальных машин несколько управляемых удостоверений, назначаемых пользователем, с помощью приведенных ниже команд можно удалить все удостоверения, кроме последнего. Не забудьте заменить значения параметров <RESOURCE GROUP> и <VIRTUAL MACHINE SCALE SET NAME> собственными. <USER ASSIGNED IDENTITY NAME> — это имя управляемого удостоверения, назначаемого пользователем, которое следует оставить в масштабируемом наборе виртуальных машин. Эти сведения можно получить в разделе удостоверений масштабируемого набора виртуальных машин с помощью команды az vmss show.

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"

Если в масштабируемом наборе виртуальных машин нет управляемого удостоверения, назначаемого системой, и вы хотите удалить из него все управляемые удостоверения, назначаемые пользователем, используйте следующую команду:

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None

Если в масштабируемом наборе виртуальных машин есть управляемые удостоверения, как назначаемое системой, так и назначаемые пользователем, вы можете удалить все управляемые удостоверения, назначаемые пользователем, переключившись на использование только управляемого удостоверения, назначаемого системой.

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"

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

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

  • Включение и отключение управляемого удостоверения, назначаемого системой, в масштабируемом наборе виртуальных машин Azure
  • Добавление и удаление управляемого удостоверения, назначаемого пользователем, в масштабируемом наборе виртуальных машин Azure

Необходимые компоненты

Шаблоны диспетчера ресурсов Azure

Так же как портал Azure и сценарии, шаблоны Azure Resource Manager предоставляют возможность развертывать новые или измененные ресурсы, определенные в группе ресурсов Azure. Доступно несколько способов редактирования и развертывания шаблона, локально и на портале, в том числе:

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

Управляемое удостоверение, назначаемое системой

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

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

  1. После входа в Azure локально или через портал Azure используйте учетную запись, связанную с подпиской Azure, которая содержит масштабируемый набор виртуальных машин.

  2. Чтобы включить управляемое удостоверение, назначаемое системой, загрузите шаблон в редактор, найдите интересующий ресурс Microsoft.Compute/virtualMachinesScaleSets в разделе ресурсов и добавьте свойство identity на том же уровне, что и свойство "type": "Microsoft.Compute/virtualMachinesScaleSets". Используйте следующий синтаксис:

    "identity": {
        "type": "SystemAssigned"
    }
    
  3. Когда вы закончите, в раздел ресурсов шаблона следует добавить следующие разделы, которые должны выглядеть следующим образом:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
             },
            "properties": {
                 //other resource provider properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
    
                 }
             }
         }
     ]
    

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

Если для масштабируемого набора виртуальных машин управляемое удостоверение, назначаемое системой, больше не требуется, сделайте следующее.

  1. После входа в Azure локально или через портал Azure используйте учетную запись, связанную с подпиской Azure, которая содержит масштабируемый набор виртуальных машин.

  2. Загрузив шаблон в редактор, найдите нужный ресурс Microsoft.Compute/virtualMachineScaleSets в разделе resources. Если у вашей виртуальной машины есть только управляемое удостоверение, назначаемое системой, его можно отключить, изменив тип удостоверения на None.

    Microsoft.Compute/virtualMachineScaleSets API версии 2018-06-01

    Если apiVersion имеет значение 2018-06-01 и в виртуальной машине есть управляемые удостоверения, назначаемые как системой, так и пользователем, удалите SystemAssigned из типа удостоверения и оставьте UserAssigned вместе со значениями словаря userAssignedIdentities.

    Microsoft.Compute/virtualMachineScaleSets API версии 2018-06-01

    Если apiVersion имеет значение 2017-12-01 и у масштабируемого набора виртуальных машин есть управляемые удостоверения, назначаемые как системой, так и пользователем, удалите SystemAssigned из типов удостоверения и оставьте UserAssigned вместе с массивом управляемых удостоверений, назначаемых пользователем, identityIds.

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

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    
    }
    

Управляемое удостоверение, назначаемое пользователем

В этом разделе вы зададите управляемое удостоверение, назначаемое пользователем, для масштабируемого набора виртуальных машин с помощью шаблона Azure Resource Manager.

Примечание.

Чтобы создать управляемое удостоверение, назначаемое пользователем, с помощью шаблона Azure Resource Manager, обратитесь к разделу Создание управляемого удостоверения, назначаемого пользователем.

Присвоение управляемого удостоверения, назначаемого пользователем, для масштабируемого набора виртуальных машин

  1. Чтобы задать управлемое удостоверение, назначаемое пользователем, для масштабируемого набора виртуальных машин, в элемент resources добавьте приведенную ниже запись. Не забудьте заменить <USERASSIGNEDIDENTITY> именем созданного управляемого удостоверения, назначаемого пользователем.

    Microsoft.Compute/virtualMachineScaleSets API версии 2018-06-01

    Если apiVersion имеет значение 2018-06-01, то управляемые удостоверения, назначаемые пользователем, хранятся в формате словаря userAssignedIdentities, а значение <USERASSIGNEDIDENTITYNAME> должно храниться в переменной, определенной в разделе variables шаблона.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
            }
        }
    
    }
    

    Microsoft.Compute/virtualMachineScaleSets API версии 2017-12-01

    Если apiVersion соответствует 2017-12-01 или более ранней версии, то управляемые удостоверения, назначаемые пользователем, хранятся в массиве identityIds, а значение <USERASSIGNEDIDENTITYNAME> должно храниться в переменной, определенной в разделе variables шаблона.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2017-03-30",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]"
            ]
        }
    }
    
  2. По завершении шаблон должен выглядеть следующим образом.

    Microsoft.Compute/virtualMachineScaleSets API версии 2018-06-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "userAssignedIdentities": {
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

    Microsoft.Compute/virtualMachines API версии 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "identityIds": [
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

Удаление управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин Azure

Если для масштабируемого набора виртуальных машин больше не требуется управляемое удостоверение, назначаемое пользователем, сделайте следующее.

  1. После входа в Azure локально или через портал Azure используйте учетную запись, связанную с подпиской Azure, которая содержит масштабируемый набор виртуальных машин.

  2. Загрузив шаблон в редактор, найдите нужный ресурс Microsoft.Compute/virtualMachineScaleSets в разделе resources. Если у масштабируемого набора виртуальных машин есть только управляемое удостоверение, назначаемое пользователем, его можно отключить, изменив тип удостоверения на None.

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

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    }
    

    Microsoft.Compute/virtualMachineScaleSets API версии 2018-06-01

    Чтобы удалить отдельное управляемое удостоверение, назначаемое пользователем, из масштабируемого набора виртуальных машин, удалите его из словаря userAssignedIdentities.

    Если у вас есть удостоверение, назначаемое системой, сохраните его в значении type в рамках значения identity.

    Microsoft.Compute/virtualMachineScaleSets API версии 2017-12-01

    Чтобы удалить отдельное управляемое удостоверение, назначаемое пользователем, из масштабируемого набора виртуальных машин, удалите его из массива identityIds.

    Если у вас есть управляемое удостоверение, назначаемое системой, сохраните его в значении type в рамках значения identity.

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

Из этой статьи вы узнаете, как выполнять приведенные ниже операции с управляемыми удостоверениями для ресурсов Azure, используя CURL для выполнения вызовов к конечной точке REST Azure Resource Manager.

  • Включение и отключение управляемого удостоверения, назначаемого системой, в масштабируемом наборе виртуальных машин Azure
  • Добавление и удаление управляемого удостоверения, назначаемого пользователем, в масштабируемом наборе виртуальных машин Azure

Если у вас нет учетной записи Azure, зарегистрируйтесь для получения бесплатной пробной учетной записи, прежде чем продолжать.

Необходимые компоненты

  • Если вы не работали с управляемыми удостоверениями для ресурсов Azure, см. статью Что такое управляемые удостоверения для ресурсов Azure. Сведения об удостоверениях, назначаемых системой и назначаемых пользователем, см. в разделе Типы управляемых удостоверений.

  • Для выполнения операций управления, описанных в этой статье, учетной записи нужно назначить следующие роли Azure:

    • Участник виртуальных машин для создания масштабируемого набора виртуальных машин, а также для включения и удаления управляемого удостоверения, назначаемого системой, и (или) управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин.

    • Роль Участник управляемого удостоверения: для создания управляемого удостоверения, назначаемого пользователем.

    • Роль Оператор управляемого удостоверения: для назначения и удаления удостоверения, назначаемого пользователем, в масштабируемом наборе виртуальных машин.

    Примечание.

    Дополнительные назначения ролей каталога Microsoft Entra не требуются.

  • Используйте среду 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.

Управляемое удостоверение, назначаемое системой

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

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

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

  1. Чтобы сохранить и развернуть масштабируемый набор виртуальных машин и связанные с ним ресурсы, создайте группу ресурсов с помощью команды az group create. Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить:

    az group create --name myResourceGroup --location westus
    
  2. Создайте сетевой интерфейс для масштабируемого набора виртуальных машин:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Получите маркер доступа носителя, который понадобится в следующем шаге в заголовке авторизации для создания масштабируемого набора виртуальных машин с управляемым удостоверением, назначаемым системой.

    az account get-access-token
    
  4. С помощью Azure Cloud Shell создайте масштабируемый набор виртуальных машин, используя CURL для вызова конечной точки REST Azure Resource Manager. Приведенный ниже пример создает в группе ресурсов myResourceGroup масштабируемый набор виртуальных машин myVMSS с управляемым удостоверением, назначаемым системой, в соответствии со значением "identity":{"type":"SystemAssigned"} в тексте запроса. Замените <ACCESS TOKEN> значением, полученным на предыдущем шаге при запросе маркера доступа носителя, а вместо <SUBSCRIPTION ID> укажите значение, подходящее для вашей среды.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение application/json.
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Текст запроса

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }  
    

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

Чтобы включить управляемое удостоверение, назначаемое системой, в существующем масштабируемом наборе виртуальных машин, нужно получить маркер доступа, а затем воспользоваться CURL для вызова конечной точки REST Resource Manager для изменения типа удостоверения.

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

    az account get-access-token
    
  2. Используйте приведенную ниже команду CURL для вызова конечной точки REST Azure Resource Manager, чтобы включить управляемое удостоверение, назначаемое системой, в масштабируемом наборе виртуальных машин в соответствии со значением {"identity":{"type":"SystemAssigned"} в тексте запроса для масштабируемого набора виртуальных машин myVMSS. Замените <ACCESS TOKEN> значением, полученным на предыдущем шаге при запросе маркера доступа носителя, а вместо <SUBSCRIPTION ID> укажите значение, подходящее для вашей среды.

    Внимание

    Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем, для масштабируемого набора виртуальных машин, нужно перечислить эти удостоверения с помощью следующей команды CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS 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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение application/json.
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Текст запроса

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. Чтобы включить управляемое удостоверение, назначаемое системой, в масштабируемом наборе виртуальных машин с существующими управляемыми удостоверениями, назначаемыми пользователем, нужно добавить SystemAssigned в значение type.

    Например, если для масштабируемого набора виртуальных машин заданы управляемые удостоверения, назначаемые системой, ID1 и ID2, и вы хотите добавить для него управляемое удостоверение, назначаемое системой, используйте приведенный ниже вызов CURL. Замените <ACCESS TOKEN> и <SUBSCRIPTION ID> значениями, уместными для вашей среды.

    API версии 2018-06-01 хранит управляемые удостоверения, назначаемые пользователем, в значении userAssignedIdentities в формате словаря в отличие от значения identityIds в формате массива, используемого в API версии 2017-12-01.

    API версии 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    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"
           ]
        }
     }
    

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

Чтобы отключить удостоверение, назначаемое системой, в существующем масштабируемом наборе виртуальных машин, нужно получить маркер доступа, а затем воспользоваться CURL для вызова конечной точки REST Resource Manager для изменения типа удостоверения на None.

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

    az account get-access-token
    
  2. Измените масштабируемый набор виртуальных машин, используя CURL для вызова конечной точки REST Azure Resource Manager, чтобы отключить управляемое удостоверение, назначаемое системой. Приведенный ниже пример отключает управляемое удостоверение, назначаемое системой, в масштабируемом наборе виртуальных машин myVMSS в соответствии со значением {"identity":{"type":"None"}} в тексте запроса. Замените <ACCESS TOKEN> значением, полученным на предыдущем шаге при запросе маркера доступа носителя, а вместо <SUBSCRIPTION ID> укажите значение, подходящее для вашей среды.

    Внимание

    Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем, для масштабируемого набора виртуальных машин, нужно перечислить эти удостоверения с помощью следующей команды CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Если для масштабируемого набора виртуальных машин задано управляемое удостоверение, назначаемое пользователем, перейдите к шагу 3, где описано, как сохранить управляемые удостоверения, назначаемые пользователем, при удалении управляемого удостоверения, назначаемого системой, из масштабируемого набора виртуальных машин.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение application/json.
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Текст запроса

     {
        "identity":{
           "type":"None"
        }
     }
    

    Чтобы удалить управляемое удостоверение, назначаемое системой, из масштабируемого набора виртуальных машин, в котором есть управляемые удостоверения, назначаемые пользователем, удалите SystemAssigned из значения {"identity":{"type:" "}}, сохранив значение UserAssigned и значения словаря userAssignedIdentities, если используется API версии 2018-06-01. При использовании API версии 2017-12-01 или более ранних версий сохраните массив identityIds.

Управляемое удостоверение, назначаемое пользователем

В этом разделе описывается, как добавить и удалить управляемое удостоверение, назначаемое пользователем, в масштабируемом наборе виртуальных машин, используя CURL для выполнения вызовов к конечной точке REST Azure Resource Manager.

Задание управляемого удостоверения, назначаемого пользователем, при создании масштабируемого набора виртуальных машин

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

    az account get-access-token
    
  2. Создайте сетевой интерфейс для масштабируемого набора виртуальных машин:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Получите маркер доступа носителя, который понадобится в следующем шаге в заголовке авторизации для создания масштабируемого набора виртуальных машин с управляемым удостоверением, назначаемым системой.

    az account get-access-token
    
  4. Создайте управляемое удостоверение, назначаемое пользователем, как описано в разделе Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине Azure с помощью вызовов REST API.

  5. Создайте масштабируемый набор виртуальных машин, используя CURL для вызова конечной точки REST Azure Resource Manager. Приведенный ниже пример создает в группе ресурсов myResourceGroup масштабируемый набор виртуальных машин myVMSS с управляемым удостоверением, назначаемым пользователем, ID1 в соответствии со значением "identity":{"type":"UserAssigned"} в тексте запроса. Замените <ACCESS TOKEN> значением, полученным на предыдущем шаге при запросе маркера доступа носителя, а вместо <SUBSCRIPTION ID> укажите значение, подходящее для вашей среды.

    API версии 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение application/json.
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Текст запроса

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

    API версии 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение application/json.
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Текст запроса

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

Задание управляемого удостоверения, назначаемого пользователем, для существующего масштабируемого набора виртуальных машин Azure

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

    az account get-access-token
    
  2. Создайте управляемое удостоверение, назначаемое пользователем, как описано в разделе Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине Azure с помощью вызовов REST API.

  3. Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем или назначаемых системой, для масштабируемого набора виртуальных машин, нужно получить список назначенных ему типов удостоверений с помощью приведенной ниже команды CURL. Если у вас есть управляемые удостоверения, назначенные масштабируемому набору виртуальных машин, они перечислены в значении identity.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS 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/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.
  4. Если для вашего масштабируемого набора виртуальных машин не заданы управляемые удостоверения, назначаемые пользователем или назначаемые системой, используйте приведенную ниже команду CURL для вызова конечной точки REST Azure Resource Manager, чтобы задать первое управляемое удостоверение, назначаемое пользователем, для масштабируемого набора виртуальных машин. Если для масштабируемого набора виртуальных машин заданы управляемые удостоверения, назначаемые пользователем или назначаемые системой, перейдите к шагу 5, где описано, как добавить несколько управляемых удостоверений, назначаемых пользователем, в масштабируемый набор виртуальных машин, сохранив при этом управляемое удостоверение, назначаемое системой.

    Следующий пример задает управляемое удостоверение, назначаемое пользователем, ID1 для масштабируемого набора виртуальных машин myVMSS в группе ресурсов myResourceGroup. Замените <ACCESS TOKEN> значением, полученным на предыдущем шаге при запросе маркера доступа носителя, а вместо <SUBSCRIPTION ID> укажите значение, подходящее для вашей среды.

    API версии 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-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/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение application/json.
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Текст запроса

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Если для масштабируемого набора виртуальных машин задано управляемое удостоверение, назначаемое пользователем или назначаемого системой, сделайте следующее.

    API версии 2018-06-01

    Добавьте управляемое удостоверение, назначаемое пользователем, в значение словаря userAssignedIdentities.

    Например, если для масштабируемого набора виртуальных машин заданы управляемое удостоверение, назначаемое системой, и управляемое удостоверение, назначаемое пользователем, ID1 и вы хотите добавить для него управляемое удостоверение, назначаемое пользователем, ID2, сделайте следующее.

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    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"
           ]
        }
     }
    

Удаление управляемого удостоверения, назначаемого пользователем, из масштабируемого набора виртуальных машин

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

    az account get-access-token
    
  2. Чтобы предотвратить удаление существующих управляемых удостоверений, назначаемых пользователем, которые нужно сохранить для масштабируемого набора виртуальных машин, или удалить управляемое удостоверение, назначаемое системой, нужно перечислить управляемые удостоверения с помощью следующей команды CURL.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS 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/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

    Если у вас есть управляемые удостоверения, назначенные виртуальной машине, они перечислены в значении identity в ответе.

    Например, если для масштабируемого набора виртуальных машин заданы управляемые удостоверения, назначаемые пользователем, ID1 и ID2, и требуется оставить только ID1, сохранив при этом управляемое удостоверение, назначаемое системой.

    API версии 2018-06-01

    К управляемому удостоверению, назначаемому пользователем, которое требуется удалить, необходимо добавить null.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    Content-Type Обязательный. Задайте значение 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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    Заголовки запроса

    Заголовок запроса Description
    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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?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/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

Заголовки запроса

Заголовок запроса Description
Content-Type Обязательный. Задайте значение application/json.
Авторизация Обязательный. Задайте допустимый маркер доступа для Bearer.

Текст запроса

{
   "identity":{
      "type":"None"
   }
}

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

Сведения о создании и удалении управляемых удостоверений, назначаемых пользователем, а также получении их списка с помощью REST: