OpenAM - SAML, автоматическая федерация и самообслуживание сброса пароля - PullRequest
0 голосов
/ 29 февраля 2020

Мне нужно провести мозговой штурм здесь, потому что я думаю, что, возможно, я неправильно понимаю всю точку федерации SAML.

Некоторые подробности о контексте:

  • OpenAM с хостом SAML SP ;
  • В круге доверия я добавил https://samltest.id в качестве тестового IdP;
  • OpenAM настроен для динамического создания локальных пользователей, поскольку администратор должен иметь возможность установить некоторые атрибуты для федеративных пользователей, скажем, записи на панели инструментов или членство в группах;
  • Я включил автоопределение и настроить сопоставление атрибутов пользователей.

Федерация работает нормально - пользователи IdP правильно вошел в систему и сопоставлен с существующим или только что созданным пользователем хранилища данных. Когда в хранилище данных создается удаленный пользователь, OpenAM назначает случайный пароль, который пользователь не знает, поэтому удаленные пользователи могут входить только через IdP.

Теперь все пользователи, включая удаленных , можете получить доступ к консоли и установить собственный пароль. Чтобы предотвратить это, я установил userPassword в качестве защищенного атрибута, поэтому, если пользователи не знают свой текущий пароль, они не могут его изменить.

Однако я заметил, что пользователи могут запросить пароль Сброс для учетных записей, предоставляемых через механизм федерации - это означает, что они могут изменить пароль для своей учетной записи, а затем войти в систему с помощью локального механизма входа.

Я что-то упустил? Ожидается ли такое поведение при аутентификации удаленных пользователей? Как мне настроить все так, чтобы локальные пользователи были отделены от удаленных?

1 Ответ

0 голосов
/ 02 марта 2020

Я думаю, что решил это. Я изменил конфигурацию проверки подлинности организации, чтобы использовать новую цепочку, содержащую модуль LDAP, вместо значения по умолчанию ldapService, в котором используется модуль DataStore. Я могу различать guish между федеративными и локальными пользователями, проверив наличие указанного атрибута c в хранилище LDAP, поэтому я изменил модуль LDAP для применения фильтра поиска пользователей, исключая федеративных пользователей, и теперь они не больше может аутентифицироваться локально, используя обходной путь восстановления пароля.

...