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


Идентификатор Записи Майкрософт и проверка подлинности PostgreSQL с помощью Azure Cosmos DB для PostgreSQL

Область применения: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus до PostgreSQL)

Azure Cosmos DB для PostgreSQL поддерживает проверку подлинности PostgreSQL и интеграцию с идентификатором Microsoft Entra. Каждый кластер Azure Cosmos DB для PostgreSQL создается с включенной собственной проверкой подлинности PostgreSQL и одной встроенной ролью citusPostgreSQL. После завершения подготовки кластера можно добавить дополнительные собственные роли PostgreSQL.

Кроме того, вы можете включить проверку подлинности Microsoft Entra ID (ранее Azure Active Directory) в кластере в дополнение к методу проверки подлинности PostgreSQL или вместо него. Методы проверки подлинности можно настроить в каждом кластере Azure Cosmos DB для PostgreSQL независимо. Если необходимо изменить метод проверки подлинности, его можно сделать в любое время после завершения подготовки кластера. Изменение методов проверки подлинности не требует перезапуска кластера.

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

Модуль PostgreSQL использует роли для управления доступом к объектам базы данных. Недавно созданный кластер Azure Cosmos DB для PostgreSQL поставляется с несколькими предопределенными ролями:

Так как Azure Cosmos DB для PostgreSQL является управляемой службой PaaS, только корпорация Майкрософт может войти с postgres помощью роли суперпользователя. Для ограниченного административного доступа Azure Cosmos DB для PostgreSQL предоставляет citus роль.

Управляемая служба должна реплицировать все роли PostgreSQL ко всем узлам в кластере. Чтобы упростить это требование, необходимо создать все остальные роли PostgreSQL с помощью возможностей управления Azure Cosmos DB для PostgreSQL.

Роль Citus

Разрешения для роли citus:

  • чтение всех переменных конфигурации, даже переменных, которые обычно видны только суперпользователям;
  • чтение всех представлений pg_stat_* и использование различных расширений, связанных со статистикой — даже представлений или расширений, которые обычно видны только суперпользователям;
  • Выполнение функций мониторинга, которые могут занять блокировки ACCESS SHARE в таблицах, потенциально в течение длительного времени.
  • Создание расширений PostgreSQL.

У роли citus и есть некоторые ограничения:

  • не может создавать роли;
  • не может создавать базы данных.

citus роль не может быть удалена, но будет отключена, если в кластере выбран метод проверки подлинности только идентификатора Microsoft Entra.

Проверка подлинности идентификатора Microsoft Entra

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

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

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

Управление доступом PostgreSQL для субъектов идентификатора Microsoft Entra

Если проверка подлинности идентификатора Microsoft Entra ID включена и субъект идентификатора Microsoft Entra добавляется в качестве администратора идентификатора Microsoft Entra, учетная запись получает те же привилегии, что citus и роль. Вход администратора идентификатора Microsoft Entra может быть пользователем Microsoft Entra ID, субъектом-службой или управляемым удостоверением. Несколько администраторов идентификатора Microsoft Entra можно настроить в любое время, и при необходимости можно отключить проверку подлинности PostgreSQL (пароль) в кластере Azure Cosmos DB для PostgreSQL для улучшения аудита и соответствия требованиям.

Кроме того, любое количество ролей идентификатора Microsoft Entra Id, не являющихся администраторами, можно добавлять в кластер в любое время после включения проверки подлинности Идентификатора Microsoft Entra. Разрешения базы данных для ролей идентификатора Microsoft Entra, отличных от microsoft, управляются обычными ролями.

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

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

  • Пароль идентификатора Microsoft Entra
  • Интегрированный идентификатор Microsoft Entra
  • Универсальный идентификатор Microsoft Entra ID с MFA
  • Использование сертификатов приложений и секретов приложения идентификатора Microsoft Entra ID
  • Управляемое удостоверение

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

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

  • Несколько субъектов идентификатора Microsoft Entra (пользователь, субъект-служба или управляемое удостоверение) можно настроить в качестве администратора идентификатора Microsoft Entra для кластера Azure Cosmos DB для PostgreSQL в любое время.
  • Если субъект Идентификатора Microsoft Entra удаляется из службы идентификатора Microsoft Entra ID, он по-прежнему остается ролью PostgreSQL в кластере, но он больше не может получить новый маркер доступа. В этом случае, хотя соответствующая роль по-прежнему существует в базе данных Postgres, она не может пройти проверку подлинности на узлах кластера. Администраторы базы данных должны передавать права владения и удалять такие роли вручную.

Примечание.

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

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

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