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