23.2. クラスターセキュリティー


JGroups は、ノードが結合/マージに参加するときに相互に認証する必要があるよう設定できます。認証は SASL を使用し、以下のように GMS プロトコルの上の JGroups XML 設定に SASL プロトコルを追加することで設定されます。

<SASL mech="DIGEST-MD5"
    client_name="node_user"
    client_password="node_password"
    server_callback_handler_class="org.example.infinispan.security.JGroupsSaslServerCallbackHandler"
    client_callback_handler_class="org.example.infinispan.security.JGroupsSaslClientCallbackHandler"
    sasl_props="com.sun.security.sasl.digest.realm=test_realm" />

上記の例では、SASL mech は DIGEST-MD5 になります。各ノードは、クラスターに参加する際に使用するユーザーとパスワードを宣言する必要があります。ノードの動作は、コーディネーターか他のノードかによって異なります。コーディネーターは SASL サーバーとして機能しますが、ノードが参加/以前のノードは SASL クライアントとして機能します。そのため、2 つの異なる CallbackHandler が必要です。server_callback_handler_class はコーディネーターによって使用され、client_callback_handler_class は他のノードによって使用されます。JGroups の SASL プロトコルは認証プロセスにのみ関係します。ノードの承認を実装する場合は、例外をスローしてサーバーコールバックハンドラー内で実行できます。以下の例は、これがどのように実行されるかを示しています。

public class AuthorizingServerCallbackHandler implements CallbackHandler {

    @Override
    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
        for (Callback callback : callbacks) {
            ...
            if (callback instanceof AuthorizeCallback) {
                AuthorizeCallback acb = (AuthorizeCallback) callback;
                UserProfile user = UserManager.loadUser(acb.getAuthenticationID());
                if (!user.hasRole("myclusterrole")) {
                    throw new SecurityException("Unauthorized node " +user);
                }
            }
            ...
        }
    }
}
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る