Может ли ADFS подключаться к другим службам SSO?

У меня есть приложение .net, подключенное к моему локальному серверу ADFS (подключенному к нашему корпоративному серверу AD), и все работает нормально. Мой вопрос: может ли мой ADFS установить доверенное соединение с дополнительными службами единого входа в Интернете, такими как Azure AD, AWS, вход в Google, Facebook, Twitter, OpenID и т. Д., Чтобы мое приложение могло использовать утверждения из нескольких надежных источников, кроме моих Активировать каталог?

8
задан 20 June 2019 в 23:33
3 ответа

Я сделал это. В нашей модели у нас три набора пользователей:

  1. Внутренние пользователи аутентифицируются через Active Directory (Kerberos или NTLM) против локального экземпляра AD FS. В этом наборе сервер AD FS работает как IdP.

  2. Внешние пользователи, аутентифицирующиеся через Active Directory (Kerberos или NTLM) против своего собственного экземпляра AD FS и домена. В этом наборе AD FS сервер имеет траст поставщика претензий (Claims Provider Trust), настроенный на издающий AD FS сервер. Наш AD FS сервер работает как SP-STS, преобразовывая и подтверждая претензии, выпущенные в другом месте, и переиздавая доверенный маркер нашему приложению. IdP является сервером AD FS другого домена, где наш AD FS сервер настроен в качестве доверяющей стороны.

  3. Внешние пользователи без корпоративного входа. Эти пользователи проходят аутентификацию в небольшой STS .Net, которая настроена в качестве траста поставщика претензий на нашем AD FS сервере. (Мы также рассматривали - и это было технически просто - использование Azure Active Directory B2C для этой роли, но другие опасения помешали этому.)

Жетоны выдаются как: Depiction of token issuance

Чтобы сделать это прозрачным для наших клиентов, мы используем IP-диапазоны для обнаружения (через nginx) и перенаправления в соответствующую корпоративную AD FS - и в противном случае полагаемся на стандартную страницу AD FS HRD.

.
10
ответ дан 2 December 2019 в 22:45

Похоже, объединение доверяющих сторон в цепочку действительно возможно. Этот парень написал об этом серию сообщений, вот одна. Вы можете использовать ADFS в качестве «концентратора» для авторизации вашего приложения, и он будет связывать запрос с той службой, в которой фактически находится пользователь.

https://cloudidentityblog.com/2013/06/17/why-use-aad-as-idp-via-ad-fs-rp/

Я сам этого не делал, поэтому не уверен, сколько работы это и какие подводные камни могут быть. Я уверен, что у вас могут возникнуть проблемы, если пользователь живет более чем в одном IdP.

Не забывайте, что ничто не мешает вам написать приложение .NET, чтобы иметь возможность использовать преимущества нескольких поставщиков единого входа изначально.

5
ответ дан 2 December 2019 в 22:45

Да, это возможно.

Каждая из этих внешних IDP добавляется как поставщик претензий в ADFS, а на стороне IDP, ADFS добавляется как доверяющая сторона.

Когда вы аутентифицируетесь, ADFS покажет экран Home Realm Discovery, на котором перечислены все IDP.

Затем вы выбираете, какую из них вы хотите использовать.

.
5
ответ дан 2 December 2019 в 22:45

Теги

Похожие вопросы