КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Connect
REVOKE GRANT Описание аргументов DROP ROLE Описание аргументов CREATE ROLE Команды SQL для реализации разграничения доступа Основные положения ЛАБОРАТОРНАЯ РАБОТА N2 Контрольные вопросы.
“Разграничение доступа к ИС.” 1 Цель работы:
Исследовать способы ограничения доступа пользователей к информации в СУБД Interbase. Создает роль. Синтаксис: CREATE ROLE rolename; Описание: Ролям, созданным с помощью CREATE ROLE могут назначаться привилегии (права на данные). Роли могут быть назначены пользователям, после чего пользователь имеет тот же список прав, что и роль. Роль пользователя указывается при соединении. Оператор GRANT используется для назначения привилегий (ALL, SELECT, INSERT, UPDATE, DELETE, EXECUTE, REFERENCES) роли и для назначения роли пользователю. Оператор REVOKE отменяет действие оператора GRANT. Пример: следующий оператор создает роль с именем “administrator” CREATE ROLE administrator; rolename Имя роли; должно быть уникальным среди других имен ролей в БД. Удаляет роль из БД. Синтаксис DROP ROLE rolename; Описание: Оператор DROP ROLE удаляет роль созданную оператором CREATE ROLE. Все привилегии, назначенные роли теряются. Роль может быть удалена создателем роли, пользователем SYSDBA, или пользователем с правами root.
rolename Имя существующей роли
Пример: следующий оператор удаляет роль: DROP ROLE administrator; Дает пользователю права на указанные объекты БД. Синтаксис: GRANT < privileges> ON [TABLE] { tablename | viewname} TO { <object> | <userlist> | GROUP UNIX_group} | EXECUTE ON PROCEDURE procname TO { <object> | <userlist>} | < role_granted> TO {PUBLIC | < role_grantee_list>}; < privileges> = {ALL [PRIVILEGES] | < privilege_list>} <privilege_list> = SELECT | DELETE | INSERT | UPDATE [(col [, col …])] | REFERENCES [(col [, col …])] [, < privilege_list> …] <object> = PROCEDURE procname | TRIGGER trigname | VIEW viewname | PUBLIC [, <object> …] <userlist> = [USER] username | rolename | Unix_user} [, <userlist> …] [WITH GRANT OPTION] < role_granted> = rolename [, rolename …] <role_grantee_list> = [USER] username [, [USER] username …] [WITH ADMIN OPTION]
Описание аргументов
Описание: GRANT назначает привилегии и роли на объекты БД пользователям, ролям, или другим объектам БД. После создания объекта БД право на него имеет только его создатель, и только создатель объекта может дать право на объект другим пользователям. Таблица содержит все возможные привилегии:
Чтобы осуществлять доступ к таблице или представлению, необходимо иметь право на операции SELECT, INSERT, UPDATE, DELETE, или REFERENCES для данной таблицы. Права SELECT, INSERT, UPDATE, DELETE, и REFERENCES могут быть назначены с помощью единственного описателя ALL. Пользователь или объект БД должен иметь право EXECUTE для вызова хранимой процедуры из приложения. Для того, чтобы назначить права группе пользователей, создайте роль с помощью оператора CREATE ROLE. Затем используйте оператор GRANT privilege TO rolename для назначения желаемых прав роли. Используйте GRANT rolename TO user для назначения роли пользователю. Право на роль может назначаться пользователю с помощью оператора GRANT, лишить пользователя права на роль можно с помощью оператора REVOKE. Для того, чтобы воспользоваться привилегиями роли, пользователь должен указать роль во время подключения к БД. Для того, чтобы разрешить другому пользователю ссылаться на поля таблицы с помощью механизма внешних ключей, необходимо дать владельцу ссылающейся таблицы право REFERENCES на всю таблицу, или только на столбцы составляющие первичный ключ. Также необходимо давать право REFERENCES или SELECT на первичный ключ таблицы любому пользователю, осуществляющему запись в таблицу, содержащую внешний ключ. Замечание: если доступ по чтению не является существенным, можно дать право REFERENCES на первичный ключ таблицы всем (PUBLIC), и тем облегчить администрирование. Если назначается право REFERENCES, оно должно распространятся на все столбцы первичного ключа. Если право REFERENCES назначается на таблицу целиком, столбцы не являющиеся частью ключа не затрагиваются в любом случае. Когда пользователь объявляет внешний ключ на таблицу, которой владеет другой пользователь, InterBase проверяет, имеет ли пользователь право REFERENCES на данную таблицу. Право REFERENCES можно назначить роли. Чтобы дать пользователям возможность назначать привилегии другим пользователям укажите userlist с описателем WITH GRANT OPTION. Пользователи могут назначать другим пользователям только те привилегии, которыми они владеют сами. Чтобы дать право всем пользователям, укажите описатель PUBLIC вместо списка пользователей. Описанное таким образом право дает привилегии только пользователям, но не объектам БД. Привилегии могут быть аннулированы с помощью оператора REVOKE. Если право было дано с использованием ALL, то с тем же описателем оно и должно удаляться. Если право было дано PUBLIC, то и отнять его можно только у PUBLIC. Примеры: Следующий оператор дает право SELECT и DELETE пользователю CHLOE на таблицу COUNTRY. Описатель WITH GRANT OPTION дает пользователю право давать привилегии другим пользователям. GRANT SELECT, DELETE ON COUNTRY TO CHLOE WITH GRANT OPTION; Следующий оператор встроенного SQL дает право SELECT и UPDATE процедуре с именем GET_EMP_PROJ на таблицу JOB:
EXEC SQL GRANT SELECT, UPDATE ON JOB TO PROCEDURE GET_EMP_PROJ;
Следующий оператор встроенного SQL дает право EXECUTE процедуре ADD_EMP_PROJ и пользователю LUIS
EXEC SQL GRANT EXECUTE ON PROCEDURE GET_EMP_PROJ TO PROCEDURE ADD_EMP_PROJ, LUIS;
Следующий пример создает роль с именем “administrator”, дает ей право UPDATE на таблицу table1, затем назначает роль пользователям user1, user2, и user3. CREATE ROLE administrator; GRANT UPDATE ON table1 TO administrator; GRANT administrator TO user1, user2, user3; Аннулирует привилегии пользователя на указанные объекты БД
REVOKE [GRANT OPTION FOR] < privileges> ON [TABLE] { tablename | viewname} FROM { <object> | <userlist> | < rolelist> | GROUP UNIX_group} | EXECUTE ON PROCEDURE procname FROM { <object> | <userlist>} | < role_granted> FROM {PUBLIC | < role_grantee_list>}};
< privileges> = {ALL [PRIVILEGES] | < privilege_list>} <privilege_list> = { SELECT | DELETE | INSERT | UPDATE [(col [, col …])] | REFERENCES [(col [, col …])] [, < privilege_list> …]}}
<object> ={ PROCEDURE procname | TRIGGER trigname | VIEW viewname | PUBLIC [, <object>]} <userlist> = [USER] username [, [USER] username …]
< rolelist> = rolename [, rolename]
< role_granted> = rolename [, rolename …]
<role_grantee_list> = [USER] username [, [USER] username …]
Описание аргументов
Описание: REVOKE отменяет право пользователя или объекта БД.
GRANT OPTION FOR отменяет право пользователя давать права другим пользователям. Для REVOKE существуют следующие ограничения: Право может отобрать тот пользователь, который его дал. Один пользователь может назначить права многим другим пользователям. Отмена права первого пользователя повлияет только на него, т.е. пользователи, получившие право от данного пользователя не изменят своих прав. Право, данное PUBLIC, может быть отнято только у PUBLIC. Если у пользователя А отбирают роль, все привилегии, розданные пользователем А другим пользователям благодаря праву назначать привилегии роли также отменяются.
Примеры: оператор отбирает право SELECT пользователя MIREILLE на таблицу COUNTRY: REVOKE SELECT ON COUNTRY FROM MIREILLE;
Оператор отбирает право EXECUTE на процедуру GET_EMP_PROJ у процедуры ADD_EMP_PROJ и пользователя LUIS: REVOKE EXECUTE ON PROCEDURE GET_EMP_PROJ FROM PROCEDURE ADD_EMP_PROJ, LUIS; Выполняет соединение с одной или несколькими БД. Доступен в SQL.Подмножество оператора CONNECT доступно в isql. Синтаксис, используемый в isql: CONNECT ’filespec’ [USER ’username’][PASSWORD ’password’] [CACHE int] [ROLE ’rolename’]
Синтаксис, используемый в SQL: CONNECT [TO] {ALL | DEFAULT} < config_opts> | < db_specs> < config_opts> [, < db_specs> < config_opts>...];
< db_specs> = dbhandle | {’ filespec’ |: variable} AS dbhandle
< config_opts> = [USER {’ username’ |: variable}] [PASSWORD {’ password’ |: variable}] [ROLE {’ rolename’ |: variable}] [CACHE int [BUFFERS]]
Дата добавления: 2015-01-03; Просмотров: 316; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |