DENY - запрет разрешений на объект
Синтаксис:
DENY <permission> [,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [,...n ] ) ]
TO < database_principal > [,...n ]
[ CASCADE ]
[ AS < database_principal > ]
<permission>::=
ALL [ PRIVILEGES ] | permission [ ( column [,...n ] ) ]
<database_principal>::=
Database_user | Database_role | Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Аргументы:
column - указывает имя столбца в таблице, представлении или возвращающей табличное значение функции, для которых запрещается разрешение. Круглые скобки обязательны (). Для столбца можно запретить только разрешения SELECT, REFERENCES и UPDATE.
ON [ OBJECT :: ] [ schema_name ]. object_name – указывает объект, для которого запрещается разрешение.
TO < database_principal > - задает участника, для которого запрещается разрешение.
CASCADE - Показывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.
AS < database_principal > - задает участника, от которого участник, выполняющий данный запрос, получает право на запрет разрешения.
|
|
Database_user - з адает пользователя базы данных.
Database_user_mapped_to_Windows_User - задает пользователя базы данных, сопоставленного с пользователем Windows.
Пример. Запрет разрешения SELECT на таблицу (запрещает разрешение SELECT для пользователя RosaQdM на таблицу Person.Address в базе данных AdventureWorks).
USE AdventureWorks;
DENY SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
Пример. Разрешения SELECT и UPDATE предоставляются пользователю Sara на столбцы Demographics и ModifiedDate таблицы Sales.Individual.
USE AdventureWorks;
GO
--Предоставляем разрешения SELECT и UPDATE пользователю Sara на определенные столбцы таблицы Sales.Individual
GRANT SELECT, UPDATE (
Demographics, ModifiedDate) ON Sales.Individual TO Sara;
Аналогично, можно отозвать доступ к отдельным столбцам при помощи инструкции REVOKE. Если нужно не допустить получения пользователем разрешения, необходимо использовать инструкцию DENY.
USE AdventureWorks;
GO
--Отзываем ранее предоставленные или запрещенные разрешения на столбец Demographics для пользователя Sara.
REVOKE UPDATE (Demographics)
ON Sales.Individual TO Sara;
Управление доступом к схемам