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


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

Отменяет предоставленные и запрещенные разрешения на симметричный ключ.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]  
    ON SYMMETRIC KEY :: symmetric_key_name 
        { TO | FROM } <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
    Задает симметричный ключ, для которого отменяется разрешение. Квалификатор области (::) .

  • GRANT OPTION
    Показывает, что отменяется право на предоставление указанного разрешения другим участникам. Само разрешение отменено не будет.

    Важное примечаниеВажно!

    Если участник обладает указанным разрешением без параметра GRANT, будет отменено само разрешение.

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

    ПредупреждениеВнимание!

    Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене прав GRANT и DENY для этого разрешения.

  • { TO | FROM } <database_principal>
    Задает участника, для которого отменяется разрешение.

  • 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.

Если при отмене разрешения у участника, получившего его с помощью параметра GRANT OPTION, не был задан параметр CASCADE, выполнение инструкции завершается с ошибкой.

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

Разрешение симметричного ключа

Содержится в разрешении симметричного ключа

Содержится в разрешении базы данных

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, а также для других участников, получивших от HamidS разрешение ALTER.

USE AdventureWorks2008R2;
REVOKE ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS CASCADE;
GO