Дополнение по возможностям соединений

Конфигурирование сервера прикладных программ

Поддержка сервера прикладных программ DB2 Universal Database for OS/390 позволяет DB2 Universal Database for OS/390 действовать как сервер для реквестеров прикладных программ DRDA. Реквестером прикладных программ для сервера прикладных программ DB2 Universal Database for OS/390 может быть:

Сервер прикладных программ DB2 Universal Database for OS/390 поддерживает доступ к базам данных для реквестеров прикладных программ следующим образом:

Задание сетевой информации

Чтобы Сервер прикладных программ DB2 Universal Database for OS/390 правильно обрабатывал требования распределенной базы данных, необходимо выполнить следующие действия:

  1. Определить сервер прикладных программ для локального Communications Manager.
  2. Определить назначение каждого потенциального вторичного сервера, чтобы сервер прикладных программ DB2 Universal Database for OS/390 мог направлять требования SQL к их конечным назначениям.
  3. Обеспечить необходимую защиту.
  4. Обеспечить правильное представление данных.

Определение сервера прикладных программ (SNA)

Чтобы Сервер прикладных программ мог принимать требования распределенной базы данных, он должен быть определен для локального Communications Manager и иметь уникальное RDB_NAME. Ниже описываются соединения SNA. Чтобы правильно определить Сервер прикладных программ, нужно выполнить следующие действия:

  1. Выбрать имя LU и RDB_NAME, которые будет использовать Сервер прикладных программ DB2 Universal Database for OS/390. Для занесения этих имен в DB2 Universal Database for OS/390 и VTAM используется та же процедура, что описана в разделе Определение локальной системы (SNA). Выбранное для DB2 Universal Database for OS/390 RDB_NAME надо сообщить всем конечным пользователям и реквестерам прикладных программ, которые будут соединяться с сервером.
  2. Зарегистрировать значение NETID.LUNAME для сервера прикладных программ DB2 Universal Database for OS/390 на каждом реквестере прикладных программ, которому требуется доступ, чтобы он мог направлять требования SNA на сервер DB2 Universal Database for OS/390. Это относится и к случаю, когда Реквестер прикладных программ способен выполнять динамическую сетевую маршрутизацию, поскольку для такой маршрутизации ему должно быть известно NETID.LUNAME.
  3. Задать для каждого реквестера прикладных программ TPN, принятое по умолчанию в DRDA (X'07F6C4C2'), поскольку DB2 Universal Database for OS/390 автоматически использует это значение.
  4. Создать для каждого имени режима, которое может быть затребовано реквестером прикладных программ, запись в таблице режимов. В этих записях описываются размеры RU, размер окна синхронизации и класс обслуживания для каждого имени режима.
  5. Задать предельное число сеансов для реквестеров прикладных программ, устанавливающих соединения с сервером прикладных программ DB2 Universal Database for OS/390. Предельное число сеансов по умолчанию для всех систем-партнеров устанавливает оператор VTAM APPL. Если вы хотите задать умолчания для определенного партнера, можно использовать таблицу SYSIBM.LUMODES базу данных связи (CDB).

    Перенастройка сети VTAM описана в разделе Задание размеров RU и синхронизации связи.

  6. Создайте записи в CDB DB2 Universal Database for OS/390, чтобы указать, каким реквестерам прикладных программ разрешается устанавливать соединения с сервером прикладных программ DB2 Universal Database for OS/390. Используются два основных подхода к включению в CDB записей для реквестеров прикладных программ в сети:
    1. Можно вставить в SYSIBM.LUNAMES строку, задающую значения по умолчанию для любого LU, которое не описано в CDB особо (в этой строке в столбце LUNAME содержатся пробелы). При таком подходе вы можете задать особые значения для некоторых LU в сети, задав для остальных LU значения по умолчанию.

      Например, вы можете разрешить системе DALLAS (другая система DB2 Universal Database for OS/390) посылать "уже-проверенные" требования распределенной базы данных (LU 6.2 SECURITY=SAME), в то же время потребовав, чтобы системы менеджера баз данных посылали пароль. Далее, вам, возможно, не захочется включать в CDB записи для каждой системы менеджера баз данных, особенно, если таких систем много. На Рис. 25 показано, как указать в CDB SECURITY=SAME для системы DALLAS и SECURITY=PGM для всех остальных реквестеров.

      Рис. 25. Установка умолчаний для соединений реквестера прикладных программ (SNA)

      INSERT INTO SYSIBM.LUNAMES
           (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES)
        VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', ' ');
      INSERT INTO SYSIBM.LUNAMES
           (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES)
        VALUES (' ', ' ', 'C', 'N', 'N', ' ');
      

    2. Права доступа для каждого реквестера прикладных программ в сети можете задать в CDB одним из следующих способов:
      • Не задавайте строку по умолчанию в SYSIBM.LUNAMES. Если строка по умолчанию (содержащая пустое имя LU) отсутствует, DB2 Universal Database for OS/390 требует, чтобы в SYSIBM.LUNAMES была строка, содержащая имя LU для каждого реквестера прикладных программ, который будет устанавливать соединение. Если такая строка в CDB не найдена, Реквестер прикладных программ не получит доступа к системе.
      • Задайте в SYSIBM.LUNAMES строку по умолчанию и укажите, что требуется проверка отправителя (в столбце USERNAMES - 'I' или 'B'). Это вынудит DB2 Universal Database for OS/390 ограничить доступ для реквестеров прикладных программ и конечных пользователей, указанных в таблице SYSIBM.USERNAMES, как описано в разделе Проверка отправителя. Вы можете использовать такой подход, если ваши правила преобразования имен требуют наличия в SYSIBM.LUNAMES строки с пустым именем LU, но вы не хотите, чтобы DB2 Universal Database for OS/390 предоставляла неограниченный доступ ко всем серверам прикладных программ DB2 Universal Database for OS/390.

      На Рис. 26 нет строки, содержащей пробелы в столбце LUNAME, поэтому DB2 Universal Database for OS/390 отклоняет требования доступа для всех LU, кроме LUDALLAS и LUNYC.

      Рис. 26. Индивидуальное задание соединений реквестеров прикладных программ (SNA)

      INSERT INTO SYSIBM.LUNAMES
           (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES)
        VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', ' ');
      INSERT INTO SYSIBM.LUNAMES
           (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES)
        VALUES ('LUNYC', ' ', 'A', 'N', 'N', ' ');
      

Определение сервера прикладных программ (TCP/IP)

Чтобы Сервер прикладных программ мог получать требования распределенной базы данных по соединениям TCP/IP, он должен быть определен для локальной подсистемы TCP/IP и иметь уникальное RDB_NAME. Кроме того, загрузочный набор данных DB2 Universal Database for OS/390 должен включать необходимые параметры, и вам, возможно, придется внести изменения в базу данных связей (CDB) DB2 Universal Database for OS/390.

  1. Настройка TCP/IP на сервере прикладных программ описана в руководстве DB2 Universal Database for OS/390 Installation Reference. Настройка реквестера прикладных программ описана в книгах DB2 Connect Enterprise Edition for OS/2 and Windows Quick Beginnings и DB2 Connect Personal Edition. Быстрый старт.
  2. Пример определения загрузочного набора данных показан на Рис. 18.
  3. Если будут использоваться только входящие соединения с базами данных, изменения в CDB не требуются, поэтому если вы планируете использовать DB2 Universal Database for OS/390 только в качестве сервера, можно не заполнять CDB, оставив значения по умолчанию. Ниже приведен простой пример редактирования SYSIBM.IPNAMES.

    Для разрешения поступающих требований соединения базы данных для узлов TCP/IP можно воспользоваться следующей командой SQL для изменения этой таблицы:

    INSERT INTO SYSIBM.IPNAMES (LINKNAME) VALUES('        ')                                   
    

Обеспечение защиты

Когда реквестер прикладных программ направляет требования распределенной базы данных серверу прикладных программ DB2 Universal Database for OS/390, возникают следующие вопросы, связанные с защитой:

Проверка отправителя

Сервер прикладных программ DB2 Universal Database for OS/390 при приеме от реквестера имен конечных пользователей может ограничивать набор имен, принимаемых от данного реквестера. Это достигается при помощи проверки отправителя. Проверка отправителя позволяет серверу прикладных программ указать, что данный ID пользователя может использоваться только определенными партнерами. Например, для пользователя JONES сервер прикладных программ может принимать только требования, "приходящие от" реквестера DALLAS. Если другой реквестер прикладных программ (отличный от DALLAS) пытается послать серверу прикладных программ имя JONES, этот сервер прикладных программ может отвергнуть запрос, поскольку положение в сети, откуда пришло это имя, не задано как допустимое.

DB2 Universal Database for OS/390 реализует проверку отправителя как часть преобразования имен конечных пользователей на входе, что описывается в следующем разделе.
Прим.:Проверки на входе и проверки отправителя не выполняются для входящих требований TCP/IP.

Выбор имен конечных пользователей

ID пользователя, передаваемый реквестером прикладных программ, может не быть уникальным для всей сети SNA. Серверу прикладных программ DB2 Universal Database for OS/390 может понадобиться выполнять преобразование имен на входе, чтобы создать уникальные для всей сети SNA имена конечных пользователей. Серверу прикладных программ DB2 Universal Database for OS/390 может также понадобиться выполнять преобразование имен на выходе, чтобы передать вторичным серверам, связанным с прикладной программой, уникальное имя конечного пользователя (смотрите в разделе Обеспечение защиты сведения о преобразовании имен конечных пользователей на выходе).

Чтобы включить преобразование имен на входе, нужно указать в столбце USERNAMES таблицы SYSIBM.LUNAMES или SYSIBM.IPNAMES значение 'I' (преобразование на входе) или 'B' (преобразование и на входе, и на выходе). Когда включено преобразование имен на входе, DB2 Universal Database for OS/390 преобразует ID пользователя, посылаемый реквестером прикладных программ, и имя владельца плана DB2 Universal Database for OS/390 (если Реквестер прикладных программ - другая система DB2 Universal Database for OS/390).

