Поделиться через


Использование Microsoft Entra ID для проверки подлинности при входе в PostgreSQL

Область применения: отдельный сервер Базы данных Azure для PostgreSQL

Внимание

База данных Azure для PostgreSQL — одиночный сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для PostgreSQL — гибкий сервер. Дополнительные сведения о миграции на База данных Azure для PostgreSQL — гибкий сервер см. в статье "Что происходит с одним сервером База данных Azure для PostgreSQL?".

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

Преимущества использования идентификатора Microsoft Entra:

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

Чтобы настроить и использовать проверку подлинности Microsoft Entra, используйте следующий процесс:

  1. Создайте и заполните идентификатор Microsoft Entra удостоверениями пользователей по мере необходимости.
  2. Если нужно, привяжите или измените каталог Active Directory, который сейчас связан с вашей подпиской Azure.
  3. Создайте администратора Microsoft Entra для сервера База данных Azure для PostgreSQL.
  4. Создайте пользователей базы данных в базе данных, сопоставленных с удостоверениями Microsoft Entra.
  5. Подключение в базу данных путем получения маркера для удостоверения Microsoft Entra и входа в систему.

Примечание.

Сведения о создании и заполнении идентификатора Microsoft Entra, а затем настройке идентификатора Microsoft Entra с помощью База данных Azure для PostgreSQL см. в статье "Настройка и вход с помощью идентификатора Microsoft Entra id для База данных Azure для PostgreSQL".

Архитектура

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

поток проверки подлинности

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

При использовании проверки подлинности Microsoft Entra существует две учетные записи Администратор istrator для сервера PostgreSQL; исходный администратор PostgreSQL и администратор Microsoft Entra. Только администратор, основанный на учетной записи Microsoft Entra, может создать в пользовательской базе данных первый идентификатор Microsoft Entra Id, содержащийся в базе данных пользователя. Имя входа администратора Microsoft Entra может быть пользователем Microsoft Entra или группой Microsoft Entra. Если администратор является учетной записью группы, ее можно использовать любым участником группы, позволяя нескольким администраторам Microsoft Entra для сервера PostgreSQL. Использование учетной записи группы в качестве администратора повышает управляемость, позволяя централизованно добавлять и удалять участников группы в идентификаторе Microsoft Entra без изменения пользователей или разрешений на сервере PostgreSQL. В любое время можно настроить только одного администратора Microsoft Entra (пользователя или группы).

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

Примечание.

Субъект-служба или управляемое удостоверение не могут выступать в качестве полнофункциональной Администратор istrator Microsoft Entra на одном сервере, и это ограничение исправлено на гибком сервере.

Разрешения

Чтобы создать новых пользователей, которые могут проходить проверку подлинности с помощью идентификатора Microsoft Entra, необходимо иметь azure_ad_admin роль в базе данных. Эта роль назначается путем настройки учетной записи Microsoft Entra Администратор istrator для конкретного сервера База данных Azure для PostgreSQL.

Чтобы создать пользователя базы данных Microsoft Entra, необходимо подключиться как администратор Microsoft Entra. Это показано в разделе "Настройка и вход" с идентификатором Microsoft Entra для База данных Azure для PostgreSQL.

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

Подключение использование удостоверений 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 для PostgreSQL.

Дополнительные рекомендации

  • Чтобы повысить управляемость, рекомендуется подготовить выделенную группу Microsoft Entra в качестве администратора.
  • Только один администратор Microsoft Entra (пользователь или группа) можно настроить для сервера База данных Azure для PostgreSQL в любое время.
  • Изначально только администратор Microsoft Entra для PostgreSQL может подключаться к Базе данных Azure для PostgreSQL, используя учетную запись Microsoft Entra. Затем администратор Active Directory может настроить других пользователей базы данных Microsoft Entra.
  • Если пользователь удаляется из идентификатора Microsoft Entra, этот пользователь больше не сможет пройти проверку подлинности с помощью идентификатора Microsoft Entra, поэтому получить маркер доступа для этого пользователя больше не удастся. В этом случае, хотя соответствующая роль по-прежнему будет присутствовать в базе данных, к серверу с этой ролью подключиться не получится.

Примечание.

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

  • Если администратор Microsoft Entra удален с сервера, сервер больше не будет связан с клиентом Microsoft Entra, поэтому все имена входа Microsoft Entra будут отключены для сервера. Добавление нового администратора Microsoft Entra из того же клиента приведет к повторному входу Microsoft Entra.
  • База данных Azure для PostgreSQL сопоставляет маркеры доступа к роли База данных Azure для PostgreSQL с помощью уникального идентификатора пользователя Microsoft Entra, а не имени пользователя. Это означает, что если пользователь Microsoft Entra удаляется в идентификаторе Microsoft Entra и новом пользователе, созданном с тем же именем, База данных Azure для PostgreSQL считает, что другой пользователь. Таким образом, если пользователь удаляется из идентификатора Microsoft Entra ID, а затем новый пользователь с тем же именем добавлен, новый пользователь не сможет подключиться к существующей роли. Чтобы разрешить это, администратору Microsoft Entra База данных Azure для PostgreSQL необходимо отменить, а затем предоставить роль "azure_ad_user" пользователю, чтобы обновить идентификатор пользователя Microsoft Entra.

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