Аутентификация Microsoft Entra для базы данных Azure для MySQL — гибкий сервер

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

Преимущества проверки подлинности Entra

  • единая проверка подлинности пользователей в службах Azure;
  • централизованное управление политиками паролей и сменой паролей;
  • Несколько форм проверки подлинности, поддерживаемых идентификатором Microsoft Entra, что может исключить необходимость хранения паролей.
  • Клиенты могут управлять разрешениями базы данных с помощью внешних групп (Microsoft Entra ID).
  • Аутентификация в Microsoft Entra использует пользователей базы данных MySQL для аутентификации личностей на уровне базы данных.
  • Поддержка проверки подлинности на основе маркеров для приложений, подключающихся к гибкому серверу Базы данных Azure для MySQL

Настройка и использование проверки подлинности Microsoft Entra

  1. Выберите предпочитаемый метод проверки подлинности для доступа к гибкому серверу.

    • По умолчанию выбранная проверка подлинности установлена только для MySQL.
    • Чтобы включить проверку подлинности Microsoft Entra, необходимо изменить метод проверки подлинности:
      • Microsoft Entra authentication only
      • или MySQL and Microsoft Entra authentication
  2. Выберите управляемое удостоверение, назначаемое пользователем (UAMI), со следующими привилегиями:

    • User.Read.All: разрешает доступ к сведениям пользователя Microsoft Entra.
    • GroupMember.Read.All: разрешает доступ к данным группы Microsoft Entra.
    • Application.Read.ALL: разрешает доступ к сведениям служебного субъекта (приложения) Microsoft Entra.
  3. Добавление администратора Microsoft Entra. Это могут быть пользователи или группы Microsoft Entra, имеющие доступ к гибкому серверу.

  4. Создайте пользователей в базе данных, сопоставленных с идентичностями Microsoft Entra.

  5. Подключитесь к базе данных, получив токен для удостоверения Microsoft Entra и выполнив вход.

Замечание

Подробные пошаговые инструкции по настройке проверки подлинности Microsoft Entra с помощью гибкого сервера Базы данных Azure для MySQL см. в статье Настройка проверки подлинности Microsoft Entra для базы данных Azure для MySQL — гибкий сервер

Architecture

Удостоверения, управляемые пользователем, необходимы для проверки подлинности Microsoft Entra. Если пользовательское назначенное удостоверение связано с гибким сервером, поставщик ресурсов управляемых удостоверений (Managed Identity Resource Provider, MSRP) выдает сертификат этому удостоверению. При удалении управляемого удостоверения соответствующий субъект-служба автоматически удаляется.

Затем служба использует управляемую идентификацию для запроса токенов доступа к службам, поддерживающим аутентификацию Microsoft Entra. В настоящее время База данных Azure поддерживает только управляемое удостоверение, назначаемое пользователем (UMI) для гибкого сервера Базы данных Azure для MySQL. Дополнительные сведения см. в разделе Типы управляемых удостоверений в Azure.

На следующей высокоуровневой схеме обобщается, как осуществляется проверка подлинности с использованием аутентификации Microsoft Entra в гибком сервере базы данных Azure для MySQL. Стрелки обозначают пути обмена данными.

Схема работы проверки подлинности Microsoft Entra.

  1. Ваше приложение может запросить токен у конечной точки идентификации службы метаданных экземпляра Azure.
  2. При использовании идентификатора клиента и сертификата совершается вызов в Microsoft Entra для запроса токена доступа.
  3. Microsoft Entra возвращает токен доступа в формате JSON Web Token (JWT). Ваше приложение отправляет токен доступа при запросах к вашему серверу.
  4. Сервер проверяет маркер с помощью Microsoft Entra.

Структура администратора

Существует две учетные записи администратора для гибкого сервера Базы данных Azure для MySQL при использовании проверки подлинности Microsoft Entra: исходный администратор MySQL и администратор Microsoft Entra.

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

Это важно

Одновременно можно настроить только одного администратора Microsoft Entra (пользователя или группы).

Схема структуры администрирования Microsoft Entra.

Ниже перечислены методы проверки подлинности для доступа к гибкому серверу:

  • Только проверка подлинности MySQL — параметр по умолчанию разрешает собственную проверку подлинности MySQL только с помощью входа и пароля MySQL.
  • Только проверка подлинности Microsoft Entra — встроенная проверка подлинности MySQL отключена, а пользователи и приложения должны проходить проверку подлинности с помощью Microsoft Entra. Чтобы включить этот режим, для параметра aad_auth_only сервера задано ONзначение .
  • Проверка подлинности с помощью MySQL и Идентификатора Microsoft Entra: доступны как нативная проверка подлинности MySQL, так и проверка подлинности Microsoft Entra. Чтобы включить этот режим, для параметра aad_auth_only сервера задано OFFзначение .

Permissions

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

Это важно

Только пользователь с по крайней мере ролью администратора привилегированных ролей может предоставить эти разрешения.

  • User.Read.All: разрешает доступ к сведениям пользователя Microsoft Entra.
  • GroupMember.Read.All: разрешает доступ к данным группы Microsoft Entra.
  • Application.Read.ALL: разрешает доступ к информации о служебном принципале (приложении) Microsoft Entra.

Рекомендации по предоставлению и использованию разрешений см. в разделе "Обзор разрешений Microsoft Graph"

После предоставления разрешений UMI они становятся активными для всех серверов, созданных с UMI, назначенным в качестве удостоверения сервера.

Проверка токена

Аутентификация Microsoft Entra в гибком сервере базы данных Azure для MySQL гарантирует, что пользователь существует на сервере MySQL, и проверяет допустимость токена, верифицируя его содержимое. Выполняются следующие действия по проверке маркеров:

  • Токен подписан компанией Microsoft Entra.
  • Токен выдан Microsoft Entra для арендатора, связанного с сервером.
  • Срок действия маркера не истек.
  • Маркер предназначен для экземпляра Flexible Server (а не для другого ресурса Azure).

Подключитесь с помощью удостоверений Microsoft Entra

Проверка подлинности Microsoft Entra поддерживает следующие методы подключения к базе данных с помощью удостоверений Microsoft Entra:

  • Пароль Microsoft Entra
  • Интегрированная Microsoft Entra
  • Microsoft Entra Universal с многофакторной аутентификацией (MFA)
  • Использование сертификатов приложений Active Directory или секретов клиента
  • Управляемая идентичность

После проверки подлинности в Active Directory вы получите маркер. Этот маркер является вашим паролем для входа в систему.

Замечание

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

Замечание

Дополнительные сведения о подключении с токеном Active Directory см. в статье Настройка проверки подлинности Microsoft Entra для базы данных Azure для MySQL — гибкий сервер.

Другие вопросы

  • В любое время можно настроить только одного администратора Microsoft Entra на гибкий сервер.

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

    Замечание

    Вход с помощью удаленного пользователя Microsoft Entra по-прежнему можно выполнить до истечения срока действия маркера (до 60 минут от выдачи маркера). Если удалить пользователя из гибкого сервера Базы данных Azure для MySQL, этот доступ отменяется немедленно.

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

  • Гибкий сервер сопоставляет маркеры доступа с уникальным идентификатором Entra ID пользователя вместо имени пользователя. Таким образом, если пользователь удаляется из Microsoft Entra, а затем добавляется новый пользователь с тем же именем, новый пользователь не наследует предыдущие разрешения.

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

Замечание

Подписки гибкого сервера с включенной проверкой подлинности Microsoft Entra не могут быть переданы другому клиенту или каталогу.

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