ActiveMQ入门(四)ActiveMQ的安全认证

本文介绍如何通过配置ActiveMQ的activemq.xml文件实现安全认证,包括使用JAAS插件进行权限管理,以及如何在login.config文件中指定用户和用户组权限。通过实际操作验证了错误的用户名和密码无法发送消息,确保了MQ的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

      本章学习ActiveMQ安全认证的相关知识

方法

1.概念

我们知道,之前我们讲解了PTP模式以及PS模式,其中有这样一段代码:

该处是创建工厂对象的额时候需要填写的三个参数。用户名,密码以及连接地址。

我们所书写的用户名和密码是ActiveMQ中默认拥有的用户名和密码,但是你不妨这样试一下:

如果你将密码改为3,或者你将用户名改成别的,也就是说无论你是什么用户名密码都可以连接ActiveMQ。

面对如此不安全的情况,ActiveMQ为我们提供了相关的安全认证功能。

2.配置ActiveMQ的安全认证

1)我们找到conf目录下的activemq.xml配置文件进行编辑,<broker>标签下添加如下内容:

<plugins>
	<!--  use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->
       <!--  添加jaas认证插件activemq在login.config里面定义,详细见login.config-->

	<jaasAuthenticationPlugin configuration="activemq" />
	<!--  lets configure a destination based authorization mechanism -->
	<authorizationPlugin>
		<map>
			<authorizationMap>
				<authorizationEntries>
					<authorizationEntry topic=">" read="admins" write="admins" admin="admins" />
					<authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
					<authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins"/>
					<authorizationEntry queue="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins"/>
				</authorizationEntries>
			</authorizationMap>
		</map>
	</authorizationPlugin>
</plugins>

<jaasAuthenticationPlugin configuration="activemq" />指定了使用JAAS插件管理权限,至于configuration="activemq"是在login.conf文件里定义的

<authorizationEntry queue=">" read="admins" write="admins" admin="admins" />指定了具体的Topic/Queue与用户组的授权关系

<authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins"/>这个是必须的配置,不能少

2)我们看一下login.config的内容

这里显示我们的MQ用户配置在users.properties,用户组的配置在groups.properties,我们分别打开这两个文件看一下:

首先是users.properties

其中只有默认的配置,也就是我们的用户名=密码,如果需要添加其他自定义的用户名和密码,回车继续添加即可。

然后看一下用户组groups.properties

这里指明了admins用户组所拥有的用户。如果需要添加更多用户只要——用户组=用户名,用户名,...即可

而我们之前的配置文件添加的认证插件恰好说明了admins用户组的用户需要权限验证,包括PTP模式和PS模式。

我们只需要重新启动MQ即可。

3.验证使用错误的用户名和密码是否可以发送消息

使用上述用户名和密码发送消息,运行结果如下所示:

 这说明我们的安全认证添加成功,使得MQ更加的安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值