Один Sign-On (создание облачных приложений Real-World с помощью Azure)

Рик Андерсон(Rick Anderson),Том Дайкстра (Tom Dykstra)

Скачать проект fix it или скачать электронную книгу

Электронная книга Building Real World Cloud Apps with Azure (Создание реальных облачных приложений с помощью Azure ) основана на презентации, разработанной Скоттом Гатри. В ней описано 13 шаблонов и методик, которые помогут вам успешно разрабатывать веб-приложения для облака. Сведения об электронной книге см. в первой главе.

При разработке облачного приложения необходимо учитывать множество проблем безопасности, но в этой серии мы сосредоточимся только на одном: едином входе. Люди часто задают такой вопрос: "Я в первую очередь создаю приложения для сотрудников моей компании; как разместить эти приложения в облаке и по-прежнему позволить им использовать ту же модель безопасности, которую мои сотрудники знают и используют в локальной среде при запуске приложений, размещенных в брандмауэре? Один из способов включения этого сценария называется Azure Active Directory (Azure AD). Azure AD позволяет сделать корпоративные бизнес-приложения доступными через Интернет, а также сделать эти приложения доступными для деловых партнеров.

Введение в Azure AD

Azure AD предоставляет Active Directory в облаке. Ниже перечислены основные возможности.

  • Он интегрируется с локальная служба Active Directory.
  • Он обеспечивает единый вход в приложения.
  • Он поддерживает открытые стандарты, такие как SAML, WS-Fed и OAuth 2.0.
  • Он поддерживает REST API Enterprise Graph.

Предположим, у вас есть локальная среда Windows Server Active Directory, которая позволяет сотрудникам входить в приложения интрасети:

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

Azure AD позволяет создать каталог в облаке. Это бесплатная функция, которую легко настроить.

Он может быть полностью независим от вашего локальная служба Active Directory; вы можете поместить в него любого пользователя и пройти проверку подлинности в интернет-приложениях.

Microsoft Azure Active Directory

Или вы можете интегрировать его с локальной службой AD.

Интеграция AD и WAAD

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

Установив это подключение между AD и Azure AD, вы также можете включить веб-приложения и мобильные устройства для проверки подлинности сотрудников в облаке, а также включить сторонние приложения, такие как Office 365, SalesForce.com или google apps, для принятия учетных данных ваших сотрудников. Если вы используете Office 365, вы уже настроили Azure AD, так как Office 365 использует Azure AD для проверки подлинности и авторизации.

Сторонние приложения

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

Если ваша компания использует Office 365 или переходит на него, хорошая новость заключается в том, что вы автоматически настроите Azure AD, так как Office 365 использует Azure AD для проверки подлинности. Таким образом, вы можете легко использовать в собственных приложениях ту же проверку подлинности, которую использует Office 365.

Настройка клиента Azure AD

Каталог Azure AD называется клиентом Azure AD, и настроить клиент довольно просто. Мы покажем, как это делается на портале управления Azure, чтобы проиллюстрировать основные понятия, но, конечно, как и в других функциях портала, вы также можете сделать это с помощью скрипта или API управления.

На портале управления откройте вкладку Active Directory.

WAAD на портале

У вас автоматически будет один клиент Azure AD для учетной записи Azure, и вы можете нажать кнопку Добавить в нижней части страницы, чтобы создать дополнительные каталоги. Может потребоваться, например, для тестовой среды и для рабочей среды. Тщательно подумайте о том, что вы называете новый каталог. Если вы используете свое имя для каталога, а затем снова используете свое имя для одного из пользователей, это может запутать.

Добавление каталога

Портал имеет полную поддержку для создания, удаления пользователей и управления ими в этой среде. Например, чтобы добавить пользователя, перейдите на вкладку Пользователи и нажмите кнопку Добавить пользователя .

Кнопка

Диалоговое окно добавления пользователя

Вы можете создать нового пользователя, который существует только в этом каталоге, или зарегистрировать учетную запись Майкрософт в качестве пользователя в этом каталоге или зарегистрировать пользователя из другого каталога Azure AD в качестве пользователя в этом каталоге. (В реальном каталоге доменом по умолчанию будет ContosoTest.onmicrosoft.com. Вы также можете использовать домен по своему выбору, например contoso.com.)

Типы пользователей

Диалоговое окно добавления пользователя

Вы можете назначить пользователю роль.

Профиль пользователя

Учетная запись создается с временным паролем.

Временный пароль

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

Однако для корпоративного единого входа отлично подходит вкладка "Интеграция с каталогом ":

Вкладка

Если включить интеграцию каталогов, этот облачный каталог можно синхронизировать с существующими локальная служба Active Directory, которые вы уже используете в организации. Затем все пользователи, хранящиеся в вашем каталоге, будут отображаться в этом облачном каталоге. Теперь облачные приложения могут проверять подлинность всех сотрудников с помощью имеющихся учетных данных Active Directory. И все это бесплатно — и средство синхронизации, и Azure AD себя.

