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


Проверка подлинности Microsoft Entra с помощью Базы данных Azure для PostgreSQL

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

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

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

Как работает идентификатор Microsoft Entra в Базе данных Azure для PostgreSQL

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

Схема потока проверки подлинности между идентификатором Microsoft Entra, компьютером пользователя и сервером.

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

Инструкции по настройке идентификатора Microsoft Entra с базой данных Azure для PostgreSQL см. в статье "Использование идентификатора Microsoft Entra для проверки подлинности с помощью базы данных Azure для PostgreSQL".

Различия между администратором PostgreSQL и администратором Microsoft Entra

Если включить проверку подлинности Microsoft Entra для субъекта Microsoft Entra в качестве администратора Microsoft Entra, учетная запись:

  • Получает те же привилегии, что и исходный администратор PostgreSQL.
  • Может управлять другими ролями Microsoft Entra на сервере.

Администратор PostgreSQL может создавать только локальных пользователей на основе паролей. Но администратор Microsoft Entra имеет право управлять пользователями Microsoft Entra и локальными пользователями на основе паролей.

Администратор Microsoft Entra может быть пользователем Microsoft Entra, группой Microsoft Entra, субъектом-службой или управляемым удостоверением. Использование учетной записи группы в качестве администратора повышает управляемость. Это позволяет централизованно добавлять и удалять участников группы в идентификаторе Microsoft Entra, не изменяя пользователей или разрешений в экземпляре гибкого сервера Базы данных Azure для PostgreSQL.

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

Снимок экрана: структура администратора для идентификатора Entra.

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

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

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

  • Проверка подлинности паролей Microsoft Entra
  • Встроенная проверка подлинности Microsoft Entra
  • Универсальная служба Microsoft Entra с многофакторной проверкой подлинности
  • Сертификаты приложений Active Directory или секреты клиента
  • Управляемое удостоверение

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

Инструкции по настройке идентификатора Microsoft Entra с базой данных Azure для PostgreSQL см. в статье "Использование идентификатора Microsoft Entra для проверки подлинности с помощью базы данных Azure для PostgreSQL".

Ограничения и рекомендации

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

  • Чтобы субъекты Microsoft Entra имели права владения пользовательскими базами данных в любой процедуре развертывания, добавьте явные зависимости в модуле развертывания (Terraform или Azure Resource Manager), чтобы убедиться, что проверка подлинности Microsoft Entra включена перед созданием любых пользовательских баз данных.

  • Вы можете в любой момент настроить нескольких субъектов Microsoft Entra (пользователей, группы, служебных принципалов или управляемых удостоверений) в качестве администраторов Microsoft Entra для гибкого экземпляра сервера базы данных Azure для PostgreSQL.

  • Только администратор Microsoft Entra для PostgreSQL может первоначально подключиться к гибкому экземпляру сервера Базы данных Azure для PostgreSQL с помощью учетной записи Microsoft Entra. Администратор Active Directory может настроить последующих пользователей базы данных Microsoft Entra.

  • При удалении принципала Microsoft Entra из Microsoft Entra ID принципал остается в роли PostgreSQL, но больше не может получить новый токен доступа. В этом случае, хотя соответствующая роль по-прежнему существует в базе данных, она не может пройти проверку подлинности на сервере. Администраторы базы данных должны вручную передавать права владения и удалять роли.

    Замечание

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

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

Часто задаваемые вопросы

  • Каковы доступные режимы проверки подлинности в Базе данных Azure для PostgreSQL?

    База данных Azure для PostgreSQL поддерживает три режима проверки подлинности: только проверка подлинности PostgreSQL, только проверка подлинности Microsoft Entra и проверка подлинности как PostgreSQL, так и Microsoft Entra.

  • Можно ли настроить несколько администраторов Microsoft Entra на гибком экземпляре сервера?

    Да. Вы можете настроить несколько администраторов Microsoft Entra на гибком экземпляре сервера. Во время подготовки можно задать только одного администратора Microsoft Entra. Но после создания сервера можно задать столько администраторов Microsoft Entra, сколько требуется, перейдя на панель проверки подлинности .

  • Является ли администратор Microsoft Entra только пользователем Microsoft Entra?

    Нет. Администратор Microsoft Entra может быть пользователем, группой, субъектом-службой или управляемым удостоверением.

  • Может ли администратор Microsoft Entra создавать локальных пользователей на основе паролей?

    Администратор Microsoft Entra имеет право управлять пользователями Microsoft Entra и локальными пользователями на основе паролей.

  • Что происходит при включении проверки подлинности Microsoft Entra на гибком экземпляре сервера Базы данных Azure для PostgreSQL?

    При установке проверки подлинности Microsoft Entra на уровне сервера расширение PGAadAuth включено и сервер перезапускается.

  • Как выполнить вход с помощью проверки подлинности Microsoft Entra?

    Вы можете использовать такие клиентские средства, как psql или pgAdmin для входа в гибкий экземпляр сервера. Используйте идентификатор пользователя Microsoft Entra в качестве имени пользователя и маркера Microsoft Entra в качестве пароля.

  • Как создать токен?

    Вы создаете маркер с помощью az login. Дополнительные сведения см. в разделе "Получение маркера доступа Microsoft Entra".

  • Какова разница между именем входа в группу и отдельным именем входа?

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

  • Какова разница между проверкой подлинности группы и индивидуальной проверкой подлинности?

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

Что такое время существования маркера?

Маркеры пользователей допустимы до 1 часа. Маркеры управляемых удостоверений, назначаемых системой, действительны до 24 часов.