GRANT, предоставление разрешения на компонент Service Broker (Transact-SQL)
Предоставляет разрешения на контракт, тип сообщений, удаленную привязку, маршрут или службу компонента Service Broker.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
GRANT permission [ ,...n ] ON
{
[ CONTRACT :: contract_name ]
| [ MESSAGE TYPE :: message_type_name ]
| [ REMOTE SERVICE BINDING :: remote_binding_name ]
| [ ROUTE :: route_name ]
| [ SERVICE :: service_name ]
}
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
Аргументы
- permission
Указывает разрешение, которое может быть предоставлено на защищаемый объект компонента Service Broker. Эти разрешения перечислены ниже.
- CONTRACT **::**contract_name
Указывает контракт, на который предоставляется разрешение. Необходимо указывать квалификатор области «::».
- MESSAGE TYPE **::**message_type_name
Указывает тип сообщений, на которые предоставляется разрешение. Необходимо указывать квалификатор области «::».
- REMOTE SERVICE BINDING **::**remote_binding_name
Указывает привязку удаленной службы, на которую предоставляется разрешение. Необходимо указывать квалификатор области «::».
- ROUTE **::**route_name
Указывает маршрут, на который предоставляется разрешение. Необходимо указывать квалификатор области «::».
- SERVICE **::**message_type_name
Указывает службу, на которую предоставляется разрешение. Необходимо указывать квалификатор области «::».
database_principal
Указывает участника, которому предоставляется разрешение. Один из следующих:- пользователь базы данных;
- роль базы данных;
- роль приложения;
- пользователь базы данных, сопоставленный имени входа Windows;
- пользователь базы данных, сопоставленный группе Windows;
- пользователь базы данных, сопоставленный сертификату;
- пользователь базы данных, сопоставленный асимметричному ключу;
- пользователь базы данных, не сопоставленный серверу-участнику.
- GRANT OPTION
Показывает, что участнику также дается возможность предоставлять указанное разрешение другим участникам.
granting_principal
Указывает участника, от которого участник, выполняющий данный запрос, получает право на предоставление разрешения. Один из следующих:- пользователь базы данных;
- роль базы данных;
- роль приложения;
- пользователь базы данных, сопоставленный имени входа Windows;
- пользователь базы данных, сопоставленный группе Windows;
- пользователь базы данных, сопоставленный сертификату;
- пользователь базы данных, сопоставленный асимметричному ключу;
- пользователь базы данных, не сопоставленный серверу-участнику.
Замечания
Контракты компонента Service Broker
Контракт компонента Service Broker представляет собой защищаемый на уровне базы данных объект, входящий в родительскую по иерархии разрешений базу данных. Ниже перечислены наиболее специфичные и ограниченные разрешения (вместе с наиболее общими разрешениями, куда они неявно входят), которые могут предоставляться для контракта компонента Service Broker.
Разрешение контракта компонента Service Broker | Содержится в разрешении контракта компонента Service Broker | Содержится в разрешении базы данных |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY CONTRACT |
REFERENCES |
CONTROL |
REFERENCES |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Типы сообщений компонента Service Broker
Тип сообщений компонента Service Broker представляет собой защищаемый на уровне базы данных объект, входящий в родительскую по иерархии разрешений базу данных. Ниже перечислены наиболее специфичные и ограниченные разрешения (вместе с наиболее общими разрешениями, куда они неявно входят), которые могут предоставляться для типа сообщений компонента Service Broker.
Разрешение типа сообщений компонента Service Broker | Содержится в разрешении типа сообщений компонента Service Broker | Содержится в разрешении базы данных |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY MESSAGE TYPE |
REFERENCES |
CONTROL |
REFERENCES |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Привязки удаленной службы компонента Service Broker
Привязка удаленной службы компонента Service Broker представляет собой защищаемый на уровне базы данных объект, входящий в родительскую по иерархии разрешений базу данных. Ниже перечислены наиболее специфичные и ограниченные разрешения (вместе с наиболее общими разрешениями, куда они неявно входят), которые могут предоставляться для привязки удаленной службы компонента Service Broker.
Разрешение привязки удаленной службы компонента Service Broker | Содержится в разрешении привязки удаленной службы компонента Service Broker | Содержится в разрешении базы данных |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY REMOTE SERVICE BINDING |
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 на схему, могут предоставлять любые разрешения на любые объекты, содержащиеся в этой схеме.
Маршруты компонента Service Broker
Маршрут компонента Service Broker представляет собой защищаемый на уровне базы данных объект, входящий в родительскую по иерархии разрешений базу данных. Ниже перечислены наиболее специфичные и ограниченные разрешения (вместе с наиболее общими разрешениями, куда они неявно входят), которые могут предоставляться для маршрута компонента Service Broker.
Разрешение маршрута компонента Service Broker | Содержится в разрешении маршрута компонента Service Broker | Содержится в разрешении базы данных |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY ROUTE |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Службы компонента Service Broker
Служба компонента Service Broker представляет собой защищаемый на уровне базы данных объект, входящий в родительскую по иерархии разрешений базу данных. Ниже перечислены наиболее специфичные и ограниченные разрешения (вместе с наиболее общими разрешениями, куда они неявно входят), которые могут предоставляться для службы компонента Service Broker.
Разрешение службы компонента Service Broker | Содержится в разрешении службы компонента Service Broker | Содержится в разрешении базы данных |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
SEND |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY SERVICE |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
См. также
Справочник
Инструкция GRANT (Transact-SQL)
Другие ресурсы
Компонент Service Broker
Разрешения
Участники