Поиск по сайту:

Как настроить систему единого входа с помощью Azure OpenID Connect


Единый вход (SSO) обеспечивает столь необходимое удобство и встроенную безопасность для операций входа в приложения. К счастью, SSO работает с любым веб-приложением в Azure Active Directory, поэтому давайте посмотрим, как мы можем его настроить.

Благодаря системе единого входа ваши пользователи будут один раз входить в систему с помощью одной учетной записи и получать доступ к вашим веб-приложениям, SAAS, ресурсам компании и устройствам, присоединенным к домену. После входа они могут запускать любое приложение из Azure AD MyApps и/или портала Office 365. Администраторы могут управлять учетными записями пользователей и добавлять/удалять доступ к приложениям на основе членства.

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

Таким образом, нетрудно заметить, что SSO является явным победителем, когда речь идет о доступности в Интернете. Но это не только удобно, но и безопасно, так что давайте взглянем на OpenID Connect.

Что такое OpenID Connect?

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

Вот некоторые из них:

  1. Лучше работает на мобильных устройствах.
  2. На основе OAuth 2, поэтому проще для разработчиков.
  3. Идеально подходит для тех, кто не является сотрудником.
  4. Простота настройки и доступность обслуживания.
  5. Отраслевой стандарт для Azure Active Directory, Okta, Google G Suite, Auth0, OneLogin и т. д.

OpenID Connect является родным для многих IDPS, а именно для Azure AD, поэтому мы будем использовать его по назначению.

И OIDC, и SAML могут работать вместе. Итак, если вам нужно разделить и классифицировать внешних и внутренних пользователей, это может быть решением. Это также удобно для разделения ваших решений, когда вы используете SAML для доступа сотрудников и OIDC для встраивания карт на другие сайты.

Даже если применяются оба метода, DSO все равно можно использовать, но на самом деле он не используется в этом сценарии.

Как добавить приложение OpenID из Azure AD?

Чтобы начать процесс включения единого входа для ваших приложений, вам необходимо:

  1. Откройте «Портал Azure» и выберите «Azure Active Directory».
  2. Перейдите к разделу Корпоративные приложения, а затем к разделу Все приложения.
  3. Нажмите кнопку Новое приложение и введите название в поле поиска. (В OpenID и OAuth по умолчанию кнопка Добавить отключена. Администратор вашего клиента должен выбрать кнопку регистрации и предоставить доступ к приложению.

<старт=\4\>

  • После успешной авторизации вы можете принять согласие, после чего откроется домашняя страница приложения.
  • При нажатии кнопки регистрации вы будете перенаправлены в «Azure Active Directory» для ввода учетных данных для входа.
  • На этом этапе вы предоставили доступ к клиенту для решения OpenID для этого конкретного приложения.

    Вы можете добавить только один экземпляр приложения. Если вы уже сделали это и попытались запросить согласие, оно больше не будет добавлено к арендатору. Только один экземпляр приложения на каждого арендатора.

    Как аутентификация будет работать с OpenID Connect

    Чтобы продолжить аутентификацию SSO, вы должны сначала понять, как работает простой процесс входа:

    1. Пользователь входит в систему и вводит учетные данные, а затем соглашается с разрешениями. (Это выполняется с помощью команды /oauth2/authorize.)
    2. Возвращается id_token, а код авторизации отправляется в браузер.
    3. Происходит перенаправление на URL.
    4. Идентификатор id_token проверен, установлен файл cookie сеанса.
    5. От носителя кода OAuth требуется предоставить код авторизации.
    6. Токен возвращается с помощью refresh_token.
    7. Веб-API вызывается с токеном в заголовке аутентификации.
    8. Токен проверен.
    9. Защищенные данные возвращаются в приложение веб-сервера.

    Это очень простое представление потока авторизации, и именно к этому все сводится в конце.

    Включение платформы согласия

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

    Может потребоваться доступ к веб-APIS. Например, API Microsoft Graph для доступа к Azure AD, Office 365 или Intune. Кроме того, арендатор должен предоставить доступ к любым личным веб-APIS.

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

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

    Вот как опыт согласия будет происходить для пользователя и разработчика:

    Согласие разработчика/пользователя

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

    Чтобы получить доступ к пути разрешений, вам нужно нажать «Регистрация приложений» с левой стороны и открыть приложение, с которым вы будете работать. Затем вы можете перейти в меню «Разрешения API» и выбрать опцию «Добавить разрешение». После этого вы выбираете «Microsoft Graph» и выбираете параметры из «Приложения и делегированные разрешения».

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

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

    Заключение

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

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

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