6、ActiveMQ安全

安全代理最简单的方式是通过直接在代理的XML配置文件中使用身份验证凭证。

  1. <plugins>
  2. <simpleAuthenticationPlugin>
  3. <users>
  4. <authenticationUser username="admin" password="password"
  5. groups="admins,publishers,consumers"/>
  6. <authenticationUser username="publisher" password="password"
  7. groups="publishers,consumers"/>
  8. <authenticationUser username="consumer" password="password"
  9. groups="consumers"/>
  10. <authenticationUser username="guest" password="password"
  11. groups="guests"/>
  12. </users>
  13. </simpleAuthenticationPlugin>
  14. </plugins>

提供用户名/密码

  1. factory = new ActiveMQConnectionFactory(brokerURL);
  2. connection = factory.createConnection(username, password);

JAAS( Java Authentication Authorization Service,Java验证和授权API)插件

JAAS插件提供的功能与简单身份认证插件相同,但使用了标准的java机制

  1. <plugins>
  2. <jaasAuthenticationPlugin configuration="activemq-domain" />
  3. </plugins>

授权

ActiveMQ提供两个级别的授权:目的地/操作级别和消息级别

有三种具有JMS目的地的用户级操作:读/写/管理(read/write/admin)

  1. <authorizationEntry topic="STOCKS.>" read="consumers" write="publishers"
  2. admin="publishers" />

消息级别的授权控制对目标中的特定消息的访问。使用MessageAuthorizationPolicy类中的isAllowedToConsume()方法。

SSL证书

证书可以用来避免存储使用普通的用户名和密码放入凭据。