Дополнение по возможностям соединений
Поддержка сервера прикладных программ DB2 for MVS/ESA позволяет DB2 for
MVS/ESA действовать как сервер для реквестеров прикладных программ
DRDA. Реквестером прикладных программ для сервера прикладных программ
DB2 for MVS/ESA может быть:
- Реквестер DB2 for MVS/ESA
- DB2 Connect, Версия 6, который может работать в AIX, HP-UX, OS/2, SCO,
Solaris, Linux, Windows 9x или Windows NT
- DB2 Universal Database Enterprise Edition, Версия 6 или DB2 Universal
Database Extended - Enterprise Edition с поддержкой DB2 Connect
- Реквестер Distributed Database Connection Services (DDCS), Версия 2,
который может работать в AIX, HP-UX, OS/2, Solaris, Windows 3.1,
Windows 3.11 for Workgroups, Windows 95 и Windows NT, а также в SCO,
SGI или SINIX
- Реквестер OS/400
- Реквестер DB2 for VM
- Любой другой программный продукт, который поддерживает протоколы
реквестера прикладных программ DRDA
Сервер прикладных программ DB2 for MVS/ESA поддерживает доступ к базам
данных для реквестеров прикладных программ следующим образом:
- Реквестеру прикладных программ разрешен доступ к таблицам, хранящимся на
сервере прикладных программ DB2 for MVS/ESA. Реквестер прикладных
программ должен создать пакет на сервере прикладных программ DB2 for MVS/ESA,
прежде чем запустить прикладную программу. Сервер прикладных программ
DB2 for MVS/ESA использует этот пакет, чтобы найти операторы SQL этой
программы во время выполнения.
- Реквестер прикладных программ может сообщить серверу прикладных программ
DB2 for MVS/ESA, что доступ должен быть ограничен только чтением, если
соединение DRDA реквестер-сервер не поддерживает двухфазное принятие
изменений. Например, реквестер DDCS V2R3 с интерфейсом CICS сообщит
серверу прикладных программ DB2 for MVS/ESA, что изменения не
разрешены.
- Реквестеру прикладных программ может быть предоставлен также доступ к
таблицам, хранящимся на других системах DB2 for MVS/ESA сети с помощью
доступа, управляемого системой. Доступ, управляемый системой, позволяет
реквестеру прикладных программ устанавливать соединения с несколькими
системами баз данных в одной единице работы.
Чтобы Сервер прикладных программ DB2 for MVS/ESA правильно обрабатывал
требования распределенной базы данных, необходимо выполнить следующие
действия:
- Определить сервер прикладных программ для локального Communications
Manager.
- Определить назначение каждого потенциального вторичного сервера, чтобы
сервер прикладных программ DB2 for MVS/ESA мог направлять требования SQL к их
конечным назначениям.
- Обеспечить необходимую защиту.
- Обеспечить правильное представление данных.
Чтобы Сервер прикладных программ мог принимать требования
распределенной базы данных, он должен быть определен для локального
Communications Manager и иметь уникальное RDB_NAME. Чтобы правильно
определить Сервер прикладных программ, нужно выполнить следующие
действия:
- Выбрать имя LU и RDB_NAME, которые будет использовать Сервер прикладных
программ DB2 for MVS/ESA. Для занесения этих имен в DB2 for MVS/ESA и
VTAM используется та же процедура, что описана в разделе Определение локальной системы. Выбранное для DB2 for MVS/ESA RDB_NAME надо сообщить
всем конечным пользователям и реквестерам прикладных программ, которые будут
соединяться с сервером.
- Зарегистрировать значение NETID.LUNAME для сервера прикладных
программ DB2 for MVS/ESA на каждом реквестере прикладных программ, которому
требуется доступ, чтобы он мог направлять требования SNA на сервер DB2 for
MVS/ESA. Это относится и к случаю, когда Реквестер прикладных программ
способен выполнять динамическую сетевую маршрутизацию, поскольку для такой
маршрутизации ему должно быть известно NETID.LUNAME.
- Задать для каждого реквестера прикладных программ TPN, принятое по
умолчанию в DRDA (X'07F6C4C2'), поскольку DB2 for MVS/ESA
автоматически использует это значение.
- Создать для каждого имени режима, которое может быть затребовано
реквестером прикладных программ, запись в таблице режимов. В этих
записях описываются размеры RU, размер окна синхронизации и класс обслуживания
для каждого имени режима.
- Задать предельное число сеансов для реквестеров прикладных программ,
устанавливающих соединения с сервером прикладных программ DB2 for
MVS/ESA. Предельное число сеансов по умолчанию для всех
систем-партнеров устанавливает оператор VTAM APPL. Если вы хотите
задать умолчания для определенного партнера, можно использовать таблицу
SYSIBM.SYSLUMODES базы данных связей (CDB).
Перенастройка сети VTAM описана в разделе Задание размеров RU и синхронизации связи.
- Создайте записи в CDB DB2 for MVS/ESA, чтобы указать, каким реквестерам
прикладных программ разрешается устанавливать соединения с сервером прикладных
программ DB2 for MVS/ESA. Используются два основных подхода к включению
в CDB записей для реквестеров прикладных программ в сети:
- Можно вставить в SYSIBM.SYSLUNAMES строку, задающую значения по
умолчанию для любого LU, которое не описано в CDB особо (в этой строке в
столбце LUNAME содержатся пробелы). При таком подходе вы можете задать
особые значения для некоторых LU в сети, задав для остальных LU значения по
умолчанию.
Например, вы можете разрешить системе DALLAS (другая система DB2 for
MVS/ESA) посылать "уже-проверенные" требования распределенной базы данных (LU
6.2 SECURITY=SAME), в то же время потребовав, чтобы системы менеджера
баз данных посылали пароль. Далее, вам, возможно, не захочется включать
в CDB записи для каждой системы менеджера баз данных, особенно, если таких
систем много. На Рис. 10 показано, как указать в CDB SECURITY=SAME для системы DALLAS
и SECURITY=PGM для всех остальных реквестеров.
Рис. 10. Задание значений по умолчанию для соединений реквестера прикладных программ
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS, MODESELECT, USERNAMES)
VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', ' ');
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS, MODESELECT, USERNAMES)
VALUES (' ', ' ', 'C', 'N', 'N', ' ');
|
- Права доступа для каждого реквестера прикладных программ в сети можете
задать в CDB одним из следующих способов:
- Не задавайте строку по умолчанию в SYSIBM.SYSLUNAMES. Если
строка по умолчанию (содержащая пустое имя LU) отсутствует, DB2 for MVS/ESA
требует, чтобы в SYSIBM.SYSLUNAMES была строка, содержащая имя LU для
каждого реквестера прикладных программ, который будет устанавливать
соединение. Если такая строка в CDB не найдена, Реквестер прикладных
программ не получит доступа к системе.
- Задайте в SYSIBM.SYSLUNAMES строку по умолчанию и укажите, что
требуется проверка отправителя (в столбце USERNAMES - 'I' или
'B'). Это вынудит DB2 for MVS/ESA ограничить доступ для
реквестеров прикладных программ и конечных пользователей, указанных в таблице
SYSIBM.SYSUSERNAMES, как описано в разделе Проверка отправителя. Такой подход можно использовать, если ваши правила
преобразования имен требуют наличия в SYSIBM.SYSLUNAMES строки с пустым
именем LU, но вы не хотите, чтобы DB2 for MVS/ESA предоставляла неограниченный
доступ ко всем серверам прикладных программ DB2 for MVS/ESA.
На Рис. 11 нет строки, содержащей пробелы в столбце LUNAME, поэтому DB2
for MVS/ESA отклоняет требования доступа для всех LU, кроме LUDALLAS и
LUNYC.
Рис. 11. Индивидуальное задание соединений реквестеров прикладных программ
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS, MODESELECT, USERNAMES)
VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', ' ');
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS, MODESELECT, USERNAMES)
VALUES ('LUNYC', ' ', 'A', 'N', 'N', ' ');
|
DB2 for MVS/ESA не реализует сервер баз данных, как определено в
DRDA. Вместо этого DB2 for MVS/ESA предоставляет вторичные серверы,
которые обеспечивают доступ к нескольким системам DB2 for MVS/ESA в одной
единице работы при помощи доступа, управляемого системой.
Язык SQL, который поддерживается при доступе, управляемом системой,
значительно отличается от удаленной единицы работы DRDA:
Когда сервер прикладных программ DB2 for MVS/ESA получает требование
SQL, он изучает имя объекта SQL для поиска этого объекта в сети. DB2
for MVS/ESA принимает либо одно-, либо двух-, либо трехчастные имена объектов
SQL, где имя имеет одну из следующих форм:
имя_объекта задает имя DB2 for MVS/ESA таблицы, производной
таблицы, синонима или алиаса.
id_авторизации.имя_объекта задает владельца объекта и
имя объекта.
положение.id_авторизации.имя_объекта задает
систему, в которой расположен объект, владельца объекта и имя объекта.
Если имя положения (первая часть трехчастного имени объекта) совпадает с
RDB_NAME локальной системы DB2 for MVS/ESA, запрос идентифицирует локальный
объект DB2 for MVS/ESA.
Если имя положения не совпадает с RDB_NAME локальной системы DB2 for
MVS/ESA, сервер прикладных программ DB2 for MVS/ESA направляет запрос в
систему, идентифицируемую именем положения, с использованием доступа,
управляемого системой. Система назначения должна быть другой системой
DB2 for MVS/ESA, поскольку такой доступ поддерживается только между системами
DB2 for MVS/ESA. Доступ, управляемый системой, не поддерживает функций
удаленного связывания, поэтому перед выполнением прикладной программы нет
необходимости связывать ее на сервере. На Рис. 12 показана схема процесса разрешения имен объектов SQL в DB2
for MVS/ESA.
Рис. 12. Разрешение имен объектов SQL DB2 for MVS/ESA
Если сервер прикладных программ DB2 for MVS/ESA собирается
переадресовывать удаленные запросы SQL, в CDB и VTAM необходимо определить
каждый из вторичных серверов. Большая часть этого процесса определения
аналогична процессу, описанному в Определение удаленных систем. Для соединения со вторичными серверами необходимо
следующее:
- Запишите в CDB и VTAM значения RDB_NAME и имени LU для каждого из
серверов. Значение TPN при доступе, управляемом системой, отличается от
используемого по умолчанию значения DRDA. Однако эта разница не имеет
особого значения, поскольку DB2 for MVS/ESA автоматически выбирает правильное
значение.
- Определите в SYSIBM.SYSLUNAMES требования к защите для каждого из
вторичных серверов. Этот процесс описан в разделе Обеспечение защиты.
- Определите имена режимов, используемых между сервером прикладных программ
DB2 for MVS/ESA и вторичными серверами, и занесите эти имена в таблицу режимов
VTAM. По умолчанию используется имя IBMDB2LM.
- Определите предельное число сеансов для каждого из вторичных
серверов. Для этого используется тот же процесс, что и описанный в
разделе Определение локальной системы. Однако системный доступ может устанавливать
несколько диалогов для каждой из прикладных программ SQL. Для
соединений доступа, управляемого системой, может потребоваться установить
большее значение предельного числа сеансов, чем устанавливается для соединений
DRDA.
Конкретные подробности расчета числа сеансов LU 6.2, необходимых для
прикладных программ доступа, управляемого системой, смотрите в разделе
"Connecting Distributed Database Systems" руководства DB2
Administration Guide.
В качестве владельца ресурсов базы данных вторичный сервер управляет
защитой базы данных для расположенных на этом сервере объектов SQL.
Однако он разделяет эту ответственность с сервером прикладных программ DB2 for
MVS/ESA, который посылает требование. Этот сервер управляет доступом к
объектам SQL так:
- У вторичного сервера нет копии плана DB2 for MVS/ESA, и поэтому проверка
того, разрешено ли конечному пользователю выполнять пакет в запрашивающей
системе (сервера прикладных программ) зависит от запрашивающего сервера
прикладных программ DB2 for MVS/ESA.
- Операторы статического SQL выполняются динамически на вторичном сервере с
использованием привилегий, предоставленных владельцу пакета DB2 for MVS/ESA на
запрашивающем сервере прикладных программ DB2 for MVS/ESA.
- Операторы динамического SQL выполняются с использованием привилегий,
предоставленных конечному пользователю на реквестере прикладных
программ.
Когда реквестер прикладных программ направляет требования распределенной
базы данных серверу прикладных программ DB2 for MVS/ESA, возникают следующие
вопросы, связанные с защитой:
- Проверка отправителя
- Выбор имен конечных пользователей
- Параметры защиты сети
- Защита менеджера баз данных
- Защита, инициированная внешней подсистемой защиты
Сервер прикладных программ DB2 for MVS/ESA при приеме от реквестера имен
конечных пользователей может ограничивать набор имен, принимаемых от данного
реквестера. Это достигается при помощи проверки
отправителя. Проверка отправителя позволяет серверу прикладных
программ указать, что данный ID пользователя может использоваться только
определенными партнерами. Например, для пользователя JONES сервер
прикладных программ может принимать только требования, "приходящие от"
реквестера DALLAS. Если другой реквестер прикладных программ (отличный
от DALLAS) пытается послать серверу прикладных программ имя JONES, этот сервер
прикладных программ может отвергнуть запрос, поскольку положение в сети,
откуда пришло это имя, не задано как допустимое.
DB2 for MVS/ESA реализует проверку отправителя как часть преобразования
имен конечных пользователей на входе, что описывается в следующем
разделе.
ID пользователя, передаваемый реквестером прикладных программ, может не
быть уникальным для всей сети SNA. Серверу прикладных программ DB2 for
MVS/ESA может понадобиться выполнять преобразование имен на входе, чтобы
создать уникальные для всей сети SNA имена конечных пользователей.
Серверу прикладных программ DB2 for MVS/ESA может также понадобиться выполнять
преобразование имен на выходе, чтобы передать вторичным серверам, связанным с
прикладной программой, уникальное имя конечного пользователя (смотрите в
разделе Обеспечение защиты сведения о преобразовании имен конечных пользователей на
выходе).
Преобразование имен на входе включается путем установки в столбце USERNAMES
таблицы SYSIBM.SYSLUNAMES значения 'I' (преобразование на
входе) или 'B' (преобразование на входе и на выходе). Когда
включено преобразование имен на входе, DB2 for MVS/ESA преобразует ID
пользователя, посылаемый реквестером прикладных программ, и имя владельца
плана DB2 for MVS/ESA (если Реквестер прикладных программ - другая система DB2
for MVS/ESA).
Если Реквестер прикладных программ посылает и ID пользователя, и пароль
командой APPC ALLOCATE, ID пользователя и пароль проверяются перед
преобразованием ID пользователя. Столбец PASSWORD из
SYSIBM.SYSUSERNAMES для проверки пароля не используется. Вместо
этого ID пользователя и пароль передаются для проверки внешней системе защиты
(RACF или эквивалентному продукту).
Когда проверяется входящий ID пользователя, посланный командой ALLOCATE,
DB2 for MVS/ESA позволяет использовать обработчики авторизации, при помощи
которых можно задать список вторичных AUTHID и выполнить дополнительные
проверки защиты. Подробности смотрите в руководстве DB2
Administration Guide.
При преобразовании имен на входе происходит поиск в таблице
SYSIBM.SYSUSERNAMES строки, которая должна отвечать одному из шаблонов,
показанных ниже (в том порядке, в котором происходит поиск)
(TYPE.AUTHID.LUNAME):
- I.AUTHID.LUNAME - Конкретный конечный пользователь и
конкретный реквестер прикладных программ
- I.AUTHID.пусто - Конкретный конечный пользователь и
любой реквестер прикладных программ
- I.пусто.LUNAME - Любой конечный пользователь и
конкретный реквестер прикладных программ
Если ни одной строки не найдено, удаленный доступ не
предоставляется. Если найдена строка, предоставляется удаленный доступ
и имя конечного пользователя заменяется на значение, указанное в столбце
NEWAUTHID; при пустом значении NEWAUTHID имя не меняется. При всех
проверках авторизации ресурсов DB2 for MVS/ESA, (например, привилегий таблицы
SQL), выполняемых DB2 for MVS/ESA, используются преобразованные, а не исходные
имена конечных пользователей.
Когда сервер прикладных программ DB2 for MVS/ESA получает имя пользователя
от реквестера прикладных программ, преобразование имен на входе позволяет
достичь нескольких целей:
- Можно изменить имя конечного пользователя, чтобы оно стало
уникальным. Например, следующие команды SQL преобразуют имя конечного
пользователя JONES от реквестера NEWYORK (LUNAME LUNYC) в другое имя
(NYJONES).
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS,
MODESELECT, USERNAMES)
VALUES ('LUNYC', ' ', 'A', 'N', 'N', 'I');
INSERT INTO SYSIBM.SYSUSERNAMES
(TYPE, AUTHID, LUNAME, NEWAUTHID, PASSWORD)
VALUES ('I', 'JONES', 'LUNYC', 'NYJONES', ' ');
- Можно изменить имя конечного пользователя, чтобы все конечные пользователи
из группы использовали одно имя. Например, можно обозначать любого
пользователя с реквестера NEWYORK (LUNAME LUNYC) именем NYUSER. Это
дает возможность предоставить имени NYUSER привилегии SQL и управлять доступом
SQL, предоставляемым пользователям из NEWYORK.
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS,
MODESELECT, USERNAMES)
VALUES ('LUNYC', ' ', 'A', 'N', 'N', 'I');
INSERT INTO SYSIBM.SYSUSERNAMES
(TYPE, AUTHID, LUNAME, NEWAUTHID, PASSWORD)
VALUES ('I', ' ', 'LUNYC', 'NYUSER', ' ');
- Можно ограничить набор имен конечных пользователей, передаваемых
определенным реквестером прикладных программ. Такое использование
преобразования имен конечных пользователей позволяет выполнить проверку
отправителя, описанную в разделе Проверка отправителя. Например, приведенные ниже команды SQL разрешают в
качестве имен конечных пользователей с реквестера NEWYORK использовать только
имена SMITH и JONES. Пользователю с любым другим именем будет отказано
в доступе, поскольку его нет в таблице SYSIBM.SYSUSERNAMES.
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS,
MODESELECT, USERNAMES)
VALUES ('LUNYC', ' ', 'A', 'N', 'N', 'I');
INSERT INTO SYSIBM.SYSUSERNAMES
(TYPE, AUTHID, LUNAME, NEWAUTHID, PASSWORD)
VALUES ('I', 'SMITH', 'LUNYC', ' ', ' ');
INSERT INTO SYSIBM.SYSUSERNAMES
(TYPE, AUTHID, LUNAME, NEWAUTHID, PASSWORD)
VALUES ('I', 'JONES', 'LUNYC', ' ', ' ');
- Можно ограничить набор реквестеров прикладных программ, которым разрешены
соединения с сервером прикладных программ DB2 for MVS/ESA. Это еще одна
из возможностей проверки отправителя. В приведенном ниже примере доступ
предоставляется всем именам пользователя, посланным реквестерами NEWYORK
(LUNYC) и CHICAGO (LUCHI). Другие реквестеры не получают доступа,
потому что в строке по умолчанию в SYSIBM.SYSLUNAMES задано
преобразование имен на входе для всех входящих требований.
INSERT INTO SYSIBM.SYSLUNAMES
(LUNAME, SYSMODENAME, USERSECURITY, ENCRYPTPSWDS,
MODESELECT, USERNAMES)
VALUES (' ', ' ', 'A', 'N', 'N', 'I');
INSERT INTO SYSIBM.SYSUSERNAMES
(TYPE, AUTHID, LUNAME, NEWAUTHID, PASSWORD)
VALUES ('I', ' ', 'LUNYC', ' ', ' ');
INSERT INTO SYSIBM.SYSUSERNAMES
(TYPE, AUTHID, LUNAME, NEWAUTHID, PASSWORD)
VALUES ('I', ' ', 'LUCHI', ' ', ' ');
LU 6.2 позволяет использовать три главных механизма сетевой
защиты:
- Защита уровня сеанса
- Защита уровня диалога
- Шифрование
В разделе Защита сети описано, как задать защиту уровня сеанса и шифрование для
DB2 for MVS/ESA. Сервер прикладных программ DB2 for MVS/ESA использует
защиту на уровне сеанса и шифрование точно так же, как Реквестер прикладных
программ DB2 for MVS/ESA.
Остается только рассмотреть защиту уровня диалога в сетях SNA.
Некоторые особенности защиты уровня диалога характерны только для сервера
прикладных программ DB2 for MVS/ESA. Сервер прикладных программ DB2 for
MVS/ESA играет две разных роли в сетевой защите:
- Выступая в качестве реквестера по отношению к вторичным серверам, Сервер
прикладных программ DB2 for MVS/ESA отвечает за отправку требований APPC,
содержащих параметры защиты уровня диалога, которые требуются вторичным
серверам. Сервер прикладных программ DB2 for MVS/ESA использует
значение из столбца USERNAMES таблицы SYSIBM.SYSLUNAMES и таблицы
SYSIBM.SYSUSERNAMES, чтобы определить требования защиты уровня диалога
для каждого вторичного сервера. Подробности этого процесса описаны в
разделе Защита сети.
- Как сервер для реквестера прикладных программ Сервер прикладных программ
DB2 for MVS/ESA предъявляет свои требования защиты уровня диалога SNA для
реквестера прикладных программ. DB2 for MVS/ESA использует значение из
столбца USERSECURITY таблицы SYSIBM.SYSLUNAMES, чтобы определить
требования защиты диалога, предъявляемые каждому реквестеру прикладных
программ в сети. В столбце USERSECURITY используются следующие
значения:
- C
- Означает, что DB2 for MVS/ESA требует от реквестера прикладных программ
отправки ID пользователя и пароля (SECURITY=PGM LU 6.2) в каждом
требовании распределенной базы данных. Если в столбце ENCRYPTPSWDS
таблицы SYSIBM.SYSLUNAMES - 'Y', DB2 for MVS/ESA предполагает,
что пароль уже в зашифрованном формате RACF (это возможно только для
реквестеров прикладных программ DB2 for MVS/ESA). Если в столбце
ENCRYPTPSWDS стоит не 'Y', DB2 for MVS/ESA ожидает пароль в
стандартном формате LU 6.2 (представление символов EBCDIC). В
каждом случае DB2 for MVS/ESA передает подсистеме защиты ID пользователя и
пароль для проверки. Необходимо иметь подсистему защиты, обеспечивающую
проверку идентификатора пользователя и пароля APPC; например, возможность
проверять идентификаторы пользователей и пароли APPC есть у RACF. Если
подсистема защиты отвергает пару ID пользователя - пароль, требование доступа
к распределенной базе данных отклоняется.
- Другое значение
- Означает, что реквестеру прикладных программ разрешается посылать либо
"уже-проверенные" ID пользователя (SECURITY=SAME LU 6.2), либо ID
пользователя и пароль (SECURITY=PGM LU 6.2). Если посланы ID
пользователя и пароль, DB2 for MVS/ESA обрабатывает их так же, как описано
выше для 'C'. Если в запросе содержится только идентификатор
пользователя, для идентификации пользователя вызывается подсистема защиты, за
исключением того случая, когда для управления входящими идентификаторами
пользователей используется таблица sysusernames.
Если обнаружено нарушение защиты, LU 6.2 требует, чтобы Сервер
прикладных программ DB2 Universal Database for OS/390 возвратил реквестеру
прикладных программ код ошибки защиты SNA ('080F6051'X).
Поскольку этот код ничего не говорит о причине неудачи, DB2 for MVS/ESA
предоставляет два способа определения причины нарушения защиты распределенной
базы данных:
- Генерируется сообщение DSNL030I, содержащее LUWID реквестера и код причины
DB2, которые описывают ошибку. DSNL030I также содержит AUTHID из
отвергнутого требования прикладной программы, если он известен.
- В базу данных монитора оборудования NETVIEW заносится оповещение,
содержащее ту же информацию, что и сообщение DSNL030I.
В качестве владельца ресурсов базы данных Сервер прикладных программ DB2
for MVS/ESA управляет функциями защиты баз данных для объектов SQL,
расположенных на этом сервере. Доступ к объектам, управляемым DB2 for
MVS/ESA, регулируется привилегиями, которые предоставляют пользователям
администратор DB2 for MVS/ESA или владельцы отдельных объектов. Сервер
прикладных программ DB2 for MVS/ESA управляет двумя основными классами
объектов:
Когда создается пакет, с помощью опции DISABLE/ENABLE можно
регулировать типы соединений, для которых можно запускать пакет. Чтобы
выборочно разрешить конечным пользователям использовать DDF, можно
использовать RACF и обработчики защиты DB2 for MVS/ESA.
RLF можно использовать для задания ограничений на процессорное
время для удаленных связываний и выполнений динамического SQL.
Рассмотрим пакет DB2 for MVS/ESA под названием MYPKG, которым
владеет JOE. JOE может разрешить SAL выполнять пакет при помощи
оператора DB2 for MVS/ESA GRANT USE. Когда SAL выполняет
пакет, происходит следующее:
- DB2 for MVS/ESA проверяет, предоставлено ли SAL право USE для данного
пакета.
- SAL может вызвать любой статический оператор SQL из пакета, так как JOE
имеет требуемые привилегии для объектов SQL, чтобы создать пакет.
- Если в пакете есть динамические операторы SQL, у SAL должны быть
собственные привилегии для таблиц SQL. Например, SAL не может вызвать
SELECT * FROM JOE.TABLE5, если ей не предоставлен доступ для
чтения к JOE.TABLE5.
Использование сервером прикладных программ DB2 for MVS/ESA подсистемы
защиты (RACF или эквивалентного ему продукта) зависит от того, как определена
функция преобразования имен на входе в таблице SYSIBM.SYSLUNAMES:
- Если в столбце USERNAMES указано 'I' или 'B',
преобразование имен на входе активно и DB2 for MVS/ESA предполагает, что
администратор DB2 for MVS/ESA использует входное преобразование имен, чтобы
выполнить часть требований защиты системы. Внешняя подсистема защиты
вызывается, только если Реквестер прикладных программ посылает требование,
содержащее и ID пользователя, и пароль (SECURITY=PGM). Необходимо иметь
подсистему защиты, обеспечивающую проверку идентификатора пользователя и
пароля APPC; например, возможность проверять идентификаторы пользователей
и пароли APPC есть у RACF.
Если требование от реквестера прикладных программ содержит только ID
пользователя (SECURITY=SAME), внешняя система вообще не вызывается, потому что
правила преобразования имен на входе определяют, каким пользователям разрешены
соединения с сервером прикладных программ DB2 for MVS/ESA.
- Если в столбце USERNAMES указано значение, отличное от
'I' или 'B', подсистема защиты выполняет следующие
проверки:
- Когда от реквестера прикладных программ получено требование распределенной
базы данных, DB2 for MVS/ESA вызывает внешнюю систему защиты, чтобы проверить
ID конечного пользователя (и пароль, если он присутствует).
- Внешняя система защиты вызывается, чтобы проверить, имеет ли конечный
пользователь право устанавливать соединения с подсистемой DB2 for
MVS/ESA.
- В каждом случае вызывается обработчик авторизации, который использует
список вторичных ID авторизации. Дополнительную информацию смотрите в
руководстве DB2 Administration Guide.
Необходимо, чтобы подсистема DB2 for MVS/ESA могла выполнять
преобразование из CCSID каждого реквестера прикладных программ в CCSID,
выбранный при установке подсистемы DB2 for MVS/ESA. Дополнительную
информацию смотрите в разделе Представление данных.
[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]