8.4. OSGi コンテナーでの LDAP 認証の有効化
このセクションでは、OSGi コンテナーで LDAP レルムを設定する方法について説明します。新しいレルムはデフォルトの karaf
レルムを上書きするため、コンテナーは X.500 ディレクトリーサーバーに保存されているユーザーエントリーを基にしてクレデンシャルを認証します。
参考資料 リンクのコピーリンクがクリップボードにコピーされました!
以下は、LDAP 認証に関する詳細なドキュメントです。
- LDAPLoginModule オプション - 詳細については、「JAAS LDAP ログインモジュール」 を参照してください。
- その他のディレクトリーサーバーの設定 - 本チュートリアルは 389-DS のみを取り上げます。Microsoft Active Directory などの他の Directory Server を設定する方法について、詳細は 「さまざまなディレクトリーサーバーのフィルター設定」 を参照してください。
スタンドアロン OSGi コンテナーの手順 リンクのコピーリンクがクリップボードにコピーされました!
スタンドアロン OSGi コンテナーで LDAP 認証を有効にするには、以下を実行します。
- X.500 Directory Server が実行されていることを確認します。
ターミナルウィンドウで次のコマンドを入力し、Karaf コンテナーを起動します。
./bin/fuse
./bin/fuse
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ldap-module.xml
という名前のファイルを作成します。 例8.1「スタンドアロン用の JAAS レルム」 を
ldap-module.xml
にコピーします。例8.1 スタンドアロン用の JAAS レルム
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ldap-module.xml
ファイルで以下の設定をカスタマイズする必要があります。- connection.url
-
この URL を Directory Server インスタンスの実際の場所に設定します。通常、この URL の形式は
ldap://Hostname:Port
です。たとえば、389 Directory Server のデフォルトポートは IP ポート389
です。 - connection.username
-
Directory Server への接続を認証するために使用されるユーザー名を指定します。389 Directory Server の場合、デフォルトは通常
cn=Directory Manager
です。 - connection.password
- Directory Server への接続に使用するクレデンシャルのパスワード部分を指定します。
- 認証
認証プロトコルには、次のいずれかの選択肢を指定できます。
-
simple
の場合、ユーザークレデンシャルが提供され、connection.username
オプションおよびconnection.password
オプションを設定する義務があることを意味します。 none
の場合、認証が行われないことを意味します。この場合、connection.username
およびconnection.password
オプションを設定しないでください。このログインモジュールは、
karaf
という名前の JAAS レルムを作成します。これは、Fuse によって使用されるデフォルトの JAAS レルムと同じ名前です。0
より大きいrank
属性の値でこのレルムを再定義すると、ランク0
を持つ標準karaf
レルムがオーバーライドされます。LDAP を使用するように Fuse を設定する方法について、詳細は 「JAAS LDAP ログインモジュール」 を参照してください。
重要上記の JAAS プロパティーを設定するときは、プロパティー値を二重引用符で 囲まない でください。
-
新しい LDAP モジュールをデプロイするには、
ldap-module.xml
を Karaf コンテナーのdeploy/
ディレクトリー (ホットデプロイ) にコピーします。LDAP モジュールは自動的にアクティブ化されます。
注記その後、LDAP モジュールをアンデプロイする必要がある場合は、Karaf コンテナーの実行中 に
ldap-module.xml
ファイルをdeploy/
ディレクトリーから削除することで実行できます。
LDAP 認証のテスト リンクのコピーリンクがクリップボードにコピーされました!
以下のように Karaf client
ユーティリティーを使用して実行中のコンテナーに接続し、新しい LDAP レルムをテストします。
- 新しいコマンドプロンプトを開きます。
-
Karaf
InstallDir/bin
ディレクトリーに移動します。 以下のコマンドを入力し、ID
jdoe
を使用して実行中のコンテナーインスタンスにログインします。./client -u jdoe -p secret
./client -u jdoe -p secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーのリモートコンソールに正常にログインする必要があります。コマンドコンソールで、
jaas:
と入力した後に [Tab] キーを押します (コンテンツ補完を使用)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow jdoe
がすべてのjaas
コマンド (admin
と一致) にアクセスできることが確認できるはずです。-
logout
コマンドを入力して、リモートコンソールからログアウトします。 以下のコマンドを入力し、ID
janedoe
を使用して実行中のコンテナーインスタンスにログインします。./client -u janedoe -p secret
./client -u janedoe -p secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーのリモートコンソールに正常にログインする必要があります。コマンドコンソールで、
jaas:
と入力した後に [Tab] キーを押します (コンテンツ補完を使用)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow janedoe
がほぼすべてのjaas
コマンド (manager
と一致) にアクセスできることが確認できるはずです。-
logout
コマンドを入力して、リモートコンソールからログアウトします。 以下のコマンドを入力し、ID
crider
を使用して実行中のコンテナーインスタンスにログインします。./client -u crider -p secret
./client -u crider -p secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーのリモートコンソールに正常にログインする必要があります。コマンドコンソールで、
jaas:
と入力した後に [Tab] キーを押します (コンテンツ補完を使用)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow crider
は 5 つのjaas
コマンド (viewer
ロールと一致) のみにアクセスできることが確認できるはずです。-
logout
コマンドを入力して、リモートコンソールからログアウトします。
トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
LDAP 接続のテスト中に問題が発生した場合は、ログレベルを DEBUG
に引き上げ、LDAP サーバーへの接続で何が起こっているかを詳細にトレースします。
以下の手順を実行します。
Karaf コンソールから以下のコマンドを入力し、ログレベルを
DEBUG
に引き上げます。log:set DEBUG
log:set DEBUG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Karaf ログをリアルタイムで観察します。
log:tail
log:tail
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログリストからエスケープするには、Ctrl-C を入力します。