Единый вход (создание облачных приложений Real-World с помощью 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; вы можете поместить в него любого пользователя, которого вы хотите, и пройти проверку подлинности в интернет-приложениях.
Кроме того, вы можете интегрировать его с локальной службой AD.
Теперь все сотрудники, которые могут проходить проверку подлинности в локальной среде, также могут проходить проверку подлинности через Интернет без необходимости открывать брандмауэр или развертывать новые серверы в центре обработки данных. Вы можете продолжать использовать всю существующую среду 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.
У вас автоматически есть один клиент Azure AD для учетной записи Azure, и вы можете нажать кнопку "Добавить " в нижней части страницы, чтобы создать дополнительные каталоги. Например, может потребоваться один для тестовой среды и один для рабочей среды. Внимательно думайте о том, что вы называете новым каталогом. Если вы используете свое имя для каталога, а затем снова используете свое имя для одного из пользователей, это может быть запутано.
На портале есть полная поддержка создания, удаления и управления пользователями в этой среде. Например, чтобы добавить пользователя на вкладку "Пользователи" и нажмите кнопку "Добавить пользователя".
Вы можете создать нового пользователя, который существует только в этом каталоге, или зарегистрировать учетную запись Майкрософт в качестве пользователя в этом каталоге или зарегистрировать пользователя из другого каталога Azure AD в качестве пользователя в этом каталоге. (В реальном каталоге домен по умолчанию будет ContosoTest.onmicrosoft.com. Вы также можете использовать домен собственного выбора, например contoso.com.)
Вы можете назначить пользователя роли.
А учетная запись создается с временным паролем.
Пользователи, создаваемые таким образом, могут немедленно войти в веб-приложения с помощью этого облачного каталога.
Тем не менее, что отлично подходит для единого входа предприятия, это вкладка интеграции каталогов:
Если включить интеграцию каталогов, вы можете синхронизировать этот облачный каталог с существующими локальная служба Active Directory, которые вы уже используете в организации. Затем все пользователи, хранящиеся в каталоге, будут отображаться в этом облачном каталоге. Теперь облачные приложения могут пройти проверку подлинности всех сотрудников с помощью имеющихся учетных данных Active Directory. И все это бесплатно — как средство синхронизации, так и сама Azure AD.
Это мастер, который легко использовать, как можно увидеть на этих снимках экрана. Это не полные инструкции, просто пример, показывающий базовый процесс. Дополнительные сведения о том, как это сделать, см. в разделе "Ресурсы" в конце главы.
Нажмите кнопку "Далее", а затем введите учетные данные Azure Active Directory.
Нажмите кнопку "Далее", а затем введите локальные учетные данные AD.
Нажмите кнопку "Далее", а затем укажите, нужно ли хранить хэш паролей AD в облаке.
Хэш паролей, который можно хранить в облаке, является односторонним хэшом; фактические пароли никогда не хранятся в Azure AD. Если вы решите сохранить хэши в облаке, вам придется использовать службы федерации Active Directory (AD FS) (ADFS). Существуют и другие факторы, которые следует учитывать при выборе того, следует ли использовать ADFS. Для параметра ADFS требуется несколько дополнительных действий по настройке.
Если вы решите хранить хэши в облаке, все готово, и средство начнет синхронизацию каталогов при нажатии кнопки "Далее".
И через несколько минут вы сделали.
Это необходимо выполнить только на одном контроллере домена в организации в Windows 2003 или более поздней версии. И не нужно перезагружаться. Когда вы закончите, все ваши пользователи находятся в облаке, и вы можете выполнить единый вход из любого веб-приложения или мобильного приложения, используя SAML, OAuth или WS-Fed.
Иногда мы спрашиваем о том, насколько безопасна эта защита— корпорация Майкрософт использует ее для собственных конфиденциальных бизнес-данных? И ответ да, мы делаем. Например, если вы перейдете на внутренний сайт https://microsoft.sharepoint.com/Microsoft SharePoint, вам будет предложено войти в систему.
Корпорация Майкрософт включила ADFS, поэтому при вводе идентификатора Майкрософт вы будете перенаправлены на страницу входа ADFS.
После ввода учетных данных, хранящихся во внутренней учетной записи Microsoft AD, у вас есть доступ к этому внутреннему приложению.
Мы используем сервер входа 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 во внутренней сети.
В следующей главе рассматриваются варианты хранения данных, доступные для облачного приложения.
Ресурсы
Дополнительные сведения см. на следующих ресурсах:
- Документация Azure Active Directory. Страница портала для документации по Azure AD на сайте windowsazure.com. Пошаговые руководства см. в разделе "Разработка ".
- многофакторная проверка подлинности Azure; Страница портала для документации по многофакторной проверке подлинности в Azure.
- Параметры проверки подлинности учетной записи организации. Описание параметров проверки подлинности Azure AD в диалоговом окне создания проекта Visual Studio 2013.
- Шаблоны и практики Майкрософт — шаблон федеративных удостоверений.
- Авторизация на основе ролей и ACL в приложении Windows Azure AD. Пример приложения.
- Блог API Graph Для Azure Active Directory.
- контроль доступа интеграции BYOD и каталогов в инфраструктуре гибридных удостоверений. Tech Эд 2014 сеанс видео гейана Багдасарян.