AMQ使用JAAS插件进行全限访问控制

3 篇文章 0 订阅
3 篇文章 0 订阅
  • 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="&gt;" read="admins" write="admins" admin="admins" />
                            <authorizationEntry topic="ap.&gt;" read="clouds,admins" write="aps,admins" admin="aps,clouds,admins" />
                            <authorizationEntry topic="cloud.&gt;" read="aps,admins" write="clouds,admins" admin="aps,clouds,admins" />

                            <authorizationEntry topic="ActiveMQ.Advisory.&gt;" read="aps,clouds,admins" write="clouds,admins,aps" admin="aps,clouds,admins"/>
                        </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>
</plugins>


 

  • 验证配置

 

使用mosquitto验证配置,

  1. 以ap/ 开头的主题  用户名ap只能发布信息,不能订阅(发布时mosquitto客户端无反馈,activemq.log显示 该用户无权限发布,发布失败)

  1. 以cloud/ 开头的主题 用户名 cloud 只能发布不能订阅(订阅时mosquitto客户端无反馈,与订阅成功状态一致,但无法接受消息。activemq.log显示 该用户无权限订阅,订阅失败)

  1. 其他任何主题,用户名ap、cloud  均不能订阅与发布,状态类似。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值