Поделиться через


DENY, запрет разрешений на симметричный ключ (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

Запрещает разрешения для симметричного ключа.

Соглашения о синтаксисе Transact-SQL

Syntax

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   

Arguments

permission
Обозначает разрешение, которое можно запретить для симметричного ключа. Список разрешений см. в подразделе "Примечания" далее в этом разделе.

НА СИММЕТРИЧНОМ КЛЮЧЕ ::asymmetric_key_name
Указывает симметричный ключ, для которого снимается разрешение. Квалификатор области (::) является обязательным.

К <database_principal>
Задает участника, у которого отменяется разрешение.

CASCADE
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.

КАК 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
Указывает пользователя базы данных, не сопоставленного с субъектом серверного уровня.

Remarks

Сведения о симметричных ключах доступны в представлении каталога sys.symmetric_keys.

Симметричный ключ — это такой защищаемый объект уровня базы данных, который находится в базе данных, являющейся его родителем в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно снять для симметричного ключа, перечислены в следующей таблице вместе с более общими разрешениями, неявно содержащими их.

Разрешение на симметричный ключ Содержится в разрешении симметричного ключа Содержится в разрешении базы данных
ALTER CONTROL ИЗМЕНИТЬ ЛЮБОЙ СИММЕТРИЧНЫЙ КЛЮЧ
CONTROL CONTROL CONTROL
REFERENCES CONTROL REFERENCES
ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ CONTROL CONTROL
ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ CONTROL ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ

Permissions

Необходимо разрешение CONTROL для симметричного ключа или разрешение ALTER ANY SYMMETRIC KEY для базы данных. При использовании параметра AS указанный участник должен являться владельцем симметричного ключа.

Examples

В следующем примере снимается разрешение 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)
СОЗДАТЬ СИММЕТРИЧНЫЙ КЛЮЧ (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)
Иерархия средств шифрования