2011-01-12 15 views
20

Po uzyskaniu teoretycznej pomocy dotyczącej najlepszego podejścia do umożliwienia produktowi SaaS uwierzytelnienia użytkowników na wewnętrznym serwerze lokacji Active Directory (lub innym serwerze LDAP) najemcy.Uwierzytelnianie Active Directory dla produktu SaaS

Aplikacja jest hostowana, ale istnieje wymóg, że najemcy mogą delegować uwierzytelnianie do swojego dotychczasowego dostawcy zarządzania użytkownikami, takiego jak AD lub OpenLDAP itp. Narzędzia takie jak hostowana przez Microsoft Online Exchange obsługują synchronizację AD firmy.

Zakładając, że klient nie chce przesłać portu 389 do kontrolera domeny, jakie jest najlepsze podejście do tego?

+0

Dobre pytanie. Chciałbym również wiedzieć, –

+0

To pytanie jest bardzo podobne do http://stackoverflow.com/questions/8934753/how-to-authenticate-users-with-a-ustom-e-reote-active-directory-server i http://stackoverflow.com/questions/2567919/single-sign-on-for-a-web-app –

Odpowiedz

14

Po przeprowadzeniu badań i rozmowie z kilkoma administratorami systemu, którzy mieliby to zarządzać, zdecydowaliśmy się na dwie opcje, które powinny zadowolić większość ludzi. Opiszę je tutaj dla tych, którzy byli również zainteresowani wynikiem.

Authentication Service zainstalowana w origanisation za DMZ

Jeśli użytkownik chce korzystać z uwierzytelniania z aktywnym serwerem lokalem katalogu będą wymagane do zainstalowania agenta w ich DMZ i otwartego portu 443 do niego. Nasza usługa zostanie skonfigurowana tak, aby trafiała w tę usługę w celu przeprowadzenia uwierzytelniania.

Usługa ta będzie znajdować się w strefie DMZ i będzie otrzymywać żądania uwierzytelnienia z aplikacji SaaS. Usługa podejmie próbę powiązania z katalogiem aktywnym tymi poświadczeniami i zwróci status, aby wskazać powodzenie lub niepowodzenie.

W tym przypadku uwierzytelnianie formularzy w aplikacji nie zmieni się, a użytkownik nie będzie wiedział o uwierzytelnianiu za kulisami.

OpenId

Podobny do pierwszego podejścia, usługa zostanie zainstalowany w DMZ klienta, a port 443 zostanie otwarty. To będzie dostawca OpenID.

Aplikacja SaaS będzie konsumentem OpenID (już jest na Facebooku, Twitterze, Google itd. Zaloguj się).

Gdy użytkownik chce się zalogować, zostanie przedstawiony dostawca OpenId, prosząc go o podanie nazwy użytkownika i hasła. Ten ekran logowania będzie obsługiwany z DMZ klienta. Użytkownik nigdy nie wprowadzi swojej nazwy użytkownika ani hasła do aplikacji SaaS.

W tym przypadku istniejące uwierzytelnianie oparte na formularzach jest zastępowane uwierzytelnianiem OpenId z usługi w DNZ klienta.

Trzecią badaną przez nas usługą są usługi stowarzyszone Active Directory, ale jest to własność Active Directory. Pozostałe dwa rozwiązania obsługują uwierzytelnianie oparte na LDAP w Internecie.

+4

ta informacja jest bardzo pomocna. Jestem ciekawy, czy w końcu wdrożyłeś któreś z tych rozwiązań. Byłoby wspaniale, gdybyś mógł podzielić się doświadczeniami na temat autoreklamy AD dla SaaS. – Justin

2

Co z połączeniem LDAPS z katalogiem użytkownika klienta? Mogą to zaporę wyłączyć, aby tylko twoje serwery miały do ​​nich dostęp, jeśli obawiają się, że są publiczne. Ponieważ jest to protokół SSL, jest bezpieczny od końca do końca. Wszystko, czego potrzebujesz od nich, to certyfikat wydanego przez nich CA (jeśli nie jest to publiczny). Starałem się, aby to działało na wewnętrzny projekt internetowy w strefie DMZ i brakuje prawdziwych przewodników online.Więc napisałem jeden w górę, kiedy ja mam to działa:

http://pcloadletter.co.uk/2011/06/27/active-directory-authentication-using-ldaps/

+0

Dziękujemy za poświęcenie czasu na napisanie tego przewodnika. – rodolfoag

4

Być może to pomóc ...

Ten sprzedawca, Stormpath, oferuje usługi dostarczając: uwierzytelnianie użytkowników, zarządzanie kontami użytkowników, z Przystawki do lokalnych katalogów Twoich klientów.

2

Najlepiej jest zaimplementować uwierzytelnianie SAML dla aplikacji SaaS, a następnie zarejestrować się u dostawców tożsamości, takich jak Okta lub OneLogin. Gdy to zrobisz, możesz również połączyć się z programem ADFS, aby zapewnić logowanie jednokrotne dla aplikacji internetowej za pośrednictwem usługi Active Directory.

Po prostu wykonuję te badania samodzielnie i to jest to, z czym się zetknąłem, będę mieć więcej aktualizacji po wykonaniu implementacji. Nadzieję, że to daje wystarczająco dużo słów kluczowych, aby zrobić kolejny wyszukiwania google

+0

Dzięki Reza. Jakieś dalsze aktualizacje od kwietnia? Ja też badam to samo. –

0

mi się, że istnieją trzy możliwe rozwiązania:

  1. Instalowanie coś na kontrolerze domeny, aby uchwycić wszystkie zmiany użytkownika (Dodatki, usunięcia, hasło zmiany) i wysłać aktualizacje do zdalnego serwera. Niestety, strona nie może znaleźć hasła początkowego użytkownika - tylko nowe, gdy zostaną zmienione.

  2. Umożliwia dostęp do serwera WWW w celu połączenia z kontrolerem domeny za pośrednictwem LDAP/WIF/ADFS. To prawdopodobnie oznaczałoby otwarcie portów przychodzących w zaporze firmy, aby umożliwić określony adres IP.

  3. W przeciwnym razie należy ominąć nazwy użytkownika/hasła i zamiast tego użyć email-based authentication. Użytkownicy będą musieli uwierzytelniać się przez e-mail tylko raz na 3-6 miesięcy dla każdego urządzenia.

muszę rozpocząć wdrożenie to dla nadchodzącego projektu, a ja poważnie skłania się ku opcji # 3 dla prostoty.

Powiązane problemy