Управление ролями 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)
- Откройте страницу проверки подлинности для База данных Azure для PostgreSQL гибкого экземпляра сервера в портал Azure.
- Чтобы добавить администратора, выберите "Добавить Microsoft Entra Администратор" и выберите пользователя, группу, приложение или управляемое удостоверение из текущего клиента Microsoft Entra.
- Чтобы удалить администратора, выберите значок "Удалить " для удаления.
- Нажмите кнопку "Сохранить " и дождитесь завершения операции подготовки.
Примечание.
Поддержка управления 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:
- Пользователь — включая локальных и гостевых пользователей клиента.
- Субъект-служба. Включение приложений и управляемых удостоверений
- Группа, когда роль 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.
Следующие шаги
- Ознакомьтесь с общими понятиями проверки подлинности Microsoft Entra с помощью База данных Azure для PostgreSQL — гибкий сервер