Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Защита информационных систем предприятия (EIS)

В приложениях корпоративных информационных систем (EIS) компоненты запрашивают подключение к ресурсу EIS.

Здесь рассматриваются следующие темы:

Обзор защиты приложений корпоративных информационных систем

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

  • Управляемый контейнером вход: компонент приложения позволяет контейнеру отвечать за настройку и управление входом в EIS. Контейнер определяет имя пользователя и пароль для установления соединения с объектом EIS.

  • Вход с управлением компонентами: код прикладного компонента управляет входом в EIS.

Вы также можете настроить безопасность для адаптеров ресурсов. Смотрите Настройка безопасности адаптера ресурса.

Управляемый контейнером вход

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

// Бизнес-метод в компоненте приложения
Context initctx = new InitialContext();
// Получение фабрики соединений через поиск JNDI
javax.resource.cci.ConnectionFactory cxf =
    (javax.resource.cci.ConnectionFactory)initctx.lookup(
    "java:comp/env/eis/MainframeCxFactory");
// Получение соединения от фабрики соединений. 
// Информация о безопасности не передаётся в метод getConnection
javax.resource.cci.Connection cx = cxf.getConnection();
...

Управляемый компонентом вход

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

// Метод в компоненте приложения
Context initctx = new InitialContext();

// Получение фабрики соединений чере поиск JNDI
javax.resource.cci.ConnectionFactory cxf =
    (javax.resource.cci.ConnectionFactory)initctx.lookup(
    "java:comp/env/eis/MainframeCxFactory");

// Получение нового ConnectionSpec
com.myeis.ConnectionSpecImpl properties = //..

// Вызов фабрики для получения соединения
properties.setUserName("...");
properties.setPassword("...");
javax.resource.cci.Connection cx =
    cxf.getConnection(properties);
...

Настройка безопасности адаптера ресурса

Адаптер ресурсов — это программный компонент системного уровня, который обычно реализует сетевое подключение к внешнему менеджеру ресурсов. Адаптер ресурсов может расширять функциональные возможности платформы Java EE либо путём реализации одного из стандартных сервисных API Java EE, например драйвера JDBC, либо путём определения и реализации адаптера ресурса для коннектора с внешней прикладной системой. Адаптеры ресурсов также могут предоставлять сервисы, которые являются полностью локальными, возможно, взаимодействуя с собственными ресурсами. Адаптеры ресурсов взаимодействуют с платформой Java EE через интерфейсы провайдера услуг Java EE (Java EE SPI). Адаптер ресурсов, использующий SPI-интерфейсы Java EE для подключения к платформе Java EE, сможет работать со всеми продуктами Java EE.

Чтобы настроить параметры безопасности для адаптера ресурса, необходимо отредактировать файл дескриптора адаптера ресурса ra.xml. Вот пример части файла ra.xml, который настраивает свойства безопасности для адаптера ресурса:

<authentication-mechanism>
    <authentication-mechanism-type>
        BasicPassword
    </authentication-mechanism-type>
    <credential-interface>
        javax.resource.spi.security.PasswordCredential
    </credential-interface>
</authentication-mechanism>
<reauthentication-support>false</reauthentication-support>

Вы можете узнать больше о параметрах для настройки безопасности адаптера ресурсов, просмотрев as-install/lib/schemas/connector_1_7.xsd. Вы можете настроить следующие элементы в файле дескриптора развёртывания адаптера ресурса.

  • Механизмы аутентификации: используйте элемент authentication-mechanism, чтобы указать механизм аутентификации, поддерживаемый адаптером ресурсов. Эта поддержка предназначена для адаптера ресурсов, а не для объекта EIS.

    Существует два поддерживаемых типа механизма:

    • BasicPassword, который поддерживает следующий интерфейс:

      javax.resource.spi.security.PasswordCredential
    • Kerbv5, который поддерживает следующий интерфейс:

      javax.resource.spi.security.GenericCredential

      GlassFish Server в настоящее время не поддерживает этот тип механизма.

  • Поддержка повторной аутентификации: используйте элемент reauthentication-support, чтобы указать, поддерживает ли реализация адаптера ресурса повторную аутентификацию существующих объектов Managed-Connection. Возможные значения: true или false.

  • Разрешения безопасности: используйте элемент security-permission, чтобы указать разрешение безопасности, которое требуется для кода адаптера ресурса. Поддержка разрешений безопасности является необязательной и не поддерживается в текущей версии GlassFish Server. Однако вы можете вручную обновить файл server.policy, чтобы добавить соответствующие разрешения для адаптера ресурсов.

    Разрешения безопасности, указанные в дескрипторе развёртывания, отличаются от тех, которые требуются набором разрешений по умолчанию, указанным в спецификации коннектора.

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

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

Отображение принципала приложения на принципалов EIS

При использовании сервера GlassFish вы можете использовать отображения безопасности для сопоставления идентификатора вызывающего субъекта приложения (принципала или группы пользователей) с соответствующим принципалом EIS в сценариях на основе транзакций, управляемых контейнером. Когда принципал приложения инициирует запрос к EIS, сервер GlassFish сначала проверяет принципала, используя отображение безопасности, определённое для пула соединений коннектора, для определения соответствующего принципала EIS. Если нет точного соответствия, сервер GlassFish использует спецификацию подстановочных знаков, если таковая имеется, для определения соответствующего принципала EIS. Отображения безопасности используются, когда пользователь приложения должен выполнить операцию EIS, которая требует выполнения под определённым принципалом в EIS.

Для работы с отображениями безопасности используйте Консоль администрирования. В Консоли администрирования выполните следующие действия, чтобы перейти на страницу отображений безопасности.

  1. В дереве навигации разверните узел Ресурсы.

  2. Разверните узел Коннекторы.

  3. Выберите узел Коннекторы пулов соединений.

  4. На странице «Коннекторы пулов соединений» кликните на имени пула соединений, для которого вы хотите создать отображение безопасности.

  5. Нажмите вкладку Отображения безопасности.

  6. Нажмите «Создать», чтобы создать новое отображение безопасности для пула соединений.

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

    Нажмите «Справка» для получения дополнительной информации об отдельных параметрах.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)