Если Реквестер прикладных программ посылает и ID пользователя, и пароль командой APPC ALLOCATE, ID пользователя и пароль проверяются перед преобразованием ID пользователя. Столбец PASSWORD из SYSIBM.USERNAMES для проверки пароля не используется. Вместо этого ID пользователя и пароль передаются для проверки внешней системе защиты (RACF или эквивалентному продукту).

Когда проверяется входящий ID пользователя, посланный командой ALLOCATE, DB2 Universal Database for OS/390 позволяет использовать обработчики авторизации, при помощи которых можно задать список вторичных AUTHID и выполнить дополнительные проверки защиты. Подробности смотрите в руководстве DB2 Universal Database for OS/390 Administration Guide.

При преобразовании имен на входе происходит поиск в таблице SYSIBM.USERNAMES строки, которая должна отвечать одному из шаблонов, показанных ниже (в том порядке, в котором происходит поиск) (TYPE.AUTHID.LINKNAME):

  1. I.AUTHID.LINKNAME - заданный конечный пользователь и заданный реквестер прикладных программ
  2. I.AUTHID.пусто - Конкретный конечный пользователь и любой реквестер прикладных программ
  3. I.пусто.LINKNAME - любой конечный пользователь и заданный реквестер

Если ни одной строки не найдено, удаленный доступ не предоставляется. Если найдена строка, предоставляется удаленный доступ, и имя конечного пользователя заменяется на значение, указанное в столбце NEWAUTHID; при пустом значении NEWAUTHID имя не меняется. При всех проверках авторизации ресурсов DB2 Universal Database for OS/390, (например, привилегий таблицы SQL), выполняемых DB2 Universal Database for OS/390, используются преобразованные, а не исходные имена конечных пользователей.

Когда сервер прикладных программ DB2 Universal Database for OS/390 получает имя пользователя от реквестера прикладных программ, преобразование имен на входе позволяет достичь нескольких целей:

Обеспечение сетевой защиты

Для соединений SNA LU 6.2 предоставляет три основных функции защиты:

В разделе Защита сети описано, как задать защиту уровня сеанса и шифрование для DB2 Universal Database for OS/390. Сервер прикладных программ DB2 Universal Database for OS/390 использует защиту на уровне сеанса и шифрование точно так же, как Реквестер прикладных программ DB2 Universal Database for OS/390.

Остается только рассмотреть защиту уровня диалога в сетях SNA. Некоторые особенности защиты уровня диалога характерны только для сервера прикладных программ DB2 Universal Database for OS/390. Сервер прикладных программ DB2 Universal Database for OS/390 играет две разных роли в сетевой защите:

Если обнаружено нарушение защиты, LU 6.2 требует, чтобы Сервер прикладных программ DB2 Universal Database for OS/390 возвратил реквестеру прикладных программ код ошибки защиты SNA ('080F6051'X). Поскольку этот код ошибки ничего не говорит о причине неудачи, DB2 Universal Database for OS/390 предоставляет два способа определения причины нарушения защиты распределенной базы данных:

Защита менеджера баз данных

В качестве владельца ресурсов базы данных, Сервер прикладных программ DB2 Universal Database for OS/390 управляет функциями защиты баз данных для объектов SQL, расположенных на этом сервере. Доступ к объектам, управляемым DB2 Universal Database for OS/390, регулируется привилегиями, которые предоставляют пользователям администратор DB2 Universal Database for OS/390 или владельцы отдельных объектов. Сервер прикладных программ DB2 Universal Database for OS/390 управляет двумя основными классами объектов:

Когда создается пакет, с помощью опции DISABLE/ENABLE можно регулировать типы соединений DB2 Universal Database for OS/390, для которых можно запускать пакет. Чтобы выборочно разрешить конечным пользователям использовать DDF, можно использовать RACF и обработчики защиты DB2 Universal Database for OS/390. RLF можно использовать для задания ограничений на процессорное время для удаленных связываний и выполнений динамического SQL.

Рассмотрим пакет DB2 Universal Database for OS/390 под названием MYPKG, которым владеет JOE. JOE может разрешить SAL выполнять пакет при помощи оператора DB2 Universal Database for OS/390 GRANT USE. Когда SAL выполняет пакет, происходит следующее:

Подсистема защиты

Использование сервером прикладных программ DB2 Universal Database for OS/390 подсистемы защиты (RACF или эквивалентного ему продукта) зависит от того, как определена функция преобразования имен на входе в таблице SYSIBM.LUNAMES:

Представление данных

Необходимо, чтобы подсистема DB2 Universal Database for OS/390 могла выполнять преобразование из CCSID каждого реквестера прикладных программ в CCSID, выбранный при установке подсистемы DB2 Universal Database for OS/390. Дополнительную информацию смотрите в разделе Представление данных.


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]