- AMQ 配置文件介绍
Activemq.xml 主配置文件
Broker.ks JMS格式的keystore服务器证书库
Broker.ts JMS格式的受信任的证书库(只包含受信任的客户端的证书,用于双向认证)
Client.ks JMS格式的客户端ketstore证书库
Clieng.ts JMS格式的受信任的truststore证书库(只包含受信任的服务端的证书,用于双向认证)
Credentials-enc.properties broker连接时使用的用户名密码,加密过的(一般不用,大多使用插件做安全控制)
Credentials.properties broker连接时使用的用户名密码,明文密码(一般不用,一般不用,大多使用插件做安全控制)
Groups.properties 用户的分组信息,角色信息(分组名=用户名1,用户名2,用户名3格式)
Jetty-realm.properties webconsole访问时的用户名密码
Jmx.access 访问控制文件,用于限制JMX访问权限
Jmx.password JMX访问的密码文件
Jetty.xml 导入active.xml的配置文件,可以修改web访问端口
Login.config JAAS安全认证使用的配置文件,关联user.properties与groups.properties
User.properties 配置用户信息,用户名密码(用户名=密码)
- 配置登陆账户信息
格式 用户名=密码
- 配置角色分组信息
格式 组名=用户名1,用户名2,用户名3(使用逗号隔开)
- 配置主配置文件
允许对ActiveMq.Advisory 相关主题的操作,必须加上
视情况而定,可以不加
三种权限,注意admin权限只是创建权限,不包括写:
read:可以从queue或者topic里面接收消息,引号里面为组名
write:可以向queue或者topic发送消息,引号里面为组名
admin:可以创建queue或者topic(可能还有别的功能),引号里面为组名
activeMq.xml在systemUsage标签前添加红框内配置
<plugins>
<!-- use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->
<jaasAuthenticationPlugin configuration="activemq" />
<!-- lets configure a destination based authorization mechanism -->
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry topic=">" read="admins" write="admins" admin="admins" />
<authorizationEntry topic="ap.>" read="clouds,admins" write="aps,admins" admin="aps,clouds,admins" />
<authorizationEntry topic="cloud.>" read="aps,admins" write="clouds,admins" admin="aps,clouds,admins" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="aps,clouds,admins" write="clouds,admins,aps" admin="aps,clouds,admins"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
- 验证配置
使用mosquitto验证配置,
- 以ap/ 开头的主题 用户名ap只能发布信息,不能订阅(发布时mosquitto客户端无反馈,activemq.log显示 该用户无权限发布,发布失败)
- 以cloud/ 开头的主题 用户名 cloud 只能发布不能订阅(订阅时mosquitto客户端无反馈,与订阅成功状态一致,但无法接受消息。activemq.log显示 该用户无权限订阅,订阅失败)
- 其他任何主题,用户名ap、cloud 均不能订阅与发布,状态类似。