ZooKeeper クラスターはデフォルトで身分認証を強制しないため、ネットワーク上の任意のクライアントがクラスターデータにアクセス可能です。Microservices Engine (MSE) では DIGEST-MD5 メカニズムによる SASL 認証をサポートしており、ユーザー認証情報を設定してすべてのクライアントに認証を要求できます。
前提条件
ZooKeeper エンジン(バージョン 3.8.0.7 以降)を作成します。ご利用のエンジンがそれ以前のバージョンの場合、「ZooKeeper エンジンのバージョンアップグレード」をご参照ください。
操作手順
-
MSE コンソールにログインします。
-
左側のナビゲーションウィンドウで、マイクロサービスの登録 > インスタンス を選択し、対象インスタンスの名前をクリックします。
-
左側のナビゲーションウィンドウで、Authentication Management を選択します。
-
Authentication Management ページで、Create User をクリックします。Create User パネルで、Username、Password、および Confirm Password を入力し、Confirm and Restart Instance をクリックします。
クラスターの再起動後、新しいユーザー ID 構成が有効になります。
-
ユーザーの Actions 列で、Copy Configuration をクリックします。コピーされた構成にパスワードを追加し、クライアント上にファイルとして保存します。
-
ネイティブ ZooKeeper SDK または CuratorFramework を使用する Java アプリケーションの場合:
-
Java アプリケーションの起動時に、次のシステムプロパティを追加して設定ファイルの場所を指定します。
-Djava.security.auth.login.config=/path // /path は実際のファイルパスに置き換えてください。 -
アプリケーションを再起動します。クライアントは自動的に構成を読み取り、認証を行います。
説明-
Java クライアントでは、ZooKeeper SDK バージョン 3.4 以降を使用してください。
-
その他の言語のクライアントについては、対応する SDK ドキュメントをご参照ください。
-
-
-
すべてのクライアントの構成が完了したら、左側のナビゲーションウィンドウで Parameter Settings を選択します。Parameter Settings ページで、AuthEnabled を true に設定します。これにより、サーバーがすべてのクライアントに対して SASL 身分認証を強制するようになります。
説明AuthEnabled を true に設定すると、未認証のクライアントがサーバーにリクエストを送信できなくなります。