русс | укр

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

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

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

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


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

Предоставление привилегий (инструкция GRANT)


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


Разрешение и запрещение ролей

Роли, определяемые пользователями

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

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

 

create role order_entry;

grant select, insert, update, delete on sales.customers to order_entry;

grant select, insert, update, delete on sales. orders to order_entry;

grant select, insert, update, delete on sales.items to order_entry;

grant select, update on sales.parts to order_entry;

grant order_entry to smith, alice, george;

 

В приведенном примере SALES – схема базы данных; CUSTOMERS, ORDERS, ITEMS, PARTS – таблицы этой схемы; SMITH, ALICE, GEORGE – пользователи базы данных, полномочия которых распространяются на объекты схемы sales. Как видно из примера сначала создается роль, а уже затем посредством инструкции GRANT задаются привилегии этой роли. Особенности задания инструкции GRANT рассматриваются ниже, в параграфе “предоставление привилегий”.

Пользователь, которому предоставлена роль, не всегда имеет доступ к ее привилегиям. В ORACLE приложения могут разрешать и запрещать роли для любого пользователя. После того как приложение разрешает роль для пользователя, ему становятся доступны ее привилегии. И, соответственно, когда приложение запрещает роль для пользователя, он более не имеет доступа к ее привилегиям. Возможность динамически управлять набором привилегий позволяет приложениям обеспечивать постоянную корректность наборов привилегий пользователей во время работы с данным приложением. Например, когда пользователь запускает приложение по вводу заказов, с помощью SQL-команды SET ROLE это приложение разрешает ему применять для работы роль ORDER_ENTRY (см. пример). Когда пользователь завершает свою работу, приложение запрещает для него эту роль, и он не может применять привилегии приложения по вводу заказов во время работы с другим приложением.



Как уже указывалось инструкция GRANT, синтаксическая диаграмма которой изображена на рисунке 33, используется для предоставления пользователям привилегий на объекты базы данных. Обычно инструкцией GRANT пользуется владелец таблицы или представления, чтобы разрешить другим пользователям доступ к этим данным.

 

Рисунок 33 Синтаксическая диаграмма инструкции

GRANT

 

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

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

Вместо того чтобы давать привилегии по отдельности каждому пользователю базы данных, можно с помощью ключевого слова PUBLIC предоставить их сразу всем пользователям, имеющим право работать с базой данных. Такая инструкция GRANT дает привилегии всем нынешним и будущим пользователям базы данных, а не только тем, кто имеет право работать с базой данных в настоящее время. Это устраняет необходимость явно предоставлять привилегии новым пользователям при их появлении.



<== предыдущая лекция | следующая лекция ==>
Работа с привилегиями при помощи ролей | Отмена привилегий (инструкция REVOKE)


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


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

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

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


 


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

 
 

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

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