Назад | Перейти на главную страницу

Почему все группы показывают всех пользователей как участников с Google Secure LDAP?

После включения и настройка SSSD для использования службы Google Secure LDAP, при запросе через getent group, во всех группах G-Suite все пользователи G-Suite отображаются как участники:

$ getent group admin
admin:*:202851646:muru,user1,user2,....
$ getent group jira-users
admin:*:202851646:user5,user3,....

Присутствуют все пользователи, но в разном порядке.

В частности, журналы Google LDAP показывают, что SSSD использует следующий запрос (сайт отредактирован):

(&(memberOf:1.2.840.113556.1.4.1941:=cn=all,ou=Groups,dc=<site>,dc=com)(objectClass=posixAccount))

И действительно, если я использую тот же запрос с ldapsearch, в результате возвращаются все учетные записи.

Как я могу это исправить?

Кажется, это из-за этих строк в Рекомендуемая конфигурация G-Suite для sssd:

ldap_groups_use_matching_rule_in_chain = true
ldap_initgroups_use_matching_rule_in_chain = true

Удалите их, и группы начнут правильно отображать участников (в основном, группы с псевдо-сущностью «Все» в качестве члена показывают только явно перечисленных членов).


В частности, это связано с ldap_groups_use_matching_rule_in_chain. Из man sssd-ldap:

ldap_groups_use_matching_rule_in_chain

Этот параметр указывает SSSD использовать особую функцию Active Directory, которая может ускорить операции поиска в группах при развертывании со сложными или глубоко вложенными группами. В большинстве случаев лучше оставить эту опцию отключенной. Обычно это обеспечивает повышение производительности только на очень сложных вложениях.

Если этот параметр включен, SSSD будет использовать его, если обнаружит, что сервер поддерживает его при первоначальном подключении. Таким образом, "True" здесь по существу означает "автоматическое обнаружение".

Примечание. В настоящее время известно, что эта функция работает только с Active Directory 2008 R1 и новее. См. Документацию MSDN (TM)2 Больше подробностей.

По умолчанию: False

И проверяем документы MSDN:

  • 1.2.840.113556.1.4.1941 LDAP_MATCHING_RULE_IN_CHAIN Это правило ограничено фильтрами, которые применяются к DN. Это специальный «расширенный» оператор сопоставления, который просматривает цепочку предков в объектах вплоть до корня, пока не найдет совпадение.

И 1.2.840.113556.1.4.1941 это правило, используемое в запросах sssd.

Я недостаточно хорошо разбираюсь в запросах LDAP, чтобы судить, какой из запросов SSSD или службы LDAP Google не работает. Не совсем понятно, как я должен сообщать о таких технических недостатках в справочном центре, поэтому я не сообщил об этом в Google.