Параметры конфигурации сеансов системы для службы идентификации Java

С помощью этой страницы можно указать список конфигураций сеансов системы для службы идентификации Java (JAAS).

Для просмотра этой страницы административной консоли выполните следующие действия:
  1. Нажмите Защита > Глобальная защита.
  2. В разделе Идентификация нажмите Служба идентификации Java > Сеансы системы.
Перед тем, как приступить к определению дополнительных модулей сеансов для идентификации в среде выполнения сервера приложений, ознакомьтесь с документацией по службе идентификации Java. В следующем списке перечислены модули сеансов системы, которые нельзя удалять:
RMI_INBOUND, WEB_INBOUND, DEFAULT

Обрабатывает входящие запросы на вход в систему для удаленного вызова методов (RMI), Web-приложений и большинства других протоколов входа в систему.

RMI_INBOUND
Обрабатывает сеансы для входящих запросов RMI. Как правило, такие сеансы запрашивают идентифицированный доступ к файлам EJB (Enterprise JavaBeans). В случае применения коннектора RMI это могут быть запросы Java Management Extensions (JMX).
WEB_INBOUND
Обрабатывает сеансы для запросов Web-приложения, в состав которого входят сервлеты и файлы JSP. Эта конфигурация сеансов может взаимодействовать с выводом перехватчика группы доверия (TAI), если он настроен. Субъект, передаваемый конфигурации сеансов WEB_INBOUND, может содержать объекты, созданные TAI.
DEFAULT
Обрабатывает сеансы для входящих запросов от большинства других внутренних механизмов идентификации и протоколов.

Рассмотренные три конфигурации сеансов передают следующую информацию об обратном вызове, которая обрабатывается модулями сеансов этих конфигураций. Обратные вызовы не передаются одновременно. Их комбинация задает способ идентификации пользователя на сервере приложений.

Обратный вызов

callbacks[0] = new javax.security.auth.callback.
NameCallback("Username: ");

Назначение
Получает имя пользователя, предоставленное во время входа в систему. Поддерживаются следующие типы сеансов:
  • Имя пользователя и пароль (простая идентификация).
  • Только имя пользователя для подтверждения идентификации без пароля.
Обратный вызов

callbacks[1] = new javax.security.auth.callback.
PasswordCallback("Password: ", false);

Назначение
Получает пароль, предоставленный во время входа в систему. Пустой пароль допускается и используется для поддержки подтверждения идентификации.
Обратный вызов

callbacks[2] = new com.ibm.websphere.security.auth.callback.
WSCredTokenCallbackImpl("Credential Token: ");

Назначение
Получает маркер простой внешней идентификации (LTPA) или другой маркер во время входа в систему. Как правило, такие идентификационные данные применяются вместо имени пользователя и пароля.
Обратный вызов

callbacks[3] = new com.ibm.wsspi.security.auth.callback.
WSTokenHolderCallback("Authz Token List: ");

Назначение
Получает список ArrayList из объектов TokenHolder, возвращаемых в результате вызова WSOpaqueTokenHelper. Обратный вызов применяет метод createTokenHolderListFromOpaqueToken с маркером авторизации CSIv2 в качестве входящих данных.
Ограничение: Такой обратный вызов доступен только в том случае, если выбрана опция Распространение атрибутов защиты и сеанс представляет собой сеанс распространения. Сеанс распространения предусматривает передачу в запросе достаточного набора атрибутов защиты, что позволяет избежать обращения к реестру пользователей за дополнительными атрибутами. Распространение атрибутов защиты следует включить как для входящей, так и для исходящей идентификации.
Для того чтобы задать опцию Распространение атрибутов защиты для исходящей идентификации CSIv2, выполните следующие действия:
  1. Нажмите Защита > Глобальная защита.
  2. В разделе Идентификация разверните категорию Защита RMI/IIOP и выберите Исходящая идентификация CSIv2.
  3. Выберите опцию Распространение атрибутов защиты.
