Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Обеспечение безопасности баз данных в SQL




 

Под безопасностью БД понимают защиту данных от несанкционированного чтения, изменения или уничтожения. Язык SQL позволяет индивидуально защищать как целые таблицы, так и отдельные их поля. Для этого имеются две более или менее независимые возможности:

· механизм представлений, рассмотреный выше и используемый для скрытия засекреченных данных от пользователей, не обладающих правом доступа;

· механизм санкционирования доступа, позволяющий предоставить указанным пользователям определенные права на доступ к данным и дать им возможность избирательно и динамически передавать часть выделенных прав другим пользователям, отменяя впоследствии эти права, если потребуется.

В SQL принято права на доступ к данным называть привилегиями. Они обозначаются SELECT, INSERT, DELETE, UPDATE[(столбцы)] и позволяют соответственно считывать (выполнять любые операции, в которых используется SELECT), добавлять, удалять или изменять строки указанной таблицы (изменение можно ограничить конкретными столбцами).

Обычно при установке СУБД определяется идентификатор наиболее привилегированного пользователя - системного администратора. Каждый, кто может войти в систему с этим идентификатором (и может выдержать тесты на достоверность), будет считаться системным администратором до выхода из системы. Системный администратор может создавать БД и имеет все привилегии на их использование. Эти привилегии или их часть могут предоставляться другим пользователям (пользователям с другими идентификаторами). В свою очередь, пользователи, получившие привилегии от системного администратора, могут передать их (или их часть) другим пользователям, которые могут их передать следующим и т. д.

Привилегии предоставляются с помощью предложения GRANT (предоставить), общий формат которого имеет вид

GRANT <список привилегий> ON <объект> TO <список пользователей>

Список привилегий состоит из одной или нескольких привилегий, разделенных запятыми, либо содержит фразу ALL PRIVILEGES (все привилегии).

Объект чаще всего определяет таблицу или представление, но в некоторых СУБД может обозначать БД, формы, программы и т. п.

Список пользователей включает один или более идентификаторов санкционирования, разделенных запятыми, либо специальное ключевое слово PUBLIC (общедоступный).

GRANT SELECT, UPDATE (Adress) ON Anketa TO Vova

позволяет пользователю, который представился системе идентификатором Vova, использовать информацию из таблицы Anketa, но изменять в ней он может только значения столбца Adress.

Для создания пользователем представления требуется привилегия SELECT на все исходные таблицы. Остальные привилегии пользователь получает только тогда, когда они сть на каждую таблицу представления.

Дальнейшая передача привилегий другим пользователям возможна при наличии в операторе GRANT фразы WITH GRANT OPTION.

Отмена привилегий осуществляется оператором REVOKE (отменить). Например, можно отобрать у пользователя Vova право изменения значений столбца Adress:

REVOKE UPDATE (Adress) ON Блюда FROM Vova

Если пользователь Vova успел передать привилегию UPDATE (Adress) пользователю Nina, то эта привилегия также будет отменена как у пользователя Nina, так и пользователей, получивших ее от пользователя Nina, то есть по всей цепочке передач. Исключением является случай, когда привилегия получена от нескольких пользователей, и какая-либо цепочка передач привилегии сохраняется.

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 307; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.