在我的组织中设置的Rabbit MQ使用LDAP进行身份验证和授权。
如何配置NServiceBus(或RabbitMQ)以使用服务运行的凭据(类似于SQL连接的集成安全性)。
Rabbmit MQ配置
[
{rabbit,
[{auth_backends, [rabbit_auth_backend_ldap]}]},
{rabbitmq_auth_backend_ldap,
[ {servers, ["ad.xxxx.xxx"]},
{dn_lookup_attribute, "userPrincipalName"},
{dn_lookup_base, "OU=xxxx Users,DC=ad,DC=xxxx,DC=xxx"},
{log, true},
{group_lookup_base, "OU=xxxx Users,DC=ad,DC=xxxx,DC=xxx"},
{tag_queries, [{administrator, {in_group, "CN=GRP_Name,OU=XXXX Users,DC=ad,DC=XXXX,DC=XXX"}},
{management, {in_group, in_group, "CN=GRP_Name,OU=XXXX Users,DC=ad,DC=XXXX,DC=XXX"}}]}
]
}
].
NServiceBus代码:
var endpointConfiguration = new EndpointConfiguration("Receiver.Service");
var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
transport.UseConventionalRoutingTopology();
transport.ConnectionString("host=rabbitmq.sb.xxxx.xxx");
1条答案
按热度按时间kcrjzv8t1#
RabbitMQ的LDAP支持要求客户端应用程序传递用户名和密码。没有与SQL的集成安全性等效的安全性。
在本例中,user's必须有一个
DN
,其值以OU=xxxx Users,DC=ad,DC=xxxx,DC=xxx
结尾。您的NServiceBus应用程序将必须传递一个帐户的用户名和密码,其预期值为DN
。https://www.rabbitmq.com/ldap.html