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

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

Значок ссылки на разделСинтаксические обозначения в 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 AdventureWorks2008R2;
DENY ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;
GO