русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Предоставление прав


Дата добавления: 2013-12-23; просмотров: 910; Нарушение авторских прав


Категории прав в среде MS SQL Server

Реализация прав на доступ к объектам баз данных в среде MS SQL Server

При подключении к SQL Server все возможные действия пользователей определяются правами (привилегиями, разрешениями), выданными их учетной записи, группе или роли, в которых они состоят.

Права можно разделить на три категории:

  • права на доступ к объектам;
  • права на выполнение команд;
  • неявные права.
Таблица 17.1.
Пользователь A Пользователь B Пользователь C Пользователь D Пользователь E
GRANT INSERT ON Товар TO B WITH GRANT OPTION Получение права      
  GRANT INSERT ON Товар TO C WITH GRANT OPTION Получение права от B. Получение права от E   GRANT INSERT ON Товар TO C WITH GRANT OPTION
    GRANT INSERT ON Товар TO D Получение права  
REVOKE INSERT ON Товар TO B CASCADE Отмена права Сохранение права Сохранение права Сохранение права

Работа с данными и выполнение хранимых процедур требуют наличия класса доступа, называемого правами на доступ к объектам баз данных. Под объектами подразумеваются таблицы, столбцы таблиц, представления, хранимые процедуры.

Для различных объектов применяются разные наборы прав доступа к ним:

  • SELECT, INSERT, UPDATE, DELETE, REFERENCES – для таблицы или представления;
  • SELECT, UPDATE – для конкретного столбца таблицы или представления;
  • EXECUTE – для хранимых процедур и функций.

Право INSERT позволяет вставлять новые строки в таблицу или представление и выдается только на уровне таблицы или представления; оно не может быть выдано на уровне столбца.

Право UPDATE выдается либо на уровне таблицы, что позволяет изменять в ней все данные, либо на уровне отдельного столбца, что разрешает изменять данные только в его пределах.



Право DELETE позволяет удалять строки из таблицы или представления, выдается только на уровне таблицы или представления, но не может быть выдано на уровне столбца.

Право SELECT разрешает выборку данных и может выдаваться как на уровне таблицы, так и на уровне отдельного столбца.

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

Для управления разрешением пользователя на доступ к объектам базы данных используется команда:

<предоставление_привилегий>::=GRANT { ALL [ PRIVILEGES] | <привилегия> [,...n]}{ [( имя_столбца [,...n])] ON { имя_таблицы | имя_просмотра} | ON {имя_таблицы | имя_просмотра } ([имя_столбца [,...n])] | ON {имя_хранимой_процедуры | имя_внешней_процедуры}}TO { имя_пользователя | имя_группы | имя_роли} [,...n][WITH GRANT OPTION ][AS {имя_группы | имя_роли }]

Параметр <привилегия> представляет собой следующую конструкцию:

<привилегия>::={SELECT | DELETE | INSERT | UPDATE | EXECUTE | REFERENCES }

Параметр WITH GRANT OPTION поможет пользователю, которому вы предоставляете права, назначить права на доступ к объекту другим пользователям. Его использование требует особой осторожности, поскольку при этом владелец теряет контроль над предоставлением прав на доступ другим пользователям. Лучше всего ограничить круг пользователей, обладающих возможностью управлять назначением прав.

Необязательный параметр AS {имя_группы | имя_роли } позволяет указать участие пользователя в роли, обеспечивающей предоставление прав другим пользователям.

Единственное право доступа, которое может быть предоставлено для хранимой процедуры, – право на ее выполнение (EXECUTE). Естественно, кроме этого владелец хранимой процедуры может просматривать и изменять ее код.

Для функции можно выдать право на ее выполнение, а кроме того, выдать право REFERENCES, что обеспечит возможность связывания функции с объектами, на которые она ссылается. Такое связывание позволит запретить внесение изменений в структуру объектов, способных привести к нарушению работы функции.



<== предыдущая лекция | следующая лекция ==>
 | Запрещение доступа


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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