27_SH43-0144-00 (1038594), страница 53
Текст из файла (страница 53)
Управление доступом к базам данных237поддержки UDB DB2 и узнайте, сможет ли реализация службзащиты DCE, созданная этим производителем, работать с UDBDB2.Как настроить пользователя DB2 для DCEПрежде чем начать работу с DB2, пользователи должны быть зарегистрированыв реестре DCE с правильными атрибутами. Информацию о том, как создатьпринципал DCE, смотрите в документации DCE для соответствующейплатформы.У каждого пользователя DB2, который собирается использовать сервераутентификации DCE, должен быть принципал DCE и учетная запись,определенная в реестре DCE, с установленным флагом клиента.
У этогопринципала также должна быть запись в разделе расширенных атрибутовреестра (ERA), показывающая, какое имя авторизации будет использоваться дляэтого принципала, когда он соединяется с определенным серверомаутентификации DCE.Возможно, вы также захотите, чтобы принципалы пользователей были членамигрупп, чтобы использовать привилегии групп в базе данных. Аналогичнаяинформация ERA группы отображает имя группы в имя авторизации DB2. Этоимя авторизации - имя вторичной авторизации, но для него действуют те жеограничения.
Дополнительную информацию о том, как создавать группы идобавлять члены, смотрите в вашей документации по DCE.Информация в ERA отображает принципал DCE пользователя или имя группы вимя авторизации DB2 для конкретного имени принципала DCE сервера. Чтобыиспользовать ERA, нужно определить схему ERA, указывающую форматданного атрибута. Это необходимо сделать для каждой ячейки DCE, для чегонадо выполнить следующие действия:1.
Зарегистрируйтесь в DCE как допустимый администратор DCE2. Вызовите dcecp и введите в приглашении:>>>>>>xattrschema create /.:/sec/xattrschema/db2map \-aclmgr {{principal r m r m } {group r m r m }} \-annotation {Schema entry for DB2 database access} \-encoding stringarray \-multivalued no \-uuid 1cbe84ca-9df3-11cf-84cd-02608c2cd17bПри этом будет создан расширенный атрибут реестра db2map.Чтобы просмотреть это отображение, введите следующую команду вприглашении dcecp:> xattrschema show /.:/sec/xattrschema/db2map238Руководство администратора: РеализацияВы увидите:{axlmgr{{principal {{query r} {update m} {test r} {delete m}}}{group{{query r} {update m} {test r} {delete m}}}}}{annotation {Schema entry for DB2 database access}}{applydefs no}{intercell rejects}{multivalued no}{reserved no}{scope {}}{trigbind {}}{trigtype none}{unique no}{uuid 1cbe84ca-9df3-11cf-84cd-02608c2cd17b}Примечание: Ограничения на содержание имени авторизации, записанное вERA, не поддерживаются DCE.
Если принципал DCE или группаполучит недопустимое имя авторизации, попытка DB2 провестиаутентификацию этого пользователя приведет к ошибке. (Незабудьте, что аутентификация может происходить при операцияхCONNECT, ATTACH, DB2START и любых других операциях,требующих аутентификации.) Также настоятельно рекомендуетсяубедиться, что назначение имен авторизации принципалам DCEявляется взаимно-однозначным. DCE не проверяет соблюденияэтого условия.Если клиент DB2 должен обращаться к серверу UDB DB2, когда оба уже будутзарегистрированы как принципалы DCE, информация ERA должна бытьдополнена, чтобы отобразить имя принципала в имя авторизации. Этонеобходимо сделать для каждого пользователя или каждой группы, для чегонадо выполнить следующие действия:v Зарегистрируйтесь в DCE как допустимый администратор DCEv Вызовите dcecp и в ответ на приглашение введите:> principal modify имя_принципала \> -add {db2map отображение_1 отображение_2...отображение_n}где отображение_n имеет следующий вид:принципал_сервера_DCE,id_авт_DB2где принципал_сервера_DCE - допустимое имя принципала DCE для сервераUDB DB2 (или символ подстановки *, который указывает, что этоотображение применимо для всякого сервера DB2, еще не заданного в другойзаписи отображение_n), а id_авт_DB2 - допустимое имя авторизации DB2.Если группа DCE должна использоваться как принципал DCE, она должнаотображаться в ID авторизации DB2 с нужными полномочиями, например,SYSADM или SYSCTRL.Глава 5.
Управление доступом к базам данных239Обратите внимание на то, что идентификатор авторизации (authid), заданныйв схеме DCE, используемой для отображения имени принципала DCE в IDавторизации DB2, должен задаваться только в верхнем регистре. Символынижнего регистра в ID авторизации приведут к ошибке.Как настроить сервер DB2 для DCEПрежде чем начать работу с DB2, надо зарегистрировать серверы в реестрераспределенной вычислительной среды (DCE) как принципалы с правильнымиатрибутами. Информацию о том, как создать принципал сервера DCE, смотритев документации по DCE для соответствующей платформы.Программа клиента защиты DCE времени выполнения должна бытьустановлена и доступна для экземпляра сервера.Каждый сервер DB2, который хочет использовать DCE как механизмаутентификации, должен зарегистрироваться с помощью DCE во время запускаDB2START.
Чтобы не делать это вручную, DCE поддерживает метод, прикотором сервер хранит собственную информацию ID пользователя и пароля(ключ) в специальном файле, называемом файлом keytab. При выполненииDB2START DB2 читает файл конфигурации менеджера баз данных и узнает типаутентификации экземпляра. Если тип аутентификации - DCE, сервер DB2вызывает DCE для получения информации из файла keytab. Эта информацияиспользуется для регистрации сервера на DCE. Такая регистрация позволяетсерверу принимать от клиентов DCE маркеры DCE и использовать их дляаутентификации этих пользователей.Администратор экземпляра должен создать файл keytab для экземпляра спомощью команд DCE.
Подробная информация о том, как создать файл keytab,содержится в документации по DCE для вашей платформы. Посмотрите в этомдокументе подробности, связанные с файлом keytab и командами dcecp keytabили rgy_edit. Файл keytab DB2 должен называться keytab.db2 и располагаться вподкаталоге security каталога sqllib этого экземпляра. (Для систем на базеIntel файл должен находиться в подкаталоге security подкаталога INSTANCENAMEкаталога sqllib. INSTANCENAME - имя экземпляра базы данных, с которым выработаете.) Он должен содержать только одну запись для принципала серверазаданного экземпляра; нарушение приведет к ошибке во время выполненияDB2START. На платформах с операционной системой UNIX этот файл долженбыть защищен разрешениями файла, допускающими чтение/запись тольковладельцем экземпляра.Ниже приведен пример создания файла keytab:v Зарегистрироваться в DCE как допустимый пользователь DCEv Вызвать rgy_edit и ввести в ответ на приглашение:> ktadd -p имя_принципала -pw пароль_принципала \> -f keytab.db2240Руководство администратора: РеализацияЧтобы запустить DB2 с аутентификацией DCE, после завершения настройкиDCE нужно сообщить DB2 об использовании аутентификации DCE, изменив вфайле конфигурации менеджера баз данных тип аутентификации на “DCE”.
Дляэтого в командной строке введите команду:db2 update database manager configuration using authentication DCEгруппа_sysadm имя_группы_DCEЗатем выполните dce_login для допустимого пользователя DCE DB2 сполномочиями SYSADM и запустите DB2START.Примечание: Прежде чем запускать DB2 с аутентификацией DCE, убедитесь, чтовы определили использование принципала пользователя DCE вкачестве SYSADM экземпляра, то есть у вас есть допустимый IDпользователя DCE, который сможет запускать, останавливатьэкземпляр и управлять им.
Как это сделать, смотрите в разделе“Как настроить пользователя DB2 для DCE” на стр. 238.Помимо этих указаний, убедитесь, что созданный принципалявляется членом группы системных администраторов экземпляра.По умолчанию имя этой группы для аутентификации DCE DB2ADMIN, если ни одной группы не задано явно (то есть группасистемных администраторов пуста), но его можно до изменениятипа аутентификации экземпляра поменять на имя группы (имяавторизации) по вашему выбору. Выбранная вами группа DCEдолжна иметь заданную ERA, которая отображает ее в заданноеимя авторизации группы системных администраторов.Одна из функций сервера администратора DB2 - запускэкземпляров DB2. Если применяется аутентификация, принципалDCE, используемый в файле keytab DB2 экземпляра, долженотображаться в допустимый ID аутентификации DB2.
Этонеобходимо, чтобы сервер администрации DB2 запускалэкземпляр DB2. Такое отображение позволяет ID работать какклиентом, так и сервером.Как настроить экземпляр клиента DB2 для DCEУстановить использование аутентификации DCE экземпляру рядового клиентадля локальных операций можно, изменив файл конфигурации менеджера базданных и задав тип аутентификации DCE. Для экземпляра рядового клиентафайл keytab не требуется, поскольку нет сервера, которому нужнорегистрироваться на DCE. В общем случае не рекомендуется (и не требуется),чтобы экземпляр DB2 рядового клиента использовал аутентификацию DCE,хотя это и поддерживается.Клиенту, который должен обращаться к удаленной базе данных с помощьюсистемы защиты DCE, требуется доступ к соответствующему продукту системыГлава 5.
Управление доступом к базам данных241защиты DCE. При желании клиент может зарегистрировать тип аутентификациидля базы данных назначения в каталоге баз данных. Если клиент задает типаутентификации DCE, необходимо также задать полный путь и имя главногосервера DCE. Если в каталоге не указана аутентификация DCE, информация обаутентификации и принципале поступает от сервера во время выполненияоперации CONNECT.Ограничения DB2 при использовании системы защиты DCEИспользование аутентификации DCE накладывает ограничения на некоторыефункции SQL, обеспечиваемые DB2 и связанные с поддержкой группы.Существуют следующие ограничения при использовании аутентификации DCE:1. При использовании операторов GRANT и REVOKE обязательны ключевыеслова USER и GROUP, задающие имя авторизации; их отсутствие приводит кошибке.2.
При использовании условия AUTHORIZATION в операторе CREATESCHEMA членство в группе заданного имени авторизации не будетучитываться при оценке авторизации, требуемой для выполненияоператоров, следующих за этим условием. Это может привести к ошибкеавторизации при выполнении оператора CREATE SCHEMA.3. При повторном связывании пакета пользователем, отличным отпервоначального связывателя пакета, привилегии первоначальногосвязывателя проверяются еще раз. В этом случае членство в группепервоначального связывателя не учитывается при повторной проверкепривилегий.