デフォルトでは、ZooKeeper インスタンスは強制的な身分認証を実行しません。その結果、インスタンスデータはネットワークに公開され、すべてのクライアントがデータにアクセスできます。これは潜在的なセキュリティリスクをもたらします。Microservices Engine (MSE) を使用すると、簡易認証およびセキュリティ層 (SASL) 認証メカニズムを構成し、ZooKeeper インスタンスの強制的な身分認証を有効にして、データセキュリティを向上させることができます。MSE ZooKeeper インスタンスは、MD5 ダイジェストに基づく SASL 認証をサポートしています。これにより、MSE ZooKeeper インスタンスは、ユーザー名とパスワードを使用してクライアントを認証します。サーバーで ID 情報を構成し、身分認証を有効にすることができます。これにより、クライアントは ID 情報のみを使用してサーバーにアクセスできます。
前提条件
V3.8.0.7 以降の ZooKeeper エンジンが作成されていること。ZooKeeper エンジンの作成方法の詳細については、「ZooKeeper エンジンを作成する」をご参照ください。エンジンバージョンのスペックアップ方法の詳細については、「ZooKeeper のバージョンをスペックアップする」をご参照ください。
手順
MSE コンソールにログインします。
左側のナビゲーションウィンドウで、マイクロサービスの登録 > インスタンス を選択します。インスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、[認証管理] をクリックします。
[認証管理] ページで、[ユーザーの作成] をクリックします。[ユーザーの作成] パネルで、[ユーザー名]、[パスワード]、[パスワードの確認] を入力し、[OK してインスタンスを再起動] をクリックします。
クラスターが再起動すると、新しいユーザー ID 構成が適用されます。
目的のユーザーを見つけ、[操作] 列の [構成のコピー] をクリックします。コピーした構成に手動でパスワードを追加し、クライアント上のファイルに構成を保存します。
Java 用の ZooKeeper ネイティブ SDK または CuratorFramework を使用するアプリケーションに対して、次の操作を実行します。
既存の構成ファイルが /path に保存されている場合、Java アプリケーションの起動時にシステムプロパティを指定します。
-Djava.security.auth.login.config=/path // 構成ファイルが保存されているパスを構成します。アプリケーションが再起動されると、クライアントは認証のための構成を自動的に読み取ります。
説明Java クライアントを使用する場合、ZooKeeper インスタンスのバージョンが V3.4 以降であることを確認してください。
他のプログラミング言語を使用するクライアントを使用する場合、関連する SDK ドキュメントの指示に従って構成を実行してください。
左側のナビゲーションウィンドウで [パラメーター設定] をクリックします。[パラメーター設定] ページで、AuthEnabled パラメーターを true に設定して SASL 認証を有効にします。
説明AuthEnabled パラメーターを true に設定すると、SASL 認証に失敗したクライアントはサーバーにアクセスできなくなります。