仅包含域帐户的服务代理

时间:2012-07-11 13:10:56

标签: sql sql-server service-broker

我是MS Sql服务经纪人的新手。

我已经检查了几个教程。但我找不到答案。

我已经分发了服务器,但幸运的是它们都属于同一个域。

是否可以在不使用任何证书的情况下完成结构?

2 个答案:

答案 0 :(得分:3)

是。

不使用对话安全性。确保所有BEGIN DIALOG语句都使用ENCRYPTION = OFF子句:

BEGIN DIALOG @handle
  FROM SERVICE @from_service   
  TO SERVICE @to_service
  ON CONTRACT @contract
  WITH ENCRYPTION = OFF;       

在每个目的地服务上向SEND授予[public]权限:

GRANT SEND ON SERVICE::<servicename> TO [public];

WINDOWS s上使用ENDPOINT身份验证:

 CREATE ENDPOINT broker 
   STATE = STARTED
   AS TCP (LISTENER_PORT = 4022)
   FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS);

CONNECT授予对SQL服务使用的域帐户的ENDPOINT权限:

GRANT CONNECT ON ENDPOINT::broker TO [domain\sqlserviceaccount];  

(编辑以纠正GRANT SEND语法)

答案 1 :(得分:0)

Remus,您是否可以使用加密但没有主密钥加密?我看到当我使用AUTHENTICATION = WINDOWS时,我也可以ENCRYPTION = SUPPORTED。阅读SB,有两种类型的加密(传输和消息)。

这都在同一个内部网络上,但我不想让消息的内容可读。我认为这只意味着我需要传输安全性 - 我不知道这是否需要证书或主密钥加密。

谢谢!