27_SH43-0144-00 (1038594), страница 55
Текст из файла (страница 55)
Дополнительнуюинформацию смотрите в разделе “Опции сервера”.Создать отображение пользователей нужно, если задан тип аутентификацииDCE и источник данных требует проведения аутентификации (ожидая пароля).DB2 передает источникам данных только ID пользователя DCE. Пароль нужноотобразить в этот ID пользователя и затем послать на источник данных.Опции сервераОпции сервера могут обеспечить общую поддержку аутентификации. С ихпомощью можно указать, будут ли пароли передаваться источникам данных (втипичном случае - да) и должны ли ID пользователей и пароли переводиться вверхний регистр или в нижний регистр. Опции сервера задаются с помощьюоператоров CREATE SERVER, ALTER SERVER и SET SERVER OPTION.Оставшаяся часть этого раздела посвящена опциям сервера для конкретныхпроцессов аутентификации.
Более полный список опций сервера приведен вразделе “Использование опций сервера для определения характеристикисточников данных и настройки процесса аутентификации” на стр. 158.Опция сервера password: Значение password по умолчанию - ’Y’ (паролипосылаются источникам данных). Оставьте или задайте значение ’Y’ во всехслучаях, когда источник данных должен выполнить аутентификацию и неожидает зашифрованного пароля.DB2 может передавать зашифрованные пароли.
Задайте для опции сервераpassword значение ’ENCRYPTION’, если пароли должны посылаться источникамданных семейства DB2 в зашифрованном виде. Рекомендуется задать password’ENCRYPTION’, если задан тип аутентификации DB2 DCS_ENCRYPT илиSERVER_ENCRYPT.ID пользователя всегда посылается источникам данных.Опции преобразования ID и пароля: Имена и пароли авторизации в некоторыхслучаях нужно изменять. Разные источники данных могут иметь разныетребования к имени авторизации и паролю (в части использования верхнего инижнего регистров в ID и паролях).246Руководство администратора: РеализацияВ DB2 есть две опции сервера, помогающие преодолеть различия в системахименования. Эти опции называются fold_id и fold_pw; для них возможныследующие значения:’U’DB2 преобразует имя авторизации и пароль в верхний регистр, преждечем посылать их источнику данных.’N’DB2 не преобразует имя авторизации и пароль.’L’DB2 преобразует имя авторизации и пароль в нижний регистр, преждечем посылать их источнику данных.nullDB2 сначала посылает имя авторизации и пароль в верхнем регистре;если возникает ошибка, DB2 преобразует их в нижний регистр ипосылает снова.Пустое значение может показаться привлекательным, поскольку охватываетмного возможностей.
Однако по соображениям производительности лучшезадать эти опции так, чтобы соединения устанавливались с одной попытки. Еслиобе опции fold_id и fold_pw заданы пустыми, DB2 может предпринять дочетырех попыток послать имя авторизации и пароль:1. И имя авторизации, и пароль в верхнем регистре.2. Имя авторизации в верхнем регистре, а пароль в нижнем.3. Имя авторизации в нижнем регистре, а пароль в верхнем регистре.4.
И имя авторизации, и пароль в нижнем регистре.Параметры защиты APPCЕсли вы соединяетесь с источником данных DRDA через APPC (для чеготребуется ID пользователя и пароль), или если задан тип аутентификации DCS иаутентификация происходит на источнике данных DRDA, убедитесь, что длясвязи между DB2 и этим источником данных параметр защиты APPC имеетзначение PROGRAM.Пример аутентификации базы данных объединенияВ этом разделе дается обзор аутентификации системы объединения и шагиавторизации. Обзор процесса аутентификации и авторизации базы данныхобъединения смотрите на рис. 3 на стр.
248.Глава 5. Управление доступом к базам данных247Рисунок 3. Процесс аутентификации и авторизации базы данных объединенияЗадача следующего сценария - разрешить пользователю DJINSTL выполнитьоперацию UNION над двумя псевдонимами NN1 и NN2. Псевдонимы относятсяк двум таблицам. Один источник данных - система DB2 для OS/390, где уDJINSTL есть другой ID пользователя и пароль (смотрите рис.
3) с именемMVS1. Для доступа к информации MVS1 потребуется отображениепользователей. Другой источник данных - система DB2, где ID DJINSTL ипароль те же самые. Этот источник данных, DB21, требует только, чтобы IDпользователя и пароль посылались в верхнем регистре.Задан тип аутентификации DB2 SERVER. DJINSTL будет обращаться к DB2 изклиента Windows NT через соединение TCP/IP. Связь DB2 с DB2 для OS/390 тоже TCP/IP.
Имя базы данных объединения - DJDB1.Вначале убедитесь, что DB2 ожидает пароль и что пароль посылается.Убедитесь также, что типы аутентификации клиента и сервера совпадают. Дляпроверки типа аутентификации сервера DB2 введите командуGET DATABASE MANAGERCONFIGURATIONна сервере DB2. Для проверки типа аутентификации клиента введите команду248Руководство администратора: РеализацияLIST DATABASE DIRECTORYна клиенте.
В обоих случаях убедитесь, что тип аутентификации - SERVER. Еслипараметр клиента - DCS или CLIENT, его можно изменить с помощью командUNCATALOG DATABASE и CATALOG DATABASE.Далее убедитесь, что пароли будут посылаться источникам данных. Послесоединения с объединенной базой данных DJDB1 введите команды:ALTER SERVER MVS1 OPTIONS (SET password 'Y')ALTER SERVER DB21 OPTIONS (SET password 'Y')Затем убедитесь, что пароли посланы источнику данных DB21 всоответствующем регистре:ALTER SERVER DB21 OPTIONS (ADD fold_id 'U')ALTER SERVER DB21 OPTIONS (ADD fold_pw 'U')На следующем шаге присвойте привилегии, позволяющие пользователюDJINSTL связаться с объединенной базой данных DJDB1 и заданнымипсевдонимами:GRANT CONNECT ON DATABASE DJDB1 TO DJINSTL;Теперь отобразите ID и пароль DB2 DJINSTL в корректные ID и пароль длясервера MVS1:CREATE USER MAPPING FOR "DJINSTL" SERVER MVS1 OPTIONS (REMOTE_AUTHID "SHAWN",REMOTE_PASSWORD "MVS4YOU")Теперь ID пользователя DB2 DJINSTL может посылать запросы на источникиданных.
Для доступа к объектам источников данных по псевдонимам могутпотребоваться дополнительные действия (обычно для обращения к таблицам ипроизводным таблицам по псевдонимам требуются привилегии).Привилегии, полномочия и авторизацияПривилегии позволяют пользователям создавать ресурсы баз данных иобращаться к ним. Уровни полномочий позволяют группировать привилегииработы высокого уровня с менеджером баз данных и операций с утилитами. Всеэто вместе позволяет управлять доступом к менеджеру баз данных и егообъектам баз данных. Пользователи могут обращаться только к тем объектам,для которых у них есть соответствующая авторизация, то есть нужныепривилегии или полномочия.Существуют следующие полномочия:v “Полномочия управления системой (SYSADM)” на стр.
251v “Полномочия управления базой данных (DBADM)” на стр. 254v “Полномочия управления системой (SYSCTRL)” на стр. 252Глава 5. Управление доступом к базам данных249v “Полномочия обслуживания системы (SYSMAINT)” на стр. 253.Существуют следующие типы привилегий:vvvvvvv|“Привилегии базы данных” на стр. 255“Привилегии схем” на стр. 257“Привилегии табличных пространств” на стр. 258“Привилегии таблиц и производных таблиц” на стр.
259“Привилегии псевдонимов” на стр. 261“Привилегии сервера” на стр. 262“Привилегии пакетов” на стр. 263v “Привилегии индексов” на стр. 264.На рис. 4 показана связь между полномочиями и их областью действия (базаданных, менеджер баз данных).Рисунок 4. Иерархия полномочийУ пользователя или группы могут быть один или несколько из числа следующихуровней авторизации:v Полномочия управления (SYSADM и DBADM) дают полные наборыпривилегии для набора объектов.250Руководство администратора: Реализация||v Системные полномочия (SYSCTRL и SYSMAINT) дают полные наборыпривилегии для управления системой, но не позволяют обращаться к данным.v Полномочия LOAD (загрузка) дают привилегии использования утилитыLOAD и утилиты AutoLoader, чтобы загружать данные в таблицы.v Привилегия владельца (в некоторых случаях называемая также привилегиейCONTROL) дает полные привилегии для конкретного объекта.v Отдельные привилегии можно предоставлять, чтобы разрешитьпользователю выполнять конкретные операции на конкретных объектах.v Неявные привилегии могут предоставляться пользователю с привилегиейвыполнения пакета.
Пока пользователи могут выполнять прикладнуюпрограмму, им не обязательно требуются явные привилегии для объектовданных, используемых в пакете. Дополнительную информацию смотрите вразделе “Предоставление косвенных привилегий посредством пакета” настр. 268.Пользователи с полномочиями управления (SYSADM и DBADM) ипривилегиями владельца (CONTROL) могут предоставлять привилегии другимпользователям и отзывать их с помощью операторов GRANT и REVOKEсоответственно. (Смотрите раздел “Управление доступом к объектам базданных” на стр. 264.) Можно также предоставить другому пользователюпривилегию для таблицы, производной таблицы или схемы, если это привилегияс опцией WITH GRANT OPTION.