русс | укр

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

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

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

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


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

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


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


Создание и удаление пользователей

Другие пользователи

Владелец объектов базы данных

Любой пользователь, который создал некий объект БД (таблицу или представление), становится владельцем (owner) этого объекта, т.е. привилегированным пользователем, либо может назначить другого владельца.

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

 

Администраторы и владельцы объектов базы данных могут предоставлять привилегии другим пользователям. Среди этих привилегий есть и право предоставления привилегий. Пользователи, не являющиеся администраторами или владельцами, а также те, кому привилегированные пользователи специально не предоставили права доступа, называются публикой (public). Если привилегированный пользователь предоставляет права доступа типа public, то их получают все пользователи базы данных.

 

Обычно к СУБД прилагается ряд утилит, в число которых входит и утилита для создания пользователей и предоставления им прав. С ее помощью администратор может создать пользователя и наделить его определенными привилегиями. В SQL для создания пользователя служит оператор create user:

 

CREATE USER имяПользователя

[WITH

[SYSID идентификаторПользователя]

[PASSWORD 'пароль']]

[CREATEDB | NOCREATEDB]

[CREATEUSER | NOCREATEUSER]



[IN GROUP имяГруппы [,...]]

[VALID UNTIL 'время'];

 

Здесь в квадратных скобках указаны необязательные компоненты, а вертикальной чертой разделены альтернативные варианты значений. Данный оператор позволяет создать имя пользователя, задать ему пароль (password), дать особые права на создание БД (createdb) и пользователей (createuser), распределить по группам (in group) и ограничить время, в течение которого данный пользователь будет актуален (valid until).

Чтобы удалить пользователя из системы, можно применить оператор DROP USER:

 

DROP USER имяПользователя;

Как уже отмечалось ранее, администратор БД имеет все привилегии на все объекты БД; владелец объекта также имеет на него все права. Произвольный пользователь не имеет прав до тех пор, пока они не будут предоставлены ему специально тем пользователем, у которого уже есть эти права и который обладает также правом предоставлять права другим пользователям. Это рекурсивное определение возможностей назначать привилегии. На практике эта рекурсия осуществляется следующим образом. Сначала администратор создает пользователей (точнее их имена) и предоставляет им некоторые права. Если кто-то из уже созданных пользователей имеет привилегию передавать права, то он может, создав таблицу или представление, передать права на нее другим пользователям. И так далее.

Предоставление привилегий осуществляется с помощью оператора GRANT (предоставлять, разрешать), его синтаксис:

 

GRANT списокПрав

ON объект

ТО списокПользователей

[WITH GRANT OPTION];

 

Здесь необязательные (в квадратных скобках) ключевые слова with grant option (с правом передачи) применяются, если пользователям предоставляется право передавать права. Права в списке прав оператора grant разделяются запятыми. Если необходимо предоставить все права, то вместо списка можно указать ключевые слова all privileges (все привилегии). В SQL:2003 права могут принимать следующие значения:

· select – право просмотра;

· delete – право удаления записей;

· insert [ (списокстолбцов) ] – право добавления новых записей с установкой значений для указанных столбцов; если имена столбцов не указаны, то для всех столбцов;

· update [ (списокстолбцов) ] – право изменения значений указанных столбцов; если имена столбцов не указаны, то предполагаются все столбцы;

· references [ (списокстолбцов) ] –право доступа к таблице, на которую ссылается данная таблица;

· usage – право на домены, наборы символов, сопоставления и трансляции;

· under – право на структурированные типы данных;

· trigger – право на использование триггеров;

· execute –право на выполнение внешней программы.

Объект в операторе grant может принимать следующие значения:

· [TABLE] имяТаблицы;

· DOMAIN имяДомена;

· COLLATION имяСопоставления;

· CHARACTER SET имяСимвольногоНабора;

· TRANSLATION имяТрансляции;

· TYPE схематически_обозначенный_пользовательский_тип;

· SEQUENCE имяГенератораПоследовательности
спецификаторУказателяШа блона.

 

Список пользователей в операторе grant состоит из регистрационных имен пользователей, разделенных запятыми. Вместо списка можно указать ключевое слово public (публика). В этом случае права, указанные в операторе grant, получают все пользователи базы данных.

 



<== предыдущая лекция | следующая лекция ==>
Администратор базы данных | Право изменять данные


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


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

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

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


 


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

 
 

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

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