GRANT, предоставление разрешения на асимметричный ключ (Transact-SQL)
Предоставляет разрешения на асимметричный ключ.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
GRANT { permission [ ,...n ] }
ON ASYMMETRIC KEY :: asymmetric_key_name
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
Аргументы
- permission
Указывает разрешение, которое может быть предоставлено для асимметричного ключа. Возможные разрешения перечислены ниже.
- ON ASYMMETRIC KEY **::**asymmetric_key_name
Указывает асимметричный ключ, для которого предоставляется разрешение. Квалификатор области «::» обязателен.
database_principal
Указывает участника, которому предоставляется разрешение. Он может быть одним из следующих:- пользователь базы данных;
- роль базы данных;
- роль приложения;
- пользователь базы данных, сопоставленный имени входа Windows;
- пользователь базы данных, сопоставленный группе Windows;
- пользователь базы данных, сопоставленный сертификату;
- пользователь базы данных, сопоставленный асимметричному ключу;
- пользователь базы данных, не сопоставленный серверу-участнику.
- GRANT OPTION
Показывает, что участнику будет дано право предоставлять указанное разрешение другим участникам.
AS granting_principal
Задает участника, от которого участник, выполняющий данный запрос, наследует право на предоставление разрешения. Он может быть одним из следующих:- пользователь базы данных;
- роль базы данных;
- роль приложения;
- пользователь базы данных, сопоставленный имени входа Windows;
- пользователь базы данных, сопоставленный группе Windows;
- пользователь базы данных, сопоставленный сертификату;
- пользователь базы данных, сопоставленный асимметричному ключу;
- пользователь базы данных, не сопоставленный серверу-участнику.
Замечания
Асимметричный ключ — защищаемый на уровне базы данных объект, хранящийся в той базе данных, которая является его родителем в иерархии разрешений. Ниже перечислены наиболее специфичные и ограниченные разрешения (вместе с наиболее общими разрешениями, в которые они входят неявно), которые могут быть предоставлены для ассиметричного ключа.
Разрешение асимметричного ключа | Содержится в разрешении асимметричного ключа | Содержится в разрешении базы данных |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY ASYMMETRIC KEY |
REFERENCES |
CONTROL |
REFERENCES |
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, могут предоставлять любое разрешение на любой защищаемый объект в базе данных. Обладатели разрешения CONTROL для схемы могут предоставлять любые разрешения на любые объекты, содержащиеся в данной схеме.
См. также
Справочник
Инструкция GRANT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)