У нас есть веб-приложение, работающее в Windows Azure, куда могут войти самые разные клиенты. В последнее время все больше и больше из них просят какое-то решение для единого входа или, по крайней мере, синхронизацию своих локальных / доменных пользователей с ними. присутствует в нашем приложении. Я просмотрел несколько вариантов, но так и не нашел ни одного, который мне кажется выполнимым. Ниже я перечислил то, на что я смотрел, но в основном мне хотелось бы получить совет о том, как подойти к этой проблеме.
Существуют сторонние сервисы, которые могут это сделать, но обычно они требуют некоторой или большой работы как для нас, так и для наших клиентов. Это также может означать, что нам придется реализовать несколько или много таких решений в зависимости от предпочтений клиента.
Большинство, если не все наши клиенты будут иметь локальную Active Directory, и было бы идеально, если бы мы могли каким-то образом использовать ее и в нашем приложении. Подключение нашего веб-приложения к локальной AD на самом деле не вариант, потому что системные администраторы (по понятным причинам) не дадут нам к нему доступ.
Мы также можем настроить AD в Azure. Поэтому я подумал, что, возможно, мы могли бы выполнить синхронизацию из локальной AD с нашей AD в Azure, а затем взять ее оттуда. Однако при тестировании инструмента Microsoft Azure Active Directory Connect он попросил меня ввести логин администратора для нашей среды Azure. Очевидно, что мы не хотим предоставлять нашим клиентам доступ к нашему порталу Azure, поэтому похоже, что это тоже не сработает.
Еще одна проблема во всем этом заключается в том, что я программист, и вся работа с AD немного не в моей зоне комфорта, и я могу искать не в том месте.
Есть ли у кого-нибудь опыт работы с этим и может указать мне правильное направление?
Если вы настроите приложение для поддержки аутентификации SAML - тогда клиент сможет настроить свой ADFS (или другой) для работы со своим AD. Обычно это делается для единого входа для сторонних приложений.
Это работает следующим образом: вы по-прежнему управляете удостоверениями и доступом к приложению, но клиенты могут использовать это и связать со своим собственным «заявлением», которое может содержать имена пользователей AD. Это то, что делают ADFS, а также другие платформы федеративной идентификации (часть федерации). Однако вам необходимо предоставить способ установления доверия между поставщиками удостоверений (вашими и их).
Со своей стороны вы можете создать настраиваемого поставщика удостоверений, использовать стороннюю службу или развернуть сервер федерации, например ADFS. Но есть и другие (как коммерческие, так и с открытым исходным кодом), такие как PingFederate и Shibboleth. Там буквально сотни вариантов. Если вам нужен SDK - Ping Identity (разработчики PingFederate) предложите его для нескольких языков (Java, C # и т. Д.). Я уверен, что есть SDK с открытым исходным кодом, которые помогут с этим.
Удостоверение - сложная тема - чем больше вы можете передать это специализированной компании или команде, тем лучше вам будет (Azure B2C находится в предварительной версии, как указано в других ответах, но посмотрите на сторонние организации, если вы хотите ускорить работу)
ADConnect - это способ синхронизировать локальный каталог с вашим облаком. Он запрашивает пароль для имени пользователя для настройки начальной синхронизации и для внесения изменений в синхронизацию, если вы снова входите в систему с помощью инструмента. Вам также понадобится учетная запись DA для локального администратора, пока вы ее настраиваете. Если у вас нет ни одной, ни одной из двух учетных записей, вы не сможете завершить настройку.
Исходя из того, что вы предлагаете, вы хотите настроить Azure B2C. В противном случае настройте федерацию ADFS между вашими доменами и доменами клиентов, чтобы вам не приходилось беспокоиться о том, чтобы запрашивать какое-либо имя пользователя / пароль. Я предполагаю, что ваши приложения осведомлены о заявках, и у вас есть собственный Windows AD, позволяющий настраивать ADFS.
Если вы пытаетесь настроить тестовую среду ADFS, я следил за блогом из 4 частей, чтобы создать свою первую лабораторию - надеюсь, она будет работать и для вас.
http://blogs.technet.com/b/askpfeplat/archive/2013/12/09/how-to-build-your-adfs-lab-on-server-2012-part-1.aspx http://blogs.technet.com/b/askpfeplat/archive/2013/12/23/how-to-build-your-adfs-lab-on-server-2012-part2-web-sso.aspx