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 **::**service_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

Маршруты компонента 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

Разрешения

Участник, предоставляющий разрешение (или участник, указанный параметром 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 для схемы, могут предоставлять любые разрешения на любые объекты, содержащиеся в данной схеме.