Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
С ростом облака многие компании перешли на использование идентификатора Microsoft Entra для различных приложений и служб. Использование Microsoft Entra ID теперь стало стандартом во многих организациях. В этой статье рассматриваются некоторые аспекты устранения неполадок, возникающих с этой федерацией. Некоторые из разделов в общей статье по устранению неполадок все еще относятся к вопросам федерации с Azure, поэтому в этой статье описываются особенности взаимодействия с Microsoft Entra ID и службами федерации Active Directory (AD FS).
Перенаправление в AD FS
Перенаправление происходит при входе в приложение, например Office 365, и вы перенаправляетесь на серверы AD FS вашей организации для входа.
Первое, что необходимо проверить
Если перенаправление не происходит, есть несколько вещей, которые нужно проверить.
Убедитесь, что клиент Microsoft Entra включен для федерации. Войдите на портал Azure и проверьте параметры Microsoft Entra Connect.
Убедитесь, что личный домен проверен. Выберите домен рядом с федерацией на портале Azure.
Проверьте систему доменных имен (DNS) и убедитесь, что серверы AD FS или прокси-серверы веб-приложения доступны из Интернета. Убедитесь, что они доступны, и вы можете перейти к ним.
Для получения этих сведений можно также использовать командлет PowerShell
Get-MgDomain.
Вы получаете ошибку "Неизвестный метод проверки подлинности"
При перенаправлении из Azure может возникнуть ошибка "Неизвестный метод проверки подлинности" с сообщением о том, что AuthnContext не поддерживается на уровне AD FS или службы маркеров безопасности (STS).
Этот сценарий наиболее распространен, когда идентификатор Microsoft Entra перенаправляется в AD FS или STS с помощью параметра, который применяет метод проверки подлинности.
Чтобы применить метод проверки подлинности, используйте один из следующих методов:
Для WS-Federation используйте строку запроса WAUTH, чтобы принудительно применить предпочтительный метод проверки подлинности.
Для SAML 2.0 используйте следующий код:
<saml:AuthnContext> <saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport </saml:AuthnContextClassRef> </saml:AuthnContext>Если метод принудительной проверки подлинности отправляется с неправильным значением или если этот метод проверки подлинности не поддерживается в AD FS или STS, перед проверкой подлинности вы получите сообщение об ошибке.
| Метод проверки подлинности, который требуется | Универсальный код ресурса (URI) WAUTH |
|---|---|
| Проверка подлинности на основе имени пользователя и пароля | urn:oasis:names:tc:SAML:1.0:am:password |
| Проверка подлинности клиента SECURE Sockets Layer (SSL) | urn:ietf:rfc:2246 |
| Встроенная проверка подлинности Windows | urn:federation:authentication:windows |
В следующей таблице перечислены поддерживаемые классы контекста проверки подлинности SAML:
| Метод аутентификации | URI класса контекста проверки подлинности |
|---|---|
| Имя пользователя и пароль | urn:oasis:names:tc:SAML:2.0:ac:classes:Password |
| Защищенный паролем транспорт | urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport |
| Клиент транспортного уровня безопасности (TLS) | urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient |
| X.509 certificate | urn:oasis:names:tc:SAML:2.0:ac:classes:X509 |
| Встроенная проверка подлинности Windows | urn:federation:authentication:windows |
| Kerberos | urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos |
Чтобы убедиться, что метод проверки подлинности поддерживается на уровне AD FS, проверьте следующее.
AD FS 2.0
В разделе /adfs/ls/web.configубедитесь, что запись для типа проверки подлинности присутствует.
<microsoft.identityServer.web>
<localAuthenticationTypes>
<add name="Forms" page="FormsSignIn.aspx" />
<add name="Integrated" page="auth/integrated/" />
<add name="TlsClient" page="auth/sslclient/" />
<add name="Basic" page="auth/basic/" />
</localAuthenticationTypes>
AD FS 2012 R2
В разделе Управление AD FS, выберите Политики проверки подлинности в оснастке AD FS.
В разделе "Первичная проверка подлинности " рядом с глобальными параметрами нажмите кнопку "Изменить". Вы также можете щелкнуть правой кнопкой мыши политики проверки подлинности и выбрать пункт "Изменить глобальную первичную проверку подлинности". Или на панели "Действия" выберите "Изменить глобальную первичную проверку подлинности".
На панели "Изменить глобальную политику проверки подлинности " на первичной вкладке можно настроить параметры в рамках глобальной политики проверки подлинности. Например, для первичной проверки подлинности выберите доступные методы проверки подлинности в экстрасети и интрасети.
Убедитесь, что установлен флажок для требуемого метода проверки подлинности.
AD FS 2016
Под Управлением AD FS выберите Служба>Методы проверки подлинности в оснастке AD FS.
В разделе "Первичная проверка подлинности" выберите "Изменить".
На панели "Изменить методы проверки подлинности " на вкладке "Основной " можно настроить параметры в рамках политики проверки подлинности.
Токены, выданные AD FS
В этом разделе рассматриваются маркеры, выданные AD FS.
Идентификатор Microsoft Entra выдает ошибку после выдачи токена
После выдачи токена AD FS Microsoft Entra ID может вызвать ошибку. В этой ситуации проверьте следующие проблемы:
Утверждения, которые AD FS выпускает в токене, должны соответствовать соответствующим атрибутам пользователя в Microsoft Entra ID.
Токен для идентификации Microsoft Entra должен содержать следующие обязательные утверждения:
WSFED:
- Имя участника-пользователя. Значение этого утверждения должно соответствовать имени участника-пользователя (UPN) пользователей в идентификаторе Microsoft Entra.
-
ImmutableID: значение этого утверждения должно соответствовать
sourceAnchorилиImmutableIDатрибутам пользователя в идентификаторе Microsoft Entra.
Чтобы получить значение атрибута
Userв идентификаторе Microsoft Entra ID, выполните следующую командную строку:Get-AzureADUser –UserPrincipalName <UPN>
SAML 2.0:
- IDPEmail: значение этого утверждения должно соответствовать имени участника-пользователя в идентификаторе Microsoft Entra.
-
NAMEID: значение этого утверждения должно соответствовать
sourceAnchorилиImmutableIDатрибутам пользователя в идентификаторе Microsoft Entra.
Дополнительные сведения см. в статье "Использование поставщика удостоверений SAML 2.0 для реализации единого входа".
Несоответствие сертификата подписи токенов между AD FS и идентификатором Microsoft Entra
AD FS использует сертификат подписания токенов для подписи токена, который отправляется пользователю или приложению. Доверие между AD FS и Microsoft Entra ID — это федеративное доверие, основанное на сертификате для подписи токенов.
Если сертификат подписывающего токена на стороне AD FS был изменён в случае автоматического обновления или ручного вмешательства, сведения о новом сертификате необходимо обновить на стороне Microsoft Entra ID для федеративного домена. Если основной сертификат для подписи токенов в AD FS отличается от сертификата Microsoft Entra ID, то Microsoft Entra ID не доверяет токену, выданному AD FS. По этой причине федеративный пользователь не может войти в систему.
Чтобы исправить эту проблему, следуйте шагам, описанным в разделе Обновление сертификатов федерации для Office 365 и Microsoft Entra ID.
Другие распространенные вещи для проверки
Если у вас возникли проблемы с взаимодействием AD FS и Microsoft Entra, проверьте следующее:
- Устаревшие или кэшированные учетные данные в Менеджере учетных данных Windows.
- Безопасный хэш-алгоритм (SHA), настроенный для доверия проверяющей стороны для Office 365, имеет значение SHA1.