DENY, запрет разрешений на симметричный ключ (Transact-SQL)
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Запрещает разрешения для симметричного ключа.
Соглашения о синтаксисе 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
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
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 ANY SYMMETRIC KEY |
ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ |
ССЫЛКИ | ПРОИЗВОДИТЕЛЬНОСТИ | ССЫЛКИ |
TAKE OWNERSHIP | ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ |
VIEW DEFINITION | ПРОИЗВОДИТЕЛЬНОСТИ | VIEW DEFINITION |
Разрешения
Необходимо разрешение CONTROL для симметричного ключа или разрешение ALTER ANY SYMMETRIC KEY для базы данных. При использовании параметра AS указанный участник должен являться владельцем симметричного ключа.
Примеры
В следующем примере снимается разрешение ALTER
для симметричного ключа SamInventory42
для пользователя базы данных HamidS
.
USE AdventureWorks2022;
DENY ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;
GO
См. также
sys.symmetric_keys (Transact-SQL)
Grant Symmetric Key Permissions (Transact-SQL)
ОТМЕНА разрешений симметричного ключа (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)
Иерархия средств шифрования