Разрешения GRANT на симметричный ключ (Transact-SQL)
Предоставление разрешений на симметричный ключ.
Соглашения о синтаксисе в 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 AdventureWorks;
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)
Другие ресурсы
Разрешения
Участники
Иерархия средств шифрования