|
Программирование >> Реализация баз данных
серверную роль членом фиксированной роли на уровне БД db Owner. Членами любой предопределенной роли (фиксированной роли на. ч сервера и на уровне базы данных) быть как группы, так и отдельные пользователи. Членами фиксированных ролей на уровне БД также могут быть стандартные роли, определяемые пользователем. В свою очередь, разрешено стандартным пользовательским ролям содержать другие роли, группы и пользователей в качестве членов. Нельзя создать циклическое ство ролей. Например, если рол 1еО! является членом роли Role02, то роль Role02 и-, может быть членом роли RoleOl. Прикладные роли не могут быть членами других ролей, для них такж шены собственные члены. Создание и удаление ролей В БД разрешается создавать и стандартные роли. отличие от них предопределенные фиксированные роли на уровне базы данных или сервера удалять нельзя. Чтобы добавить роль с помошью Enterprise Manager, раскройте узел Roles, расположенный под узлом базы данных в консоли, щелкните правой кнопкой панели затем щелкните New Database Role. Появляется диалоговое окно Database Role Properties - New Role, в котором следует назвать новую роль и выбрать ее тип или приклад- ная). Если выбран тип standard (стандартная роль), то во время создания роли разрешается добавить к ней членов. Если выбран тип application (прикладная роль), можно определить для нее пароль. Чтобы удалить роль, выберите ее на панели и нажмите клавишу DELETE. Средствами системной хранимой процедуры spaddrole можно добавить роль в БД с использованием Query Analyzer или инструмента командной строки сии:! osq]. Входные параметры этой хранимой процедуры позволяют задавать имя роли и (необязательно) ее владельца. Если не задать роли, то роли по умолчанию ста- новится ее создатель даюший пример вляет к БД Pubs роль RoleOl: USE pubs EXEC jpjddroLe irolename - roleOr Стандартные пользовательские i и удаляются с помощью системной хранимой про-Вот как удалить роль RoleOl: USE pubs EXEC spjroprole rolename = roleOr Чтобы добавить прикладную роль к БД шью Query Analyzer или утилиты командной строка ql, используется системная хранимая процедура spaddapprole. Как и в про-первым входным параметром здесь является @rolename. Но второй входной параметр процедур drole отличается; это - word. Имя и пароль прикладной роли используются для ее активации, о чем рассказано в следующем разделе. Для удаления прикладной роли использу<;тся процедура spdropapprole. Вот как добавить к БД Pubs прикладную роль а затем удалить созданную роль; USE pubs EXEC sp addapprole ©rolename - EppRoleOr, ©password = passwordOl EXEC sp (JrupaDprolB rolename = apploleOV Управление членством в ролях Стандартные роли располагаются в Enterprise Manager в двух узлах. Роли на уровне БД содержатся в узле Roles, вложенном и узел БД; серверные роли содержатся в узле Server Roles, расположенном под узлом Security. Чтобы добавить нового члена стандарт- Занятие изация и администрирование безопасности 403 ной роли в правой кнопкой нужную роль на панели details, затем щелкните Properties. В случае серверной роли выводится диалоговое окно Server Role Properties, а в случае роли на уровне БД - диалоговое окно Database К Properties, Диалоговое окно Server Role Properties позволяет управлять членством в ролях и просматривать разрешения ролей. Диалоговое окно Database Role Properties также позволяет управлять членством в ролях и устанавливать разрешения для пользовательских ролей. Модифицировать разрешения для серверных ролей невозможно. Системная хранимая addrolemember используется для добавления членов к стандартным ролям или фиксированным ролям на уровне БД. служит для добавления учетных записей к ным ролям на уровне сервера. Входными параметрами процедуры ются (дго1ел1мло и ©membername, а для процедуры sp addsrvrolemcmber - ©loginame и (8>то\епате. Следующая программа-пример добавляет к стандартной пользовательской роли роль группу Users и пользователя USE pubs EXEC spadbrolemember prolename - roleOr, ШзтЬегпте = roleOS EXEC spaddrolemember @rolename = roleOr, membername = BUlLTIN\power users EXE ber @rolename = eOV , membername = userQV Для входного параметра ername необходимо указать твуюшее имя. Например, если в БД псевдонимом группы Power Users является то значение пара-метр еглате weni, Чтоб аиия добавления новых членов завершилась успешно, для любого пользователя ил ггы. которые будут приписаны к роли, следует определить соответствие для БД. Ограничения членства в роли определяют, кого можно добавить с помощью процедуры sp addrolemembcr. Например, при попытке добавления к пользовательской роли пре-роли, скажем, операция завершится неудачей, как показа- но юше.м примере: USE pubs IEXEC spaddrolenieriiber varolename = roleOI, fiTnedibernaffle = db clatawrlter SQL Server выводит следующее сообщение об ошибке: Server: : 15405, Level 11, State 1, Procedure spaddrolemember. Line 74 Cannot use thie reserved user or role name db datawriter. Для удаления членов роли используется системная хранимая процедура Вот как удалить пользователя UserOl из роли USE pubs EXEC sp droproleireniber @)rolerianie = roleOI, gmembernape = userOI Примечание В Enterprise Manager имеется мастер Create in который позволяет добавлять учетные имена системы безопасности (для аутентификации), назначать членство в предопределенных фиксированных ролях на уровне сервера и проводить авторизацию к БД. Однако этот мастер не может назначить членство в фиксированной роли на уровне БД. 4Q4 Система №зопасности SQL Server 2000 Г/шеа 13 Аивация прикладной роли Пользователь, прошедший SQL Server, может использовать созданную в БД прикладную роль, ее. Действующие права роли определяют- ся контекстом безопасности подключс1,и>.о пользователя. При активации прикладной роли пользовательские становятся недействительными до конца сеанса. Для активации прикладной роли служит процедура pprole. Вот как эт едуру использовать для активации роли путем передачи пароля кладная роль локализована в БД Pubs: USE pubs . .... . SDsetapproie app1. secretpass ...... Упражнение 2. PeaлизaLiия системы безопасности для БД BookShopDB В этом упражнении оите шью Query Analyzer систему безопасности на основе плана, при выполнении упражнения В качестве первого задания вы создадите и настроите пользовательские учетные записи и группу Windows, которые вместе с идентификаторами (.n Server позднее будут использованы для реализации безопасности. ► Создание учетн! сей Windows для группы и отдельн1х пользователей I Зарегистрируйтесь в качестве администратора на компьютере I .Л Я \. 2. Откройте окно командной строки, 3. Наберите в командной строке следующие команды, завершая i;.:;: каждой строки нажатием клавиши ENTER: net use gerOl /add net user manager02 /add net user staffOl /add net user staff02 /add net user staff0: /add Выводится сообщение об успешном завершении каждой команды. На локальном компьютере создаются пользовательские записи Windows и 4. Закройте окно командной строки 5. Средствами консоли Computer Management добавьте группу Managers и включите в нее пользователей ManagerOl и Manager()2. В предыдущем примере команда NET не использовалась, посколь- ку она работает лишь на контроллерах домена. * Настройка фнчапии группы 1, Откройте Query Analyzer и подключитесь к локальному серверу. 2. На панели Editor в окне Query введите и исполните следующий код: USE bQOkstiopdb EXEC sp 9rantlogin g>loginanie = BUILTINXusers .- EXEC sp grantlogln isloginame - LAB1\managers К SQL Server добавляются тьнзн группа Users на компьютера В!. Таким образом, члены этих двух групп получают возможность подключения к SQL Server.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |