4

Apache ActiveMQ に JAAS 認証を実装したい場合、activemq.xml 構成ファイルでプラグインを使用する必要がありますか?

承認を変更したい場合、activemq.xml ファイルを変更してサーバーを再起動する必要があるため、この方法は本当に良くありません。

activemq.xml ファイルではなく、他のプロパティ ファイルを変更することで、JAAS 認証のように使用できる方法はありますか? または、独自の認証プラグインをカスタマイズできますか?

ありがとう。

4

2 に答える 2

6

ActiveMQ セキュリティを設定するときはいつでも、プレーンなAuthorizationPluginを対象の宛先を示すワイルドカードとともに使用するのが最善であることがわかりました(そのため、キューとトピックから命名規則を使用すると非常に便利です)。アイデアは、少数のユーザー グループを定義し、それらの宛先へのアクセスを許可することです。

ユーザー名からグループを割り当てる役割は、認証プラグインの 1 つによって処理されます。JAAS プラグインは、この情報を LDAP ディレクトリの ActiveMQ 構成の外に外部化するのに特に役立ちます。

詳細については、FuseSource のActiveMQ Security Guideを参照してください (登録が必要です)。

2018 年 7 月 2 日ActiveMQ セキュリティ ガイドを更新し、現在 redhat にあります。

于 2012-07-20T09:26:27.920 に答える
4

このテーマを始めるのに非常に役立ついくつかのコード スニペットを見つけました。

http://activemq.2283324.n4.nabble.com/Fully-programmatic-authorization-map-tp2344815.html

これが私がそれを使用することになった方法です(最良の方法ではないかもしれません):

public class TestAuthorizationPlugin extends AuthorizationPlugin {

それで:

@Override
public Broker installPlugin(Broker broker) {
    List<DestinationMapEntry> entries = new ArrayList<DestinationMapEntry>(); 
    try {
        entries.add(makeTopicAuthorization("groupA.topic", "groupA", "groupA", "groupA"));
        entries.add(makeQueueAuthorization("groupA.queue", "groupA", "groupA", "groupA"));
        entries.add(makeQueueAuthorization("groupB.queue", "groupB", "groupB", "groupB"));
        entries.add(makeTopicAuthorization("ActiveMQ.Advisory.>", "all", "all", "all"));
        AuthorizationMap authMap = new DefaultAuthorizationMap(entries);
        return new AuthorizationBroker(broker, authMap);
    } catch (Exception e) {
        LOGGER.error(e);
    } 

    return new AuthorizationBroker(broker, null);
}

これを瓶に入れて突き刺し<activemq_home>/lib/ます。

activemq.xml を変更します。

<plugins>
    <!--  use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->
    <jaasAuthenticationPlugin configuration="activemq" />

    <!-- Authorization control -->
    <bean xmlns="http://www.springframework.org/schema/beans" class="com.blackstrype.activemq.security.TestAuthorizationPlugin"/>
</plugins>

autho プラグイン dev の詳細については、別の役立つリンク:

http://mariuszprzydatek.com/2014/01/04/token-based-authentication-plugin-for-activemq/

于 2015-07-10T15:01:07.320 に答える