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   

Аргументы

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)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)
Иерархия средств шифрования