привилегия – системная привилегия (ALL – все системные привилегии)
пользователь (роль) – имя пользователя или роли, которым дается привилегия
PUBLIC – привилегия дается всем пользователям (только Oracle)
WITH ADMIN OPTION – разрешает предоставлять полученную системную привилегию другим пользователям (только Oracle)
Предоставление объектных привилегий
GRANT {привилегия[, привилегия …] |
ALL} [(столбец[, столбец …])] ON
объект
TO {пользователь[, пользователь …]
| роль | PUBLIC}
[WITH GRANT OPTION]
привилегия – объектная привилегия (ALL – все привилегии на объект)
столбец – столбец таблицы или представления, на который дается привилегия
объект – объект, на который дается привилегия
пользователь (роль) – имя пользователя или роли, которым дается привилегия
PUBLIC – привилегия дается всем пользователям (только Oracle)
WITH GRANT OPTION – позволяет передавать привилегию на объект другим пользователям
Для отмены привилегий используется SQL команда REVOKE.
Отмена системных привилегий:
REVOKE {привилегия[, привилегия …] |
ALL}
FROM {пользователь[, пользователь …]
| роль | PUBLIC}
привилегия – объектная привилегия (ALL – все системные привилегии)
пользователь (роль) – имя пользователя или роли, чьи привилегии отменяются
PUBLIC – привилегия отменяется у всех пользователей (только Oracle)
Отмена объектных привилегий:
REVOKE {привилегия[, привилегия …] |
ALL} [(столбец[, столбец …])] ON
объект
FROM {пользователь[, пользователь …]
| роль | PUBLIC}
[CASCADE]
привилегия – объектная привилегия (ALL – все привилегии на объект)
столбец – столбец таблицы или представления, на который дается привилегия
объект – объект, привилегия на который отменяется
пользователь (роль) – имя пользователя или роли, чьи привилегии отменяются
PUBLIC – привилегия отменяется у всех пользователей (только Oracle)
CASCADE – привилегия отменяется, также, у всех пользователей, которым она была предоставлена в режиме WITH GRANT OPTION (только SQL Server)
Каскадная отмена привилегий
В СУБД Oracle:
В SQL Server:
· Чтобы каскадно отменить объектные привилегии, предоставленные в режиме WITH GRANT OPTION, необходимо использовать ключевое слово CASCADE.
Управлять привилегиями можно с помощью ролей. Роль – именованная группа привилегий, которая может быть предоставлена пользователю. Использование ролей позволяет группировать привилегии, необходимые для разных категорий пользователей и динамически управлять привилегиями (например, достаточно переопределить привилегии, назначенные роли, что немедленно отобразится на всех пользователях, которым назначена эта роль).
Администратор базы данных создает роль, определяет набор привилегий для роли и присваивает роль пользователям:
Oracle |
SQL Sever |
|
Создать роль |
CREATE ROLE роль |
sp_addrole [@rolename =] 'роль' |
Предоставить роли системные привилегии |
GRANT {привилегия[, привилегия …]
| ALL} TO роль |
GRANT {привилегия[, привилегия …] | ALL} TO роль |
Предоставить роли объектные привилегии |
GRANT {привилегия[, привилегия …] | ALL} [(столбец[, столбец …])] ON объект TO роль [WITH GRANT OPTION] |
|
Отменить у роли системные привилегии |
REVOKE {привилегия[, привилегия …] | ALL} FROM роль |
|
Отменить у роли объектные привилегии |
REVOKE {привилегия[, привилегия …] | ALL} [(столбец[, столбец …])] ON объект FROM роль |
REVOKE {привилегия[,
привилегия …] | ALL} [(столбец[, столбец …])] ON объект |
Предоставить роль пользователю |
GRANT роль |
sp_addrolemember [@rolename =] 'роль', [@membername =] 'учетная_запись' |
Отменить роль у пользователя (удалить члена роли) |
REVOKE роль |
sp_droprolemember [@rolename =] 'роль', [@membername =] 'учетная_запись' |
Удалить роль |
DROP ROLE роль |
sp_droprole [@rolename =] 'роль' |
Роль будет отменена у всех пользователей и ролей, которым она была предоставлена |
Нельзя удалить роль, пока не будут удалены все члены этой роли |
Например, в СУБД Oracle можно создать роль sample, предоставить этой роли право создавать таблицы и представления в собственной схеме, и, затем, предоставить эту роль пользователю student.
SQL> CREATE ROLE sample;
Role created.
SQL> GRANT CREATE TABLE, CREATE VIEW TO sample;
Grant succeeded.
SQL> GRANT sample TO student;
Grant succeeded.
Защита базы данных Oracle, кроме предотвращения несанкционированного и неавторизованного доступа, предполагает контроль использования пользователями дискового пространства и системных ресурсов (например, центрального процессора). Для этого СУБД Oracle использует управление параметрами хранения пользовательскими объектами и квотами на использование табличных пространств. Назначив пользователю определенный профиль, администратор может ограничить использование системных ресурсов.
Oracle предоставляет возможность ограничивать дисковое пространство, выделяемое для каждого пользователя базы данных, включая табличное пространство по умолчанию, временное табличное пространство и квоты в табличных пространствах.
§ Табличное пространство по умолчанию
Табличное пространство по умолчанию предоставляет серверу базы данных информацию о том, какое пространство использовать для хранения объекта, если это не определено при создании этого объекта. Когда пользователь создает таблицу, индекс или кластер, и не задает явно табличное пространство, в котором будет храниться объект, для хранения объекта используется табличное пространство по умолчанию этого пользователя, если, конечно, пользователь имеет привилегию создавать объекты в собственной схеме и квоту на использование табличного пространства по умолчанию.
§ Временное табличное пространство
Каждый пользователь имеет временное табличное пространство. Если пользователь выполняет SQL утверждение, которое требует создания временных сегментов (например, создание индекса), используется временное табличное пространство этого пользователя.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.