Интеграция Microsoft Entra ID (Azure AD) для виртуальных машин Linux (ВМ) — это мощная функция, которая повышает безопасность и упрощает управление удостоверениями. Включив вход через Azure AD, вы сможете упорядочить контроль доступа и избавиться от необходимости управлять локальными учётными данными. В этом руководстве мы шаг за шагом покажем, как настроить вход через Microsoft Entra ID для виртуальных машин Linux в Azure, назначить роли и безопасно подключаться.
Содержание
Зачем включать вход через Entra ID для виртуальных машин Linux?
Вход через Azure AD даёт несколько преимуществ при управлении виртуальными машинами Linux в Azure:
- Централизованное управление удостоверениями: Управляйте доступом пользователей и разрешениями через Azure AD, не полагаясь на локальные учётные записи.
- Повышенная безопасность: Используйте современные методы проверки подлинности, такие как многофакторная проверка подлинности (MFA).
- Управление доступом на основе ролей (RBAC): Назначайте детальные разрешения пользователям и группам.
- Упрощение операций: Снизьте сложность управления SSH-ключами и паролями.
Шаг 1. Создание виртуальной машины Linux с включённым входом через Azure AD
Для начала создайте в Azure новую виртуальную машину Linux с включённым входом через Azure AD.
- Перейти в Azure Portal:
- Войдите в Azure Portal.
- Перейдите в раздел Виртуальные машины и нажмите Создать > Виртуальная машина.
- Настройка основных параметров ВМ:
- Заполните необходимые сведения, такие как Подписка, Группа ресурсов, Имя ВМ и Регион.
- Выберите подходящий Образ (например, Ubuntu 24.04 LTS).
- Включение входа через Azure AD:
- На вкладке Управление найдите раздел Удостоверение.
- Установите значение Назначаемое системой управляемое удостоверение: Вкл..
- Включите Вход с помощью Azure AD , переключив соответствующий параметр.
- Проверить и создать:
- Проверьте конфигурацию и нажмите Создать , чтобы развернуть ВМ.

Шаг 2. Назначение роли Azure AD для доступа к ВМ
Чтобы пользователи Azure AD могли входить в ВМ, необходимо назначить соответствующую роль.
- Управление доступом (IAM):
- Перейдите к своей ВМ в Azure Portal.
- Перейдите на вкладку Управление доступом (IAM).
- Нажмите Добавить назначение роли.

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

- Назначение участников:
- В разделе Участники, нажмите Выбрать участников.
- Найдите пользователя или группу Azure AD, которым нужно назначить роль, и выберите их.
- Сохранение изменений:
- Нажмите Проверить и назначить , чтобы сохранить назначение роли.
Если вы не назначите требуемую роль, то получите следующую ошибку:
john [ ~ ]$ az ssh vm -n AzureADLinuxVM -g testrg
OpenSSH_9.8p1, OpenSSL 3.3.3 11 Feb 2025
The authenticity of host '4.xx.x.x (4.xx.x.x)' can't be established.
ED25519 key fingerprint is SHA256:X+idYWkBunsXXxXXxXXxXX5eU6nzLvC7dPXXxxX+Xktg.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '4.xx.x.x' (ED25519) to the list of known hosts.
[email protected]@4.xx.x.x: Permission denied (publickey).

Шаг 3. Подключение к виртуальной машине Linux с помощью учётных данных Azure AD
После настройки ВМ и назначения ролей вы можете подключаться к ней с помощью учётных данных Azure AD. Azure предлагает несколько способов подключения, в том числе Azure Cloud Shell и такие инструменты, как PuTTY.
Вариант 1. Использование Azure Cloud Shell
- Откройте Azure Cloud Shell на портале Azure.
- Используйте следующую команду для подключения к вашей ВМ:
az ssh vm -n <Azure_VM_Name> -g <Resource_Group_Name>
Замените:<Azure_VM_Name>на имя вашей виртуальной машины.<Resource_Group_Name>на имя группы ресурсов, в которой находится ВМ.

Этот метод избавляет от необходимости вручную управлять SSH-ключами, так как проверку подлинности выполняет Azure.
Вариант 2. Использование PuTTY (Windows)
- Создайте файл конфигурации.
John [ ~ ]$ ls
clouddrive Microsoft
John [ ~ ]$ az ssh config --file config -n AzureADLinuxVM -g testrg
Generated SSH certificate /home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa.pub-aadcert.pub is valid until 2025-05-27 02:34:18 PM in local time.
/home/John/az_ssh_config/testrg-AzureADLinuxVM contains sensitive information (id_rsa, id_rsa.pub, id_rsa.pub-aadcert.pub). Please delete it once you no longer need this config file.
John [ ~ ]$ ls
az_ssh_config clouddrive config Microsoft
- Откройте файл конфигурации, и вы найдёте расположение закрытого SSH-ключа. Формат выглядит следующим образом:
Host testrg-AzureADLinuxVM
User [email protected]
HostName 4.XXX.XXX.XX
CertificateFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa.pub-aadcert.pub"
IdentityFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa"
Host 4.XXX.XXX.XX
User [email protected]
CertificateFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa.pub-aadcert.pub"
IdentityFile "/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa"
- Скачивание и установка PuTTY:
- Скачайте PuTTY с официального сайта.
- Установите его на локальный компьютер.
- Скачайте закрытый ключ id_rsa и сертификат id_rsa.pub-aadcert.pub.
- Преобразуйте SSH-ключ (/home/john/az_ssh_config/testrg-AzureADLinuxVM/id_rsa) в формат PuTTY:
- Используйте PuTTYgen , чтобы преобразовать ваш закрытый SSH-ключ в формат
.ppk. - Загрузите ключ, сохраните его в формате
.ppk, и продолжите.
- Используйте PuTTYgen , чтобы преобразовать ваш закрытый SSH-ключ в формат

- Настройка PuTTY:
- Откройте PuTTY и введите общедоступный IP-адрес вашей ВМ.
- В разделе Connection > SSH > Auth, загрузите файл
.ppk. - Нажмите Открыть , чтобы установить соединение.

Шаг 4. Сброс пароля или управление доступом (необязательно)
Если нужно сбросить пароль пользователя или управлять доступом:
- Сброс пароля:
- Перейдите к ВМ в Azure Portal.
- В разделе Поддержка + устранение неполадок, выберите Сброс пароля.
- Выберите Имя пользователя и сбросьте пароль.
- Изменение назначений ролей:
- Перейдите в Управление доступом (IAM).
- При необходимости изменяйте или удаляйте назначения ролей.
Советы по устранению неполадок
- Сбой SSH-подключения: Убедитесь, что группа сетевой безопасности (NSG) разрешает входящий SSH-трафик на порту 22.
- Ошибки проверки подлинности: Проверьте, назначена ли пользователю правильная роль Azure AD.
- Проблемы с общедоступным IP-адресом: Убедитесь, что ВМ имеет общедоступный IP-адрес, или настройте частное подключение с помощью Azure Bastion.
Заключение
Включение входа через Azure AD для виртуальных машин Linux в Azure — это настоящий прорыв для организаций, стремящихся повысить безопасность и упростить управление доступом. Следуя шагам, описанным в этом руководстве, вы сможете настроить вход через Azure AD, назначить роли и без проблем подключаться к своей ВМ.
Больше технических руководств по облачным технологиям и рекомендаций см. в нашем блоге и следите за последними новостями облачных вычислений.