Поделиться через


Как настроить разрешения для локальной службы (Transact-SQL)

SQL Server проверяет наличие разрешения SEND при обращениях к каждой службе и наличие разрешений RECEIVE при обращениях к каждой очереди. Участник безопасности, владеющий службой-инициатором, должен иметь разрешение на отправление SEND сообщений целевой службе. Участник безопасности, использующий приложение, должен иметь разрешение на получение сообщений RECEIVE из всех очередей, из которых приложению будут поступать сообщения.

Эта процедура является упрощенным вариантом процедуры конфигурирования механизма обеспечения безопасности на удаленной системе. В обоих случаях пользователю предоставляется разрешение на отправление SEND сообщений целевой службе и разрешение на получение RECEIVE сообщений из очереди службы, отправляющей сообщения. Однако в случае взаимодействия с удаленной системой нужно еще так настроить механизм обеспечения безопасности компонента Service Broker, чтобы он правильно определял удаленного пользователя. Если взаимодействие осуществляется в пределах одной базы данных, нужно только предоставить разрешения.

Предоставление разрешений пользователю локальной службы

  1. Предоставьте пользователю разрешение на получение сообщений из очереди, используемой приложением.

  2. Предоставьте пользователю, владеющему службой-инициатором, разрешение на отправление сообщений службам, с которыми взаимодействует приложение.

Пример

В следующем примере пользователю BrokerApplicationUser предоставляются разрешения на отправление сообщений службе Ordering от службы, использующего очередь StoreFrontQueue. В этой процедуре предполагается, что пользователь, службы и очередь уже существуют.

USE AdventureWorks ;
GO

-- This example sets permissions for a service
-- program that sends messages to the Ordering service
-- and receives messages from the StoreFrontQueue queue.

-- Grant SEND permission on the service to the owner
-- of the initiating service.
GRANT SEND ON SERVICE::[Ordering]
TO [BrokerApplicationUser] ;
GO

-- Grant RECEIVE permission on the queue.
GRANT RECEIVE ON [StoreFrontQueue]
TO [BrokerApplicationUser] ;
GO

См. также

Задачи

Как сконфигурировать целевые службы для анонимного обеспечения безопасности диалога (Transact-SQL)
Как настроить целевые службы для полной безопасности диалога (Transact-SQL)
Как настроить службы, инициирующие взаимодействие, для полного обеспечения безопасности диалога (Transact-SQL)
Как настроить службы вызывающей стороны для анонимной безопасности диалога (Transact-SQL)

Основные понятия

Разрешения уровня пользователя компонента Service Broker

Другие ресурсы

Инструкция GRANT (Transact-SQL)
GRANT, предоставление разрешения на компонент Service Broker (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005