我正在使用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有效,但理想情况并不理想。
我尝试在更改配置后重新启动服务器。
答案 0 :(得分:7)
建议使用共享访问密钥。
要获取具有共享访问密钥的连接字符串,请运行PowerShell cmd:
$authRule = Get-SBAuthorizationRule -NamespaceName ServiceBusDefaultNamespace
$authRule[0].ConnectionString