Настройка управляемых удостоверений для ресурсов Azure в масштабируемом наборе виртуальных машин с помощью Azure CLI
Управляемые удостоверения для ресурсов Azure — это функция идентификатора Microsoft Entra. Каждая служба Azure, которая поддерживает управляемые удостоверения для ресурсов Azure, используется в соответствии с собственной временной шкалой. Прежде чем начать работу, обязательно проверьте состояние доступности управляемых удостоверений для своего ресурса и ознакомьтесь с известными проблемами.
Управляемые удостоверения для ресурсов Azure предоставляют службам Azure автоматически управляемое удостоверение, которое хранится в Microsoft Entra ID. Это удостоверение можно использовать для проверки подлинности в любой службе, которая поддерживает аутентификацию Microsoft Entra, без использования учетных данных в коде.
В этой статье вы узнаете, как выполнять следующие операции с управляемыми удостоверениями для ресурсов 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
Чтобы создать масштабируемый набор виртуальных машин с включенным управляемым удостоверением, назначаемым системой, сделайте следующее.
Чтобы сохранить и развернуть масштабируемый набор виртуальных машин и связанные с ним ресурсы, создайте группу ресурсов с помощью команды az group create. Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить:
az group create --name myResourceGroup --location westus
Создание масштабируемого набора виртуальных машин. В приведенном ниже примере создается масштабируемый набор виртуальных машин 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.
Задание управляемого удостоверения, назначаемого пользователем, при создании масштабируемого набора виртуальных машин
В этом разделе описывается, как создать масштабируемый набор виртуальных машин и задать назначаемое пользователем управляемое удостоверение в масштабируемом наборе виртуальных машин. Если у вас уже есть масштабируемый набор виртуальных машин, который вы хотите использовать, пропустите этот раздел и перейдите к следующему.
Если вы уже создали группу ресурсов, которую можно использовать, этот шаг можно пропустить. Создайте группу ресурсов для хранения и развертывания управляемого удостоверения, назначаемого пользователем, используя команду az group create. Не забудьте заменить значения параметров
<RESOURCE GROUP>
и<LOCATION>
собственными. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Создайте управляемое удостоверение, назначаемое пользователем, с помощью команды 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": "73444643-8088-4d70-9532-c3a0fdc190fz", "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=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Создание масштабируемого набора виртуальных машин. В приведенном ниже примере создается масштабируемый набор виртуальных машин, связанный с новым управляемым удостоверением, назначаемым пользователем, в соответствии с параметром
--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>
Задание управляемого удостоверения, назначаемого пользователем, для существующего масштабируемого набора виртуальных машин
Создайте управляемое удостоверение, назначаемое пользователем, с помощью команды az identity create. Параметр
-g
указывает группу ресурсов, в которой создается управляемое удостоверение, назначаемое пользователем, а параметр-n
— его имя. Не забудьте заменить значения параметров<RESOURCE GROUP>
и<USER ASSIGNED IDENTITY NAME>
собственными:az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
Ответ содержит подробные сведения о созданном управляемом удостоверении, назначаемом пользователем, как показано ниже.
{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "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=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Присвоение управляемого удостоверения, назначаемого пользователем, для масштабируемого набора виртуальных машин. Не забудьте заменить значения параметров
<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
Следующие шаги
- Обзор управляемых удостоверений для ресурсов Azure.
- Полное руководство по созданию масштабируемого набора виртуальных машин см. здесь.