Это простой в использовании мастер, как видно на снимках экрана. Это не полные инструкции, а просто пример, показывающий базовый процесс. Более подробные инструкции см. по ссылкам в разделе Ресурсы в конце главы.

Мастер настройки средства синхронизации WAAD — изображение 1

Нажмите кнопку Далее и введите учетные данные Azure Active Directory.

Мастер настройки средства синхронизации WAAD — образ 2

Нажмите кнопку Далее, а затем введите учетные данные локальной службы AD.

Мастер настройки средства синхронизации WAAD — изображение 3

Нажмите кнопку Далее, а затем укажите, хотите ли вы хранить хэш паролей AD в облаке.

Мастер настройки средства синхронизации WAAD — изображение 4

Хэш паролей, который можно хранить в облаке, является односторонним; Фактические пароли никогда не хранятся в Azure AD. Если вы решили не хранить хэши в облаке, вам придется использовать службы федерации Active Directory (AD FS) (ADFS). Существуют также и другие факторы, которые следует учитывать при выборе того, следует ли использовать ADFS. Параметр ADFS требует выполнения нескольких дополнительных действий по настройке.

Если вы решили хранить хэши в облаке, все готово, и средство начнет синхронизировать каталоги при нажатии кнопки Далее.

Мастер настройки средства синхронизации WAAD — образ 5

И через несколько минут все готово.

Мастер настройки средства синхронизации WAAD — изображение 6

Его необходимо запустить только на одном контроллере домена в организации в Windows 2003 или более поздней версии. И не нужно перезагружать. По завершении все пользователи будут в облаке, и вы сможете выполнить единый вход из любого веб-приложения или мобильного приложения, используя SAML, OAuth или WS-Fed.

Иногда нас спрашивают о том, насколько это безопасно— использует ли корпорация Майкрософт их для своих конфиденциальных бизнес-данных? И ответ да, мы делаем. Например, если вы перейдете на внутренний сайт Microsoft SharePoint по адресу https://microsoft.sharepoint.com/, вам будет предложено войти в систему.

Вход в Office 365

Корпорация Майкрософт включила ADFS, поэтому при вводе идентификатора Майкрософт вы будете перенаправлены на страницу входа в ADFS.

Вход в ADFS

После ввода учетных данных, хранящихся во внутренней учетной записи Microsoft AD, у вас будет доступ к этому внутреннему приложению.

Сайт Ms SharePoint

Мы используем сервер входа AD главным образом потому, что у нас уже была настроена служба ADFS до того, как Azure AD стала доступной, но процесс входа проходит через каталог Azure AD в облаке. Мы помещаем важные документы, системы управления версиями, файлы управления производительностью, отчеты о продажах и многое другое в облаке и используем то же самое решение для их защиты.

Создание приложения ASP.NET, использующего Azure AD для единого входа

Visual Studio упрощает создание приложения, которое использует Azure AD для единого входа, как показано на нескольких снимках экрана.

При создании нового приложения ASP.NET( MVC или веб-формы) по умолчанию используется метод проверки подлинности ASP.NET Identity. Чтобы изменить его на Azure AD, нажмите кнопку Изменить проверку подлинности.

Измените метод проверки подлинности

Выберите Учетные записи организации, введите доменное имя, а затем выберите Единый вход.

Диалоговое окно

Вы также можете предоставить приложению разрешение на чтение или чтение и запись данных каталога. В этом случае он может использовать REST API Azure Graph для поиска номера телефона пользователей, узнать, находятся ли они в офисе, когда они в последний раз вошли в систему и т. д.

Это все, что вам нужно сделать. Visual Studio запрашивает учетные данные администратора для клиента Azure AD, а затем настраивает проект и клиент Azure AD для нового приложения.

При запуске проекта вы увидите страницу входа и сможете войти с учетными данными пользователя в каталоге Azure AD.

Вход в учетную запись организации

Выполнен вход

При развертывании приложения в Azure все, что вам нужно сделать, — это выбрать флажок Включить проверку подлинности организации проверка, и visual Studio снова позаботится обо всех конфигурациях.

Веб-публикация

Эти снимки экрана поступают из полного пошагового руководства, в котором показано, как создать приложение, использующее проверку подлинности Azure AD: Разработка приложений ASP.NET с помощью Azure Active Directory.

Сводка

В этой главе вы узнали, что Azure Active Directory, Visual Studio и ASP.NET упрощают настройку единого входа в интернет-приложения для пользователей вашей организации. Пользователи могут входить в интернет-приложения, используя те же учетные данные, которые используются для входа с помощью Active Directory во внутренней сети.

В следующей главе рассматриваются варианты хранения данных, доступные для облачного приложения.

Ресурсы

Дополнительные сведения см. в следующих ресурсах: