Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье показано, как настроить единую идентификацию (Single sign-on, SSO) OpenID Connect (OIDC) в Microsoft Entra ID как для галерейных приложений, так и для пользовательских (не из коллекции) приложений. С помощью единого входа в OIDC пользователи могут войти в приложения с помощью учетных данных Microsoft Entra, обеспечивая простой интерфейс проверки подлинности.
OIDC — это протокол проверки подлинности, созданный на основе OAuth 2.0, который обеспечивает безопасную проверку подлинности пользователей и единый вход. Подробные сведения о протоколе OIDC см. в разделе проверки подлинности OIDC с помощью платформы удостоверений Майкрософт.
Мы рекомендуем использовать непроизводственные среды для тестирования действий, описанных в этой статье.
Перед настройкой OIDC SSO полезно разобраться в следующих основных понятиях:
- Регистрация приложений и корпоративные приложения: регистрация приложений определяет удостоверение и конфигурацию приложения, а корпоративные приложения представляют экземпляры этих приложений в вашем клиенте. Дополнительные сведения см. в разделе "Объекты приложения и служебного субъекта" в Microsoft Entra ID.
- Разрешения и согласие: приложения запрашивают разрешения на доступ к ресурсам, а пользователи или администраторы предоставляют согласие. Дополнительные сведения о платформе согласия см. в разделе "Разрешения и согласие" на платформе удостоверений Майкрософт.
- Мультитенантные приложения: приложения, которые могут использоваться несколькими организациями. Инструкции по мультитенантности см. в статье "Практическое руководство. Преобразование приложения в мультитенантное".
- Потоки проверки подлинности: различные методы проверки подлинности пользователей, например поток кода авторизации с помощью PKCE для одностраничных приложений. Дополнительные сведения см. в разделе "Потоки проверки подлинности платформы удостоверений Майкрософт".
- Единый вход в систему OIDC: метод единого входа, использующий протокол OIDC для проверки подлинности пользователей в различных приложениях. Он позволяет пользователям выполнять вход один раз и получать доступ к нескольким приложениям без необходимости повторного ввода учетных данных.
Необходимые компоненты
Чтобы настроить единый вход на основе OIDC, вам потребуется следующее:
- Учетная запись пользователя Microsoft Entra. Если у вас еще нет учетной записи, вы можете бесплатно создать учетную запись.
- Одна из следующих ролей:
- Администратор облачных приложений
- Администратор приложений
- Владелец субъекта-службы
- Для пользовательских приложений: сведения о приложении, включая URI перенаправления и требования к проверке подлинности
Настройка OIDC единого входа для приложений из галереи приложений Microsoft Entra
Приложения коллекции в Microsoft Entra ID предварительно настроены с поддержкой OIDC, что позволяет упростить настройку с помощью процесса, основанного на согласии.
При добавлении корпоративного приложения, использующего стандарт OIDC для единого входа, нажмите кнопку "Регистрация ". Кнопка находится на правой боковой панели при выборе приложения из коллекции приложений. После нажатия кнопки процесс регистрации приложения будет завершен.
Чтобы настроить единый вход в систему на основе OIDC для приложения галереи:
Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
Перейдите к Entra ID>Корпоративные приложения>Все приложения.
В области "Все приложения" выберите "Создать приложение".
Откроется панель "Обзор коллекции Microsoft Entra". В этом примере мы используем SmartSheet.
Выберите "Регистрация для SmartSheet". Войдите с учетными данными учетной записи пользователя из идентификатора Microsoft Entra. Если у вас уже есть подписка на приложение, будет выполнена проверка данных пользователя и информации о клиенте. Если приложение не может проверить пользователя, оно перенаправляет вас, чтобы зарегистрироваться для службы приложений.
После ввода учетных данных для входа появится экран согласия. На экране согласия содержатся сведения о приложении и необходимых разрешениях.
Выберите "Согласие от имени вашей организации" и нажмите кнопку "Принять". Приложение будет добавлено в арендатор, и откроется домашняя страница приложения.
Обратитесь к поставщику приложения, чтобы узнать о дополнительных шагах конфигурации, необходимых для приложения.
Замечание
Можно добавить только один экземпляр приложения галереи. После добавления приложения и попытки предоставить согласие еще раз вы не сможете добавить его снова в арендатора.
Дополнительные сведения о согласии пользователя и администратора см. в разделе "Общие сведения о согласии пользователей и администраторов". Подробные сведения о платформе согласия см. в разделе "Разрешения и согласие" на платформе удостоверений Майкрософт.
Настройка единого входа (SSO) OIDC для настраиваемых (не из галереи) приложений
Для приложений, недоступных в коллекции Microsoft Entra, необходимо вручную зарегистрировать и настроить приложение. В этом разделе приведены пошаговые инструкции по настройке OIDC SSO для пользовательского приложения.
Шаг 1. Регистрация приложения
- Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
- Перейдите в Entra ID>Регистрация приложений>Новая регистрация.
- Введите имя приложения (например, "My Custom Web App").
- В разделе "Поддерживаемые типы учетных записей" выберите соответствующий параметр:
- Учетные записи в этом каталоге организации только для приложений с одним клиентом
- Учетные записи в любом каталоге организации для получения дополнительных сведений о мультитенантных приложениях см. мультитенантные приложения.
- Учетные записи в любом каталоге организации и личных учетных записях Майкрософт , если вы хотите поддерживать как рабочие, так и учебные и личные учетные записи.
- Для URI перенаправления выберите тип платформы и введите URI перенаправления приложения:
-
Веб: для серверных веб-приложений (например,
https://yourdomain.com/auth/callback) -
Одностраничные приложения (SPA): для клиентских приложений с использованием современных потоков проверки подлинности (например,
https://yourdomain.comилиhttp://localhost:3000для разработки) - Общедоступный клиент или собственный код: для мобильных и классических приложений
-
Веб: для серверных веб-приложений (например,
- Выберите Зарегистрировать.
Шаг 2. Настройка параметров проверки подлинности
В регистрации приложения перейдите к проверке подлинности.
Убедитесь, что URI перенаправления настроены правильно для типа платформы.
Настройка потоков проверки подлинности (важно для безопасности):
Для приложений Single-Page (SPAs):
- Убедитесь, что URI перенаправления перечислены на платформе одностраничных приложений . Этот параметр автоматически настраивает поток защищённого кода авторизации с PKCE, который является рекомендуемым подходом для SPA.
- Не включайте опцию неявного предоставления, если это не требуется для старых приложений
Для веб-приложений:
- Убедитесь, что URI перенаправления перечислены на веб-платформе . Этот параметр настраивает стандартный поток кода авторизации.
Предупреждение
Неявный поток предоставления не рекомендуется для новых приложений из-за уязвимостей системы безопасности, включая утечку токенов в журнале браузера. Корпорация Майкрософт настоятельно рекомендует использовать поток кода авторизации с PKCE для одностраничных приложений. Включить эти параметры можно только в том случае, если у вас есть устаревшее приложение, которое не может быть обновлено для поддержки более безопасных потоков, и вы понимаете связанные риски безопасности.
Дополнительные сведения о потоках проверки подлинности см. в разделе "Потоки проверки подлинности платформы удостоверений Майкрософт".
Шаг 3. Настройка учетных данных клиента (для веб-приложений)
Если приложение является конфиденциальным клиентом (серверное веб-приложение, которое может безопасно хранить секреты):
- Перейдите к сертификатам и секретам.
- Выберите новый секрет клиента.
- Добавьте описание и выберите срок действия.
- Нажмите кнопку "Добавить " и скопируйте значение секрета немедленно (его невозможно снова показать).
- Безопасно храните секрет клиента в конфигурации приложения.
Подсказка
Для рабочих приложений рекомендуется использовать сертификаты вместо секретов клиента для повышения безопасности. См. учетные данные для сертификата.
Шаг 4. Настройка разрешений API
- Перейдите к разрешениям API.
- Разрешение
User.Readдля Microsoft Graph добавляется по умолчанию. - Для проверки подлинности OIDC обычно требуются эти делегированные разрешения:
- openid: требуется для проверки подлинности OIDC
- профиль: доступ к сведениям профиля пользователя
- электронная почта: доступ к адресу электронной почты пользователя
- Чтобы добавить дополнительные разрешения, выполните следующие действия.
- Выберите "Добавить разрешение"
- Выбор Microsoft Graph
- Выбор делегированных разрешений
- Найдите и выберите необходимые разрешения (например, openid, profile, email)
- Нажмите кнопку Добавить разрешения.
- Если приложению требуются разрешения, необходимые для согласия администратора, выберите "Предоставить согласие администратора" для [вашего клиента].
Общие сведения о разрешениях и согласии см. в разделе "Разрешения" и "Согласие" на платформе удостоверений Майкрософт.
Шаг 5. Настройка необязательных утверждений (при необходимости)
- Перейдите к конфигурации токенов.
- Выберите "Добавить необязательное утверждение".
- Выберите необязательные утверждения, которые вы хотите добавить (например,
email,given_name,family_name). - Нажмите кнопку "Добавить ", чтобы применить изменения.
Шаг 6. Сбор сведений о приложении
После регистрации и настройки соберите следующие сведения, необходимые для приложения:
- На странице обзора обратите внимание:
- Идентификатор приложения (клиента): уникальный идентификатор приложения
- Идентификатор каталога (клиента): уникальный идентификатор клиента
- Выберите Конечные точки, чтобы просмотреть метаданные и конечные точки OIDC:
-
Документ метаданных OIDC:
https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid_configuration - Конечная точка авторизации. Для инициирования потоков входа
- Конечная точка токена: обмен кодами авторизации для токенов
- URI JWKS: для проверки подписи токена
-
Документ метаданных OIDC:
Эти сведения используются в конфигурации библиотеки OIDC приложения.
Шаг 7. Настройка кода приложения
Используйте собранные сведения для настройки библиотеки OIDC приложения:
- Идентификатор клиента: идентификатор приложения (клиента) из шага 5
- Секрет клиента: если применимо (для веб-приложений)
- URI перенаправления: тот же URI, настроенный на шаге 1
-
Уполномоченный/Эмитент:
https://login.microsoftonline.com/{tenant}/v2.0/(замените {tenant} идентификатором арендатора) -
Области: обычно
openid profile emailдля базовой проверки подлинности OIDC
Для получения конкретных инструкций по реализации см. раздел "Поток кода авторизации с PKCE" для веб-приложений.
Шаг 8. Проверка конфигурации единого входа OIDC
Используя онлайн-средство: вы можете протестировать базовый поток проверки подлинности с помощью https://jwt.ms:
- Создайте URL-адрес входа:
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={client_id}&response_type=id_token&redirect_uri=https://jwt.ms&scope=openid&nonce={random_value} - Замените
{tenant}и{client_id}на ваши значения - Перейдите по этому URL-адресу в браузере, чтобы проверить поток проверки подлинности
- Создайте URL-адрес входа:
В вашем приложении: интегрируйте библиотеку OIDC в ваше приложение и протестируйте полный процесс входа.
Назначение пользователей: перейдите к корпоративным приложениям, найдите приложение и назначьте пользователей или группы в разделе "Пользователи и группы".
Рекомендации по мультитенантным приложениям
Если приложение должно поддерживать пользователей из нескольких организаций:
- Настройте регистрацию приложения с учетными записями в любом каталоге организации
- Используйте общую конечную точку:
https://login.microsoftonline.com/common/ - Внедрите правильную проверку арендатора в логике вашего приложения
Подробные инструкции см. в статье "Практическое руководство. Преобразование приложения в мультитенантное приложение".
Устранение распространенных проблем
- Недопустимый URI перенаправления: Убедитесь, что URI перенаправления в регистрации приложения точно соответствует тому, что отправляет ваше приложение.
- Проблемы с согласием: проверьте, требуется ли согласие администратора для запрошенных разрешений
- Ошибки проверки токена: убедитесь, что вы используете правильный URI JWKS и проверяете подпись токена
- Проблемы с несколькими клиентами: Убедитесь, что вы используете правильную конечную точку (общую или индивидуальную для арендатора)
Подробные рекомендации по устранению неполадок см. в кодах ошибок платформы удостоверений Майкрософт.