Apache ActiveMQ に JAAS 認証を実装したい場合、activemq.xml 構成ファイルでプラグインを使用する必要がありますか?
承認を変更したい場合、activemq.xml ファイルを変更してサーバーを再起動する必要があるため、この方法は本当に良くありません。
activemq.xml ファイルではなく、他のプロパティ ファイルを変更することで、JAAS 認証のように使用できる方法はありますか? または、独自の認証プラグインをカスタマイズできますか?
ありがとう。
Apache ActiveMQ に JAAS 認証を実装したい場合、activemq.xml 構成ファイルでプラグインを使用する必要がありますか?
承認を変更したい場合、activemq.xml ファイルを変更してサーバーを再起動する必要があるため、この方法は本当に良くありません。
activemq.xml ファイルではなく、他のプロパティ ファイルを変更することで、JAAS 認証のように使用できる方法はありますか? または、独自の認証プラグインをカスタマイズできますか?
ありがとう。
ActiveMQ セキュリティを設定するときはいつでも、プレーンなAuthorizationPluginを対象の宛先を示すワイルドカードとともに使用するのが最善であることがわかりました(そのため、キューとトピックから命名規則を使用すると非常に便利です)。アイデアは、少数のユーザー グループを定義し、それらの宛先へのアクセスを許可することです。
ユーザー名からグループを割り当てる役割は、認証プラグインの 1 つによって処理されます。JAAS プラグインは、この情報を LDAP ディレクトリの ActiveMQ 構成の外に外部化するのに特に役立ちます。
詳細については、FuseSource のActiveMQ Security Guideを参照してください (登録が必要です)。
2018 年 7 月 2 日ActiveMQ セキュリティ ガイドを更新し、現在 redhat にあります。
このテーマを始めるのに非常に役立ついくつかのコード スニペットを見つけました。
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/