【问题标题】:ActiveMQ securing QueuesActiveMQ 保护队列
【发布时间】:2018-03-01 00:55:18
【问题描述】:

我正在寻找一种机制来保护 ActiveMQ 上的队列访问。我们使用 Spring JMS 将 JMS 消息发送到 ActiveMQ 队列。现在,这些队列在公司内部是公开可用的,我们不希望任何人都可以访问这些队列并发布和接收来自它们的消息。相反,我们希望通过身份验证机制来保护它们 - 最好是用户名/密码机制。任何与此相关的提示都会非常有帮助。

ActiveMQ - 5.5.1 春天 3.X

【问题讨论】:

标签: security jms activemq spring-jms


【解决方案1】:

身份验证在代理级别而不是队列。您对代理进行身份验证,就像对数据库服务器进行身份验证一样。

就像数据库中的表一样,然后您将权限分配给每个队列/主题的用户和组(用户 FOO 可以接收关于主题 A 的消息,用户 BAR 可以发布到主题 A,等)。

不幸的是,这不像在其他系统中那样直截了当。数据库支持这种任务,AMQ 只是提供了一个 API,插件可以使用它来配置安全性。

这是一个示例配置: https://github.com/apache/activemq/blob/master/activemq-unit-tests/src/test/resources/org/apache/activemq/security/jaas-broker.xml

为此的 login.config: https://github.com/apache/activemq/blob/master/activemq-unit-tests/src/test/resources/login.config

基本单元测试: https://github.com/apache/activemq/blob/master/activemq-unit-tests/src/test/java/org/apache/activemq/security/XBeanSecurityTest.java

这应该让你开始。

【讨论】:

    【解决方案2】:

    如果您还没有,请看这里:ActiveMQ authorization

    正如 Aaron Digulla 所提到的,您可以直接在 xml 配置中管理您的授权,或者您可以在 java 级别做一些调整。我们稍微修饰了现有的授权插件,它允许我们从文件中动态加载授权和组——如果您不想停机,这很重要。

    我们对 ActiveMQAuthenticationPlugin 应用了相同的技术,允许我们加密我们的用户/密码文件。

    【讨论】:

      猜你喜欢
      • 2014-09-27
      • 2021-03-08
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2012-12-10
      • 1970-01-01
      • 2011-03-15
      相关资源
      最近更新 更多