...

Ad sso что это за программа

Как работает SSO с Active Directory, когда пользователи прозрачно входят в веб-приложение интрасети?

Мне сказали, что можно создать веб-приложение, которое не требует входа в систему. Пользователь входит в Windows, которая аутентифицируется через поиск в Active Directory (LDAP). Затем они должны иметь возможность зайти в мое веб-приложение и никогда не видеть приглашение для входа в систему. Эти клиенты называют это единой регистрацией (возможно, это неправильно и является частью моей путаницы).

Но из того, что я прочитал, единый вход в документы Tomcat:

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

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

Итак, чтобы это работало, я представляю:

  • Пользователь делает запрос на какую-то страницу
  • Сервер не видит токен сеанса, а затем запрашивает у клиента учетные данные.
  • Клиентский браузер без какого-либо вмешательства со стороны пользователя предоставляет некоторые учетные данные серверу.
  • Затем, используя эти учетные данные, предоставленные клиентским браузером, он выполняет поиск в LDAP.

Я видел несколько примеров, в которых используются сертификаты на стороне клиента . в частности, система DoD PKI, которая имеет какой-то смысл для меня, потому что в этих случаях вы настраиваете Tomcat для запроса сертификатов на стороне клиента , но просто заходите в окна. Я не вижу, как это будет работать и какую информацию браузер будет передавать на сервер и т. д. Для этого используется NTLM?

Прежде всего — и в случае, если другие пользователи посещают эту страницу — есть только определенные методы аутентификации, которые позволяют вам выполнять быстрый SSO. Это NTLM и Kerberos . LDAP — с другой стороны — никогда не даст вам SSO.

NTLM — это на самом деле NTLMv1 и NTLMv2. Они очень разные и NTLMv1 устарел из-за серьезных проблем безопасности. Вам следует избегать решений для аутентификации Java, которые не могут правильно определить, поддерживают ли они NTLMv1 или NTLMv2, поскольку в своей документации они используют только слово «NTLM». Скорее всего, разработчик упомянутого решения безопасности не знает себя, что является еще одной причиной искать пожарную лестницу.

Вопреки традиционному мнению, как NTLMv1, так и NTLMv2 полностью документированы Microsoft, но вы все равно найдете решения, которые утверждают, что протокол был «реверс-инжиниринг». Это правда, что это было необходимо до того, как Microsoft документировала протоколы, которые я считаю примерно в 2006 или 2007 году. В любом случае NTLMv1 — нет-нет. Нет ничего плохого в NTLMv2 per se, но Microsoft постепенно отказывается от NTLM (в любой форме) во всех своих продуктах в пользу аутентификации Kerberos. NTLMv1 давно мертв, а NTLMv2 теперь используется только Microsoft в тех случаях, когда недоступен контроллер домена. Итог: NTLM (в любой форме) на самом деле не путь вперед. На самом деле, мы должны отдать должное Microsoft за использование подхода, основанного на стандартах.

Это оставляет вас с Kerberos. Microsoft создала протокол для согласования и передачи аутентификационной информации по HTTP. Это известно в продуктах Microsoft как « Интегрированная проверка подлинности Windows », но было объявлено официальным стандартом под названием SPNEGO . Это то, что вы должны искать. SPNEGO поддерживает как NTLMv2, так и Kerberos в качестве основного механизма аутентификации, но по указанным выше причинам вам следует ориентироваться на Kerberos, а не на NTLMv2.

Я успешно интегрировал несколько приложений Tomcat (работающих в Linux / Solaris) с Active Directory, используя проект SPNEGO в SourceForge . Я обнаружил, что это самый простой подход. Это дает вам быстрый SSO, аналогичный тому, что делает, например, сервер Sharepoint. Это наиболее вероятно, что ваши пользователи ожидают, когда говорят о «SSO». Правильная настройка конфигурации Kerberos, генерация ключей и настройка «фиктивных» учетных записей в Active Directory могут быть хлопотами, но как только вы все сделаете правильно, это будет работать как шарм.

Единственное, что мне не нравится в проекте SPNEGO на SourceForge, — это то, что я не понимаю, как часто он выполняет аутентификацию. Мое неприятное подозрение, что он делает это для каждого просмотра страницы, а не один раз для каждой сессии. Возможно, я ошибаюсь в этом. В любом случае: это подчеркивает еще одну вещь, которую необходимо учитывать в решениях SSO: вы не хотите реализовывать решение, которое «спамит» вашего провайдера идентификации (скажем, Active Directory) ненужными запросами.

Спасибо, сделал это принятым ответом. Одна вещь, которую нужно добавить в ваш список быстрых входов — это учетные записи сертификатов x509 . Как правительственные карты CAC.

Active Directory (AD) SSO

The on-premises data gateway supports Active Directory (AD) SSO for connecting to your on-premises data sources that have Active Directory configured. AD SSO includes both Kerberos constrained delegation and Security Assertion Markup Language (SAML). For more information on SSO and the list of data sources supported for AD SSO, see Overview of single sign-on (SSO) for on-premises data gateways in Power BI.

Query steps when running Active Directory SSO

A query that runs with SSO consists of three steps, as shown in the following diagram.

Screenshot of Active Directory single sign on query steps.

Here are additional details about each step:

  1. For each query, the Power BI service includes the user principal name (UPN), which is the fully qualified username of the user currently signed in to the Power BI service, when it sends a query request to the configured gateway.
  2. The gateway must map the Azure Active Directory UPN to a local Active Directory identity: a. If Azure AD DirSync (also known as Azure AD Connect) is configured, then the mapping works automatically in the gateway. b. Otherwise, the gateway can look up and map the Azure AD UPN to a local AD user by performing a lookup against the local Active Directory domain.
  3. The gateway service process impersonates the mapped local user, opens the connection to the underlying database, and then sends the query. You don’t need to install the gateway on the same machine as the database.

Next steps

Now that you understand the basics of enabling SSO through the gateway, read more detailed information about Kerberos and SAML:

  • Single sign-on (SSO) — Kerberos
  • Single sign-on (SSO) — SAML
  • Overview of single sign-on (SSO) for on-premises data gateways in Power BI

Feedback

Submit and view feedback for

При подготовке материала использовались источники:
https://qastack.ru/server/293171/how-does-sso-with-active-directory-work-whereby-users-are-transparently-logged-i
https://learn.microsoft.com/en-us/power-bi/connect-data/service-gateway-active-directory-sso

Оцените статью