Аутентификация Active Directory для продукта SaaS - PullRequest
20 голосов
/ 12 января 2011

После некоторой теоретической помощи о наилучшем подходе, позволяющем продукту SaaS аутентифицировать пользователей на внутреннем сервере Active Directory (или другом LDAP) арендатора.

Приложение размещено, но существует требование, чтобы арендаторы моглиделегировать аутентификацию своему существующему провайдеру управления пользователями, такому как AD, OpenLDAP и т. д. Такие инструменты, как размещенный в Microsoft Online обмен, поддерживают корпоративную синхронизацию AD.

Если клиент не хочет перенаправлять порт 389 на контроллер домена, чтолучший подход для этого?

Ответы [ 5 ]

16 голосов
/ 18 января 2011

Проведя некоторое исследование и поговорив с несколькими системными администраторами, которые будут управлять этим, мы остановились на двух вариантах, которые должны удовлетворить большинство людей.Я опишу их здесь для тех, кто также был заинтересован в результате.

Служба аутентификации, установленная в DMZ

* 1006 при создании, если пользователи хотят использовать аутентификацию с включенным-принимает активный сервер каталогов, который им потребуется для установки агента в их DMZ и открытия порта 443 для него.Наш сервис будет настроен на использование этого сервиса для аутентификации.

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

В этом случае аутентификация на основе форм приложения не изменится, и пользователь не будет знать об аутентификациинегласно.

OpenId

Подобно первому подходу, служба будет установлена ​​в демилитаризованной зоне клиента, и будет открыт порт 443.Это будет поставщик OpenId.

Приложение SaaS будет потребителем OpenId (уже для входа в Facebook, Twitter, Google и т. Д.).

Когда пользователь желает войти, OpenIdбудет представлен провайдер с просьбой ввести имя пользователя и пароль.Этот экран входа будет обслуживаться из DMZ клиента.Пользователь никогда не введет свое имя пользователя или пароль в приложение SaaS.

В этом случае существующая аутентификация на основе форм заменяется аутентификацией OpenId из службы в DNZ клиента.

AТретий вариант, который мы исследуем, - это федеративные службы Active Directory, но он является собственностью Active Directory.Два других решения поддерживают любую аутентификацию на основе LDAP через Интернет.

4 голосов
/ 22 февраля 2014

Возможно, это может помочь ...

Этот поставщик, Stormpath , предлагает услугу, обеспечивающую: аутентификацию пользователей, управление учетными записями пользователей, с подключениями к локальным каталогам ваших клиентов.

2 голосов
/ 24 апреля 2015

Лучше всего внедрить аутентификацию SAML для приложения SaaS, а затем зарегистрироваться у провайдеров идентификации, таких как Okta или OneLogin. После этого вы также можете подключить его к ADFS, чтобы обеспечить единый вход для веб-приложения через Active Directory.

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

2 голосов
/ 28 июня 2011

А как насчет соединения LDAPS с пользовательским каталогом клиента?Они могут отключить это, чтобы только ваши серверы имели доступ, если они обеспокоены тем, что это общедоступно.Поскольку это SSL, он защищен от начала до конца.Все, что вам нужно от них - это сертификат их выдающего центра сертификации (если он не является общедоступным).Я изо всех сил пытался заставить это работать для внутреннего веб-проекта в демилитаризованной зоне, и в Интернете действительно отсутствуют какие-либо руководства.Поэтому я написал один, когда у меня получилось:

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

0 голосов
/ 16 июля 2015

Насколько я понимаю, есть три возможных решения:

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

  2. Предоставить веб-серверу доступ к вашему контроллеру домена через LDAP / WIF/ ADFS.Вероятно, это будет означать открытие входящих портов в брандмауэре компании для разрешения определенного IP-адреса.

  3. В противном случае обходите имена пользователей / пароли и вместо этого используйте аутентификация на основе электронной почты .Пользователи просто должны будут проходить аутентификацию по электронной почте один раз в 3-6 месяцев для каждого устройства.

Я должен начать реализовывать это для будущего проекта, и я серьезно склоняюсь к варианту № 3.для простоты.

...