Управление доступом пользователей

advertisement
Управление доступом
пользователей
Управление доступом пользователей
Администратор базы данных
Имя пользователя и пароль
Привилегии
Пользователи
Привилегии
• DCL (Data Control Language)
• Безопасность базы данных
- Безопасность системы
- Безопасность данных
• Системные привилегии
- Получение доступа к базе данных
• Привилегии на объект
- Манипулирование содержимым объектов базы данных
• Схема
- Совокупность таких объектов, как таблицы, представления и
последовательности.
Системные привилегии
• Существует более 80 видов привилегий.
• Администратор базы данных – это самый высокий
уровень системных привилегий.
- Регистрация новых пользователей.
- Удаление пользователей.
- Удаление таблиц.
- Архивное копирование таблиц.
• Администратор базы данных регистрирует новых
пользователей с помощью команды CREATE USER
SQL.
SQL> CREATE USER scott
2
IDENTIFIED BY tiger;
Системные привилегии
пользователя
• Администратор базы данных может предоставить
привилегии зарегистрированному пользователю с
помощью команды GRANT.
• Обычно пользователь получает следующие
системные привилегии:
- CREATE SESSION
- CREATE TABLE
- CREATE SEQUENCE
- CREATE VIEW
- CREATE PROCEDURE
Предоставление системных
привилегий
Администратор базы данных может предоставить
пользователю
конкретные
привилегии
SQL> GRANT create
table,системные
create sequence,
2 create view
3 TO scott;
Grant succeeded.
Что такое роль?
Пользователи
Менеджер
Привилегии
Предоставление
привилегий без роли
Предоставление
привилегий с ролью
Предоставление привилегии с
использованием роли
Изменение своего пароля
• При создании пользователя ему присваивается
пароль.
• Пользователь может изменить свой пароль с
помощью команды ALTER USER.
SQL> ALTER USER scott IDENTIFIED BY lion;
User altered.
Привилегии на объекты
Привилегии Таблица Предста
на объект
вление
ALTER
+
DELETE
+
Последова- Процедура Снимок
тельность
+
+
EXECUTE
+
INDEX
+
INSERT
+
REFERENC
ES
+
SELECT
+
+
UPDATE
+
+
+
+
+
Предоставлений привилегий на
объект: синтаксис
• Администратор базы данных может разрешить
пользователю выполнять действия с конкретным
объектами.
• Виды привилегий на объект зависят от типа объекта.
• Владелец объекта имеет на него все привилегии.
• Владелец может предоставлять конкретные
привилегии на свой объект.
GRANT object_priv [(columns)]
ON object
TO {user | role | PUBLIC}
[WITH GRANT OPTION];
Предоставление привилегий на
объект: примеры
• Предоставьте привилегию на выборку данных из
вашей таблицы S_EMP.
SQL> GRANT select
2
ON s_emp
3
TO sue,rich;
Grant succeeded.
• Предоставьте привилегию UPDATE на
определенные столбцы пользователям и ролям.
SQL> GRANT update (name , region_id)
2 ON s_dept
3 TO scott, manager;
Grant succeeded.
Ключевые слова WITH GRANT
OPTION и PUBLIC: примеры
• Предоставление пользователю возможности
передавать привилегии дальше.
SQL> GRANT select
2
ON s_emp
3
TO scott
4
WITH GRANT OPTION;
Grant succeeded.
• Предоставление всем пользователям привилегии
SELECT на последовательность S_ORD_ID.
SQL> GRANT select
2
ON s_ord_id
3
TO PUBLIC;
Grant succeeded.
Просмотр предоставленных
привилегий
Для просмотра привилегий, предоставленных вам или
вами, пользуйтесь предоставлениями словаря данных
Таблицы словаря данных
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
USER_ROLE_PRIVS
USER_TAB_PRIVS_MADE
USER_TAB_PRIVS_RECD
USER_COL_PRIVS_MADE
USER_COL_PRIVS_RECD
Описание
Системные привилегии, предоставленные ролям.
Привилегии на таблицы, предоставленные ролям.
Роли доступные пользователям.
Привилегии, предоставленные пользователем на
его объекты.
Привилегии на чужие объекты, предоставленные
пользователю.
Привилегии, предоставленные пользователем на
определенные столбцы его объектов.
Привилегии на столбцы чужих объектов,
предоставленные пользователю.
Отмена привилегий на
объекты
• Для отмены привилегий, предоставленных другим
пользователем, пользуйтесь командой REVOKE.
• Привилегии, предоставленных другим пользователем
посредством WITH GRANT OPTION, также будут
отменены.
• Как пользователь ALICE, отмените привилегию
SELECT и INSERT, предоставленные пользователю
Scott на таблицу S_DEPT.
SQL> REVOKE select, insert
2
ON s_dept
3
FROM scott;
Revoke succeeded.
Создание синонима
• Синонимы (альтернативные имена объектов)
упрощают доступ к этим объектам
• Возможность ссылки на таблицу, принадлежащую
другому пользователю.
• Сокращенная форма для длинных имен объектов.
SQL> СREATE SYNONYM s_dept
2 FOR alice.s_dept;
Synonym created.
Создание синонима: примеры
• Создание коротко имен для представления DEPT_SUM_VU.
SQL> CREATE SYNONYM d_sum
2 FOR dept_sum_vu;
Synonym created.
• Синонимы PUBLIC создаются и удаляются только
администратором базы данных.
SQL> CREATE PUBLIC SYNONYM d_dept
2 FOR alice.s_dept;
Synonym created.
• Удаление синонима.
SQL> DROP SYNONYM d_dept;
Synonym dropped.
Заключение
Позволяет администратору базы данных
зарегистрировать пользователя
GRANT
Позволяет пользователю предоставлять
другим пользователям привилегии на
доступ к своим объектам
GRANTE ROLE Позволяет администратору базы создавать
набор привилегий.
ALTER USER
Позволяет пользователям менять свои
пароли.
REVOKE
Отменяет привилегии на объект,
предоставленные пользователям.
CREATE
Позволяет присваивать альтернативные
SYNONYM
имена объектов.
CREATE USER
Download