无法授予对作为LocalSystem或NetworkService运行的服务的服务总线命名空间的访问权限?

时间:2013-07-23 10:02:57

标签: servicebus

我正在使用Service Bus For Windows Server v1.0。我有一个在LocalSystem(NT AUTHORITY \ SYSTEM)帐户或NetworkService(NT AUTHORITY \ NETWORK SERVICE)中运行的服务。我想在服务总线的默认命名空间上授予该服务管理权限。

我跑了:

set-sbnamespace -name ServiceBusDefaultNamespace -ManageUsers 
"NT AUTHORITY\SYSTEM","NT AUTHORITY\NETWORK SERVICE","MY_DOMAIN\MY_USER"

结果:

Name                  : ServiceBusDefaultNamespace
AddressingScheme      : Path
CreatedTime           : 7/19/2013 2:40:52 PM
IssuerName            : ServiceBusDefaultNamespace
IssuerUri             : ServiceBusDefaultNamespace
ManageUsers           : {nt authority\system, nt authority\network service,
                    my_user@my_domain}

但是在尝试创建队列时,我收到错误:

The remote server returned an error: (401) Unauthorized. Authorization 
failed for specified action: Manage..TrackingId:XXXXXXXXXXXXXXXXXXXX, 
TimeStamp:7/23/2013 9:31:31 AM

如果我尝试添加系统帐户“MY_DOMAIN \ MY_SERVER $”,则会抱怨该帐户不存在,即使这对MS SQL Server完全有效。

如果我尝试运行该服务,因为MY_DOMAIN \ MY_USER有效,但理想情况并不理想。

我尝试在更改配置后重新启动服务器。

1 个答案:

答案 0 :(得分:7)

建议使用共享访问密钥。

要获取具有共享访问密钥的连接字符串,请运行PowerShell cmd:

$authRule = Get-SBAuthorizationRule -NamespaceName ServiceBusDefaultNamespace
$authRule[0].ConnectionString