3. Неявные права Запрещение доступа
Запрещение доступа
к объектам – синтаксис аналогично
GRANT:
DENY
{ ALL
PRIVILEGES
| permission
[, ... n]
}
{
[(имена_столбцов_через_запятую)]
ON
имя_таблицы_или_представления
| ON
имя_процедуры
| ON
имя_таблицы_или_представления
[(
имена_столбцов_через_запятую
)]
}
TO
имена_объектов_системы_безопасности
//через запятуюlogin-ы,user-ы и имена ролей
[CASCADE]// отзывать права не только у данного
пользователя, но и у всех тех пользователей,
которым он предоставил данные права
командойGRANT.
Запрещение
выполнения команд SQL:
DENY
{ALL
| список_команд}
TO
имена_объектов_безопасности
Неявное отклонение
доступа (revoke
access)
действует только на том уровне, на
котором определено. Если пользователю
на определенном уровне неявно отклонен
доступ, он может получить его на другом
уровне иерархии через членство в роли,
имеющей право просмотра.
REVOKE [GRANT OPTION FOR]
{ALL
PRIVILEGES
| список_разрешений}
{
[(имена_столбцов_через_запятую)]
ON
имя_таблицы_или_представления
| ON
имя_процедуры
| ON
имя_таблицы_или_представления
[(
имена_столбцов_через_запятую
)]
}
{TO
| FROM}
имена_объектов_безопасности
[CASCADE]
[AS
{группа
| имя_роли}]
GRANT
OPTION
FOR
используется, когда необходимо отозвать
право, предоставляемое параметром WITH
GRANT
OPTION
команды GRANT.
Пользователь оставляет за собой право
доступа, но больше не может передавать
его другим.
Неявное отклонение
команд SQL
выполняется с помощью оператора
REVOKE
{ALL
| список_команд
}
FROM
имена_объектов
Конфликт доступа
возникает, если одному user-у
некое право доступа разрешено через
членство в первой роли, но запрещено
через членство в другой роли или лично.
При разрешении
конфликтов предпочтение отдается
запрещению.