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


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

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

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

Синтаксис

GRANT permission [ ,...n ]  
    ON SYMMETRIC KEY :: symmetric_key_name 
    TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
        [ 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>
    Указывает участника, которому предоставляется разрешение.

  • WITH GRANT OPTION
    Указывает, что участнику также дается возможность предоставлять указанное разрешение другим участникам.

  • 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

Разрешения

Объект, предоставляющий разрешение (или участник, указанный параметром AS), должен иметь либо само разрешение, выданное с помощью параметра GRANT OPTION, либо разрешение более высокого уровня, которое неявно включает предоставляемое.

При использовании параметра AS налагаются следующие дополнительные требования.

AS granting_principal

Необходимо дополнительное разрешение

Пользователь базы данных

Разрешение IMPERSONATE для пользователя, членство в предопределенной роли базы данных db_securityadmin , db_owner или в предопределенной роли сервера sysadmin.

Пользователь базы данных, сопоставленный имени входа Windows

Разрешение IMPERSONATE для пользователя, членство в предопределенной роли базы данных db_securityadmin , db_owner или в предопределенной роли сервера sysadmin.

Пользователь базы данных, сопоставленный группе Windows

Членство в группе Windows, членство в предопределенной роли базы данных db_securityadmin , членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin.

Пользователь базы данных, сопоставленный сертификату

Членство в предопределенной роли базы данных db_securityadmin , членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin.

Пользователь базы данных, сопоставленный асимметричному ключу

Членство в предопределенной роли базы данных db_securityadmin , членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin.

Пользователь базы данных, не сопоставленный ни с одним участником на уровне сервера

Разрешение IMPERSONATE для пользователя, членство в предопределенной роли базы данных db_securityadmin , db_owner или в предопределенной роли сервера sysadmin.

Роль базы данных

Разрешение ALTER для роли, членство в предопределенной роли базы данных db_securityadmin , членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin.

Роль приложения

Разрешение ALTER для роли, членство в предопределенной роли базы данных db_securityadmin , членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin.

Участники, имеющие разрешение CONTROL на защищаемый объект, могут предоставлять разрешение на этот защищаемый объект.

Участники, которым предоставлено разрешение CONTROL SERVER, например члены предопределенной роли сервера sysadmin, могут предоставить любое разрешение на любой защищаемый объект на сервере. Участники, предоставляющие разрешение CONTROL на базу данных, такие как члены предопределенной роли базы данных db_owner, могут предоставлять любые разрешения на любой защищаемый объект в базе данных.

Примеры

В следующем примере пользователю базы данных HamidS предоставляется разрешение ALTER на симметричный ключ SamInventory42.

USE AdventureWorks2012;
GRANT ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;
GO

См. также

Справочник

sys.symmetric_keys (Transact-SQL)

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

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

CREATE SYMMETRIC KEY (Transact-SQL)

Основные понятия

Разрешения (компонент Database Engine)

Участники (компонент Database Engine)

Иерархия средств шифрования