DENY, запрет разрешений на симметричный ключ (Transact-SQL)
Запрещает разрешения для симметричного ключа.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в Transact-SQL
Синтаксис
DENY permission [ ,...n ]
ON SYMMETRIC KEY :: symmetric_key_name
TO <database_principal> [ ,...n ] [ CASCADE ]
[ AS <database_principal> ]
<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
Аргументы
permission
Обозначает разрешение, которое можно запретить для симметричного ключа. Список разрешений см. ниже в разделе «Примечания».ON SYMMETRIC KEY ::asymmetric_key_name
Указывает симметричный ключ, для которого снимается разрешение. Требуется квалификатор области (::).TO <database_principal>
Задает участника, для которого снимается разрешение.CASCADE
Показывает, что снимаемое разрешение также снимается для других участников, которым оно было предоставлено данным участником.AS <database_principal>
Задает участника, от которого участник, выполняющий данный запрос, получает право на запрет разрешения.Database_user
Задает пользователя базы данных.Database_role
Задает роль базы данных.Application_role
Указывает роль приложения.Database_user_mapped_to_Windows_User
Указывает пользователя базы данных, сопоставленного с пользователем Windows.Database_user_mapped_to_Windows_Group
Указывает пользователя базы данных, сопоставленного с группой Windows.Database_user_mapped_to_certificate
Указывает пользователя базы данных, сопоставленного с сертификатом.Database_user_mapped_to_asymmetric_key
Указывает пользователя базы данных, сопоставленного с асимметричным ключом.Database_user_with_no_login
Указывает пользователя базы данных без соответствующего участника на уровне сервера.
Замечания
Сведения о симметричных ключах доступны в представлении каталога sys.symmetric_keys.
Симметричный ключ — это защищаемый объект уровня базы данных, содержащийся в ней, который является родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно снять для симметричного ключа, перечислены в следующей таблице вместе с более общими разрешениями, неявно содержащими их.
Разрешение на симметричный ключ |
Содержится в разрешении симметричного ключа |
Содержится в разрешении базы данных |
---|---|---|
ALTER |
CONTROL |
ALTER ANY SYMMETRIC KEY |
CONTROL |
CONTROL |
CONTROL |
REFERENCES |
CONTROL |
REFERENCES |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Разрешения
Необходимо разрешение CONTROL для симметричного ключа или разрешение ALTER ANY SYMMETRIC KEY для базы данных. При использовании параметра AS указанный участник должен являться владельцем симметричного ключа.
Примеры
В следующем примере снимается разрешение ALTER для симметричного ключа SamInventory42 для пользователя базы данных HamidS.
USE AdventureWorks2012;
DENY ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;
GO
См. также
Справочник
sys.symmetric_keys (Transact-SQL)
Разрешения GRANT на симметричный ключ (Transact-SQL)
REVOKE, отмена разрешения на симметричный ключ (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Основные понятия
Разрешения (компонент Database Engine)