Управление ролями Microsoft Entra в База данных Azure для PostgreSQL — гибкий сервер

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

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

Примечание.

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

Если вы хотите узнать, как создавать пользователей подписки Azure и их привилегии и управлять ими, вы можете посетить статью управления доступом на основе ролей Azure (Azure RBAC) или узнать , как настроить роли.

Создание или удаление администраторов Microsoft Entra с помощью API портал Azure или Azure Resource Manager (ARM)

  1. Откройте страницу проверки подлинности для База данных Azure для PostgreSQL гибкого экземпляра сервера в портал Azure.
  2. Чтобы добавить администратора, выберите "Добавить Microsoft Entra Администратор" и выберите пользователя, группу, приложение или управляемое удостоверение из текущего клиента Microsoft Entra.
  3. Чтобы удалить администратора, выберите значок "Удалить " для удаления.
  4. Нажмите кнопку "Сохранить " и дождитесь завершения операции подготовки.

Screenshot of managing Microsoft Entra administrators via portal.

Примечание.

Поддержка управления Microsoft Entra Администратор istrator с помощью пакета SDK Azure, az cli и Azure PowerShell скоро ожидается.

Управление ролями Microsoft Entra с помощью SQL

После создания первого администратора Microsoft Entra из портал Azure или API можно использовать роль администратора для управления ролями Microsoft Entra в База данных Azure для PostgreSQL гибком экземпляре сервера.

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

Типы субъектов

База данных Azure для PostgreSQL гибкий сервер внутренне сохраняет сопоставление между ролями базы данных PostgreSQL и уникальными идентификаторами объектов AzureAD. Каждая роль базы данных PostgreSQL может быть сопоставлена с одним из следующих типов объектов Microsoft Entra:

  1. Пользователь — включая локальных и гостевых пользователей клиента.
  2. Субъект-служба. Включение приложений и управляемых удостоверений
  3. Группа, когда роль PostgreSQL связана с группой Microsoft Entra, любой пользователь или субъект-служба этой группы может подключиться к База данных Azure для PostgreSQL гибкому экземпляру сервера с ролью группы.

Вывод списка ролей Microsoft Entra с помощью SQL

select * from pgaadauth_list_principals(true);

Параметры:

  • True возвращает Администратор пользователей.
  • false — возвращает всех пользователей Microsoft Entra как администраторов Microsoft Entra, так и администраторов, не являющихся администраторами Microsoft Entra.

Создание роли с помощью имени субъекта Microsoft Entra

select * from pgaadauth_create_principal('<roleName>', <isAdmin>, <isMfa>);

--For example: 

select * from pgaadauth_create_principal('mary@contoso.com', false, false);

Параметры:

  • roleName — имя создаваемой роли. Это должно соответствовать имени субъекта Microsoft Entra:
    • Для пользователей используется имя участника-пользователя из профиля. Для гостевых пользователей добавьте полное имя в свой домашний домен с тегом #EXT#.
    • Для групп и субъектов-служб используется отображаемое имя. Имя должно быть уникальным в клиенте.
  • is Администратор — задайте значение true, если при создании пользователя администратора и значение false для обычного пользователя. Администратор пользователь, созданный таким образом, имеет те же привилегии, что и при создании с помощью портала или API.
  • isMfa — флаг, если для этой роли необходимо применить многофакторную проверку подлинности.

Удаление роли с помощью имени субъекта Microsoft Entra

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

DROP ROLE rolename;

Создание роли с помощью идентификатора объекта Microsoft Entra

select * from pgaadauth_create_principal_with_oid('<roleName>', '<objectId>', '<objectType>', <isAdmin>, <isMfa>);

For example: select * from pgaadauth_create_principal_with_oid('accounting_application', '00000000-0000-0000-0000-000000000000', 'service', false, false);

Параметры:

  • roleName — имя создаваемой роли.
  • objectId — уникальный идентификатор объекта Microsoft Entra:
    • Для пользователей, групп и управляемых удостоверений можно найти ObjectId, выполнив поиск имени объекта на странице идентификатора Microsoft Entra ID в портал Azure. См. это руководство как пример
    • Для приложений необходимо использовать objectid соответствующего субъекта-службы . В портал Azure на странице "Корпоративные приложения" можно найти обязательный объект ObjectId.
  • objectType — тип объекта Microsoft Entra для связи с этой ролью: служба, пользователь, группа.
  • is Администратор — задайте значение true, если при создании пользователя администратора и значение false для обычного пользователя. Администратор пользователь, созданный таким образом, имеет те же привилегии, что и при создании с помощью портала или API.
  • isMfa — флаг, если для этой роли необходимо применить многофакторную проверку подлинности.

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

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

Чтобы назначить метку безопасности, можно использовать следующий SQL:

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<user|group|service>,admin';

Параметры:

  • roleName — имя существующей роли PostgreSQL, для которой должна быть включена проверка подлинности Microsoft Entra.
  • objectId — уникальный идентификатор объекта Microsoft Entra.
  • user — субъекты-конечные пользователи.
  • служба — приложения или управляемые удостоверения, подключающиеся под собственными учетными данными службы.
  • group — имя группы Microsoft Entra.

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