2013-03-27 75 views
1

我正在尋找一種機制來保護ActiveMQ上的隊列訪問。我們使用Spring JMS將JMS消息發送到ActiveMQ隊列。現在隊列在公司內部公開,我們不希望只有任何人訪問這些隊列並從他們發佈和接收消息。相反,我們希望通過身份驗證機制來保護它們 - 最好是用戶名/密碼機制。任何提示都是非常有幫助的。ActiveMQ安全隊列

ActiveMQ的 - 5.5.1 春3.X

+0

你看過ActiveMQ文檔嗎? 您是否嘗試過任何提及的身份驗證機制? http://activemq.apache.org/security.html – jbx 2013-03-27 16:54:02

+0

身份驗證在代理級別不在隊列中。 Activemq提供各種選項。 – techuser 2013-03-29 04:53:27

+0

檢查 - > http://stackoverflow.com/questions/11494795/activemq-authorization – Rafael 2016-10-27 13:27:16

回答

2

認證是在經紀人的水平不排隊。您就像對數據庫服務器進行身份驗證一樣對代理進行身份驗證。

就像與數據庫中的表,你再送給分配權限給用戶和組每個隊列/主題(用戶FOO可以接收主題進行的消息,用戶欄可以發佈到話題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

這應該讓你開始。

0

,如果你還沒有準備好,看看這裏:ActiveMQ authorization

正如亞倫Digulla提到的,你可以在XML配置直接管理的授權,或者你可以在Java級別的東西一點點一點點調整。我們修改了現有的授權插件,允許我們從文件中動態加載授權和組 - 這一點非常重要,如果您不想要任何停機時間的話。

我們對ActiveMQAuthenticationPlugin應用了相同的技術,允許我們加密我們的用戶/密碼文件。