ldap集成rabbitmq
rabbitmq版本: 3.7.4
rabbitmq支持ldap需要开启插件:
rabbitmq-plugins enable rabbitmq_auth_backend_ldap
rabbitmq主要通过两个配置文件对ldap服务进行控制访问: rabbitmq.conf,advanced.config。
rabbitmq.conf: ldap连接,查询配置。
advanced.config:rabbitmq权限配置。
rabbitmq.conf的配置如下:
auth_backends.1 = internal
auth_backends.2 = ldap
auth_ldap.servers.1 = ldap.xxxxx.net
auth_ldap.port = 389
auth_ldap.use_ssl = false
auth_ldap.user_dn_pattern= cn=${username},ou=People,dc=xxxx,dc=xxxxx,dc=xxxx
#如果用户存在在内部数据库,则对用户执行授权检查,不存在则在LDAP中查找用户并进行校验
auth_backends.1 = internal
auth_backends.2 = ldap
#ldap服务器地址,可配置多个,将按顺序尝试进行连接,直到与其中一个连接成功为止
auth_ldap.servers.1 = ldap01.xxxxx.net
auth_ldap.servers.2 = ldap02.xxxxx.net
#是否使用tls连接ldap服务器
auth_ldap.use_ssl = false
#根据匹配字段查找符合条件的用户
auth_ldap.user_dn_pattern= cn=${username},ou=People,dc=xxxx,dc=xxxxx,dc=xxxx
advanced.config的配置如下:
[{rabbitmq_auth_backend_ldap,[
{tag_queries, [{administrator, {in_group, "cn=rabbitmq-dev-administrator,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}},
{management, {in_group, "cn=rabbitmq-dev-management,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}}]}
]}].
#返回ou=rabbitmq组中cn=rabbitmq-dev-administrator 匹配属性为uniqueMember的用户,授予administrator的权限
{administrator, {in_group, "cn=rabbitmq-dev-administrator,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}
#返回ou=rabbitmq组中cn=rabbitmq-dev-management 匹配属性为uniqueMember的用户,授予management的权限
{management, {in_group, "cn=rabbitmq-dev-management,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"
rabbitmq管理插件的以下五种权限标签:
以上是对两种配置文件大致介绍,现在启动rabbitmq验证配置是否正确。
3.7.0之前的配置在rabbitmq.config文件里,配置格式:
[{rabbit,[
{auth_backends, [rabbit_auth_backend_internal,rabbit_auth_backend_ldap]}
]},
{rabbitmq_auth_backend_ldap, [
{servers, ["ldap.xxxxx.net"]},
{port, 389},
{user_dn_pattern, "cn=${username},ou=People,dc=ldap,dc=xxxxx,dc=net"},
{tag_queries, [{administrator, {in_group, "cn=rabbitmq-qa-administrator,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}},
{management, {in_group, "cn=rabbitmq-qa-management,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}}]}
]}
].
启动服务: rabbitmq-server ,观察日志查看服务是否启动正常
主要查看是否加载上图红框所示的两个配置文件,如果未成功加载,需在 /etc/rabbitmq/rabbitmq-env.conf 中添加以下配置:
CONFIG_FILE="/opt/rabbitmq/etc/rabbitmq/rabbitmq.conf"
ADVANCED_CONFIG_FILE="/opt/rabbitmq/etc/rabbitmq/advanced.config"
接下来验证账户是否可以登录
登录成功,查看ldap中对应组信息:
以上就是ldap+rabbitmq的配置。
参考链接:
https://www.rabbitmq.com/ldap.html
http://www.rabbitmq.com.s.icopy.site/ldap.html
赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!
作者: imcati
出处: https://www.cnblogs.com/imcati/>
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接