Для того чтобы задать опцию Распространение атрибутов защиты для входящей идентификации CSIv2, выполните следующие действия:
  1. Нажмите Защита > Глобальная защита.
  2. В разделе Идентификация разверните категорию Защита RMI/IIOP и выберите Входящая идентификация CSIv2.
  3. Выберите опцию Распространение атрибутов защиты.

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

  • Обратный вызов callbacks[0] = new javax.security.auth.callback.NameCallback("Username: ");

    Предназначен для подтверждения идентификации CSIv2, сеансов сертификатов Web и X509 CSIv2, сеансов перехватчиков групп доверия старого типа и т. д. В случае сеансов сертификатов Web и X509 CSIv2 сервер приложений преобразует сертификат в имя пользователя. Данный обратный вызов применяется для всех сеансов, проверяющих подлинность только на основе имени пользователя.

  • Обратные вызовы callbacks[0] = new javax.security.auth.callback.NameCallback("Username: "); и callbacks[1] = new javax.security.auth.callback.PasswordCallback("Password: ", false);.

    Такая комбинация обратных вызовов, как правило, применяется для сеансов простой идентификации. Большая часть операций идентификации выполняется с помощью этой пары обратных вызовов.

  • Обратный вызов callbacks[2] = new com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl("Credential Token: ");
    Этот обратный вызов применяется для проверки маркера простой внешней идентификации (LTPA), которая, как правило, выполняется в среде единого входа в систему (SSO) или в случае входа на сервер более низкого уровня. Каждый раз при получении запроса от сервера приложений, а не простого клиента, маркер LTPA передается целевому серверу. В случае единого входа в систему (SSO) применяется маркер LTPA, передаваемый с помощью cookie. Для получения имени пользователя из маркера LTPA пользовательский модуль сеансов может вызвать следующий метод, извлекающий из маркера уникальный ИД:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    validateLTPAToken(byte[])

    После извлечения уникального ИД с помощью следующего метода можно получить имя пользователя:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    getUserFromUniqueID(uniqueID)

    Важное замечание: Если пользовательский модуль сеансов установлен поверх модулей сеансов сервера приложений и предусматривает изменение идентификаторов с помощью службы преобразования разрешений, то в этом модуле важно реализовать проверку маркеров LTPA. Для проверки достоверности маркера LTPA достаточно вызвать следующий метод:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    validateLTPAToken(byte[])

    Для успешного выполнения проверки ключи LTPA взаимодействующих серверов должны совпадать. Отсутствие проверки маркера LTPA значительно снижает эффективность защиты.
  • Комбинация обратного вызова callbacks[3] = new com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback("Authz Token List: "); с любыми из рассмотренных выше обратных вызовов.
    Этот обратный вызов указывает, что на сервер поступили распространяемые атрибуты. Распространяемые атрибуты требуют дополнительной идентификации одним из следующих способов:
    • callbacks[0] = new javax.security.auth.callback.
      NameCallback("Username: ");

    • callbacks[1] = new javax.security.auth.callback.
      PasswordCallback("Password: ", false);

    • callbacks[2] = new com.ibm.websphere.security.auth.callback.
      WSCredTokenCallbackImpl("Credential Token: ");

    В случае добавления атрибутов в субъект из простого клиента за идентификацию информации отвечают обратные вызовы NameCallback и PasswordCallback. В идентифицированный субъект добавляются объекты, сериализованные в контейнере маркера.

    Если применяется как подтверждение идентификации CSIv2, так и распространение атрибутов, то сервер приложений использует обратный вызов NameCallback и контейнер маркера, содержащий все распространяемые атрибуты, для десериализации большинства объектов. Применение обратного вызова NameCallback обусловлено взаимодействием с серверами из списка доверенных серверов CSIv2. Для того чтобы задать доверенные серверы, выполните следующие действия:
    1. Нажмите Защита > Глобальная защита.
    2. В разделе Идентификация выберите Входящая идентификация CSIv2.

    Пользовательский модуль сеансов отвечает за сериализацию. Дополнительная информация приведена в разделе "Распространение атрибутов защиты" справочной системы Information Center.

Помимо обратных вызовов, рассмотренных выше, конфигурация сеансов WEB_INBOUND может содержать следующие дополнительные обратные вызовы:
Обратный вызов

callbacks[4] = new com.ibm.websphere.security.auth.callback.
WSServletRequestCallback("HttpServletRequest: ");

Назначение
Получает объект запроса сервлета HTTP при его наличии. С помощью этого обратного вызова модули сеансов получают из запроса HTTP информацию, применяемую во время входа в систему.
Обратный вызов

callbacks[5] = new com.ibm.websphere.security.auth.callback.
WSServletResponseCallback("HttpServletResponse: ");

Назначение
Получает объект ответа сервлета HTTP при его наличии. С помощью этого обратного вызова модули сеансов добавляют в ответ HTTP информацию о результатах входа в систему. Например, модули сеансов могут добавлять в ответ cookie SingleSignonCookie.
Обратный вызов

callbacks[6] = new com.ibm.websphere.security.auth.callback.
WSAppContextCallback("ApplicationContextCallback: ");

Назначение
Получает контекст Web-приложения, применяемый во время входа в систему. В состав этого обратного вызова входит хэш-таблица, содержащая имя приложения и перенаправленный адрес.
Обратный вызов

callbacks[7] = new WSRealmNameCallbackImpl("Realm Name: ", <default_realm>);

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

callbacks[8] = new WSX509CertificateChainCallback("X509Certificate[]: ");

Назначение
Если для входа в систему применяется сертификат X509 из службы идентификации SSL клиента, этот обратный вызов содержит сертификат, проверенный SSL. Модуль ltpaLoginModule вызывает функции преобразования, реализованные в предыдущих выпусках. На этапе входа в систему этот модуль предоставляет пользовательский модуль сеансов, позволяющий преобразовать сертификат нестандартным способом. Затем вход в систему выполняется с помощью хэш-таблицы (см. пример входа в систему с помощью хэш-таблицы в связанном разделе Пользовательский модуль сеансов для преобразования входящих запросов).
Для применения вместе с конфигурацией сеансов WEB_INBOUND распространения атрибутов защиты выберите опцию Распространение защиты входящих запросов из Internet на панели Единый вход в систему.
  1. Нажмите Защита > Глобальная защита.
  2. В разделе Идентификация разверните категорию Web-защита и выберите Единый вход в систему (SSO).
  3. Выберите опцию Распространение защиты входящих запросов из Internet.
Ниже перечислены стандартные модули сеансов, заданные для конфигураций сеансов системы RMI_INBOUND, WEB_INBOUND и DEFAULT. При необходимости до и после этих модулей, а также между ними можно добавить пользовательские модули сеансов, однако удалить стандартные модули нельзя:
  • com.ibm.ws.security.server.lm.ltpaLoginModule
    Выполняет начальный вход в систему независимо от того, применяется распространение атрибутов или нет. Во время начального входа в систему обрабатываются стандартные идентификационные данные, такие как имя пользователя и пароль, маркер LTPA или перехватчик группы доверия (TAI) и отличительное имя сертификата. В следующих сценариях вместо данного модуля сеансов за обработку начального входа в систему отвечает модуль com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule:
    • В состав субъекта входит объект java.util.Hashtable с обязательными атрибутами пользователя.
    • В состав sharedState HashMap из LoginContext входит объект java.util.Hashtable с обязательными атрибутами пользователя.
    • Не указан пароль для обратного вызова WSTokenHolderCallback. Если в обратном вызове WSTokenHolderCallback указаны имя пользователя и пароль, что является признаком распространения информации, запрос с большой вероятностью получен от простого клиента или сервера из другой области после преобразования существующего идентификатора в имя пользователя и пароль.
  • com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule
    Выполняет начальный вход в систему с помощью стандартных идентификационных данных в случае выполнения следующих условий:
    • В состав субъекта входит объект java.util.Hashtable с обязательными атрибутами пользователя.
    • В состав sharedState HashMap из контекста LoginContext входит объект java.util.Hashtable с обязательными атрибутами пользователя.
    • В обратном вызове WSTokenHolderCallback отсутствует обратный вызов PasswordCallback.

    При наличии объекта java.util.Hashtable модуль сеансов преобразует его атрибуты в допустимый субъект. При наличии обратного вызова WSTokenHolderCallback модуль сеансов десериализует объекты маркера и создает содержимое субъекта в сериализованном виде. Хэш-таблица java.util.Hashtable имеет преимущество по сравнению с остальными типами входа в систему. Рекомендуется проявлять осторожность, чтобы избежать дублирования или переопределения данных, распространенных серверов приложений ранее.

    Если хэш-таблица java.util.Hashtable имеет преимущество перед остальными идентификационными данными, пользовательский модуль сеансов должен реализовать проверку маркера LTPA (если применяется) для обеспечения достаточного уровня доверия. Пользовательский модуль сеансов может проверить маркер LTPA, указанный в обратном вызове, с помощью метода com.ibm.wsspi.security.token.WSSecurityPropagationHelper.validationLTPAToken(byte[]). Ошибка проверки маркера LTPA представляет собой угрозу безопасности.

    Дополнительная информация о добавлении хэш-таблицы, содержащей известные атрибуты в правильном формате, применяемые сервером приложений в качестве идентификационной информации, приведена в разделе "Настройках преобразования входящих идентификаторов" справочной системы Information Center.

RMI_OUTBOUND

Обрабатывает исходящие запросы RMI, отправляемые другим серверам, если для свойства com.ibm.CSI.rmiOutboundLoginEnabled или com.ibm.CSIOutboundPropagationEnabled указано значение true.

Эти свойства можно задать на панели идентификации CSIv2. Для открытия этой панели выполните следующие действия:
  1. Нажмите Защита > Глобальная защита.
  2. В разделе Идентификация разверните категорию Защита RMI/IIOP и выберите Исходящая идентификация CSIv2.
Для того чтобы задать свойство com.ibm.CSI.rmiOutboundLoginEnabled, выберите опцию Пользовательское исходящее преобразование. Для задания свойства com.ibm.CSIOutboundPropagationEnabled выберите опцию Распространение атрибута защиты.

Эта конфигурация сеансов описывает функции защиты целевого сервера и его домена защиты. Например, если сервер приложений версии 5.1.1 или более поздней (либо 5.1.0.2 для z/OS) взаимодействует с сервером приложений версии 5.x, то сервер приложений версии 5.1.1 отправляет серверу версии 5.x только идентификационные данные с помощью маркера LTPA. Однако, если WebSphere Application Server 5.1.1 или более поздней версии взаимодействует с сервером приложений версии 5.1.x, то идентификационные данные и информация о правах доступа передаются принимающему серверу приложений, если распространение атрибутов включено с обоих сторон. В случае отправки сервером приложений идентификационных данных и информации о правах доступа на уровень ниже не требуется повторное обращение к реестру пользователей и поиск атрибутов защиты пользователя для проверки прав доступа. Кроме того, все пользовательские объекты, добавленные отправляющим сервером, передаются серверу нижнего уровня в субъекте.

Следующий обратный вызов доступен в конфигурации сеансов RMI_OUTBOUND. С помощью объекта com.ibm.wsspi.security.csiv2.CSIv2PerformPolicy, возвращаемого этим обратным вызовом, можно запросить стратегию защиты для конкретного исходящего запроса. Такой запрос позволяет определить, отличается ли целевая область от текущей и требуется ли преобразование области. Дополнительная информация приведена в разделе "Настройка исходящего преобразования в другую область" справочной системы Information Center.

Обратный вызов
callbacks[0] = new WSProtocolPolicyCallback("Protocol Policy Callback: ");
Назначение

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

Следующий метод получает стратегию the CSIv2PerformPolicy из данного модуля сеансов:

csiv2PerformPolicy = (CSIv2PerformPolicy)
((WSProtocolPolicyCallback)callbacks[0]).getProtocolPolicy();

Протоколы, отличные от RMI, могут использовать объекты стратегии других типов.

Следующий модуль сеансов входит в состав конфигурации сеансов RMI_OUTBOUND. При необходимости до и после этих модулей, а также между ними можно добавить пользовательские модули сеансов, однако удалить стандартные модули нельзя.
com.ibm.ws.security.lm.wsMapCSIv2OutboundLoginModule
Извлекает следующие маркеры и объекты перед отправкой другому серверу зашифрованного байта с помощью уровня маркеров идентификации CSIv2:
  • Пересылаемые реализации com.ibm.wsspi.security.token.Token из субъекта
  • Пользовательские объекты из субъекта, допускающие сериализацию
  • Маркеры распространения из нити

Перед запуском этого модуля можно настроить преобразование разрешений с помощью пользовательского модуля. Однако рекомендуется, чтобы содержимое субъекта, передаваемого на этапе входа с систему, изменял данный модуль сеансов. В соответствии с этой рекомендацией модули сеансов обрабатываются после обработки нового содержимого субъекта этим модулем сеансов.

Дополнительная информация приведена в разделе "Настройка исходящего преобразования в другую область" справочной системы Information Center.

SWAM [AIX Solaris HP-UX Linux Windows] [iSeries]

Обрабатывает запросы на вход в систему в среде отдельного сервера, если в качестве способа идентификации применяется SWAM (Simple WebSphere Authentication Mechanism).

SWAM не поддерживает разрешения, допускающие пересылку. Кроме того, SWAM запрещает серверу приложений отправлять запросы между серверами. В этом случае рекомендуется использовать LTPA.
Прим.: Конфигурация сеансов SWAM устарела и не будет поддерживаться в следующих выпусках.
[z/OS] Прим.: На сервере приложений Версия 7.0 механизм SWAM считается устаревшим и в будущих выпусках поддержка этого механизма будет отменена.
wssecurity.IDAssertion [Version 5 only]

Обрабатывает запросы конфигурации сеансов для защиты Web-служб с помощью утверждения идентификации.

Эта конфигурация входа в систему предназначена для приложений Web Services Security Draft 13 JAX-RPC (версия 5.x). Дополнительная информация приведена в разделе "Подтверждение идентификации" справочной системы Information Center.

wssecurity.IDAssertionUsernameToken [Version 6 only]

Обрабатывает запросы конфигурации сеансов для защиты Web-служб с помощью утверждения идентификации.

Эта конфигурация входа в систему предназначена для приложений Web Services Security V1.0 JAX-RPC.

В пользовательском свойстве com.ibm.wsspi.wssecurity.auth.module.IDAssertionLoginModule.disableUserRegistryCheck можно указать модуль входа в систему JAAS IDAssertionUsernameToken. Это свойство можно указать для модуля входа в систему JAAS утверждения идентификации защиты Web-служб (wssecurity.IDAssertionUsernameToken). Это свойство указывает, что модуль входа в систему не должен проверять реестр пользователей в ходе обработки входящего маркера идентификатора.

wssecurity.PKCS7

Проверяет сертификат X.509 со списком аннулированных сертификатов в объекте PKCS7.

Конфигурация сеансов предназначена для версии 6.0.x.

wssecurity.PkiPath

Проверяет сертификат X.509 с путем инфраструктуры общих ключей (PKI).

Конфигурация сеансов предназначена для версии 6.0.x.

wssecurity.signature

Обрабатывает запросы конфигурации сеансов для защиты Web-служб путем проверки цифровой подписи.

Конфигурация сеансов предназначена для версии 5.x.

wssecurity.UsernameToken

Простая идентификация (имя пользователя и пароль).

В случае применения среды выполнения JAX-RPC можно настроить следующие пользовательские свойства модуля входа в систему JAAS UsernameToken:

В пользовательском свойстве com.ibm.wsspi.wssecurity.auth.module.UsernameLoginModule.disableUserRegistryCheck можно указать модуль входа в систему JAAS UsernameToken. Это свойство можно указать для модуля входа в систему JAAS UsernameToken защиты Web-служб (com.ibm.wsspi.wssecurity.auth.module.UsernameLoginModule). Это свойство указывает, что модуль входа в систему не должен проверять реестр пользователей в ходе обработки входящего маркера имени пользователя.

wssecurity.X509BST

Проверяет двоичный маркер защиты X.509 (BST) путем проверки действительности и пути сертификата.

Конфигурация сеансов предназначена для версии 6.0.x.

LTPA_WEB

Обрабатывает запросы на вход в систему для компонентов Web-контейнеров (например, сервлетов или файлов JSP).

Модуль сеансов com.ibm.ws.security.web.AuthenLoginModule предопределен в конфигурации сеансов LTPA. При необходимости до и после этого модуля в конфигурацию LTPA_WEB можно добавить пользовательские модули сеансов.

Конфигурация сеансов LTPA_WEB может обрабатывать объекты HttpServletRequest и HttpServletResponse, а также имя Web-приложения, передаваемые обработчиком обратных вызовов. Дополнительная информация приведена в разделе "Пример: Настройка службы идентификации Java сервера и конфигурации входа в систему" справочной системы Information Center.

LTPA

Обрабатывает запросы на вход в систему, которые не поддерживаются конфигурацией LTPA_WEB.

Эта конфигурация сеансов применяется продуктом WebSphere Application Server 5.1 и более ранних версий.

Модуль сеансов com.ibm.ws.security.server.lm.ltpaLoginModule предопределен в конфигурации сеансов LTPA. При необходимости до и после этого модуля в конфигурацию LTPA можно добавить пользовательские модули сеансов. Дополнительная информация приведена в разделе "Пример: Настройка службы идентификации Java сервера и конфигурации входа в систему" справочной системы Information Center.




Ссылки, помеченные как (в сети), требуют подключения к Internet.

Понятия, связанные с данным
Задачи, связанные с данной
Ссылки, связанные с данной
Параметры конфигурации Службы идентификации Java


Имя файла: usec_sysjaas.html