Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
4.4. LdapExtended ログインモジュール
短縮名: LdapExtended
フルネーム: org.jboss.security.auth.spi.LdapExtLoginModule
親: UsernamePasswordLoginModule
LdapExtended ログインモジュールは、ユーザーと認証で関連ロールを検索します。ロールは再帰的にクエリーを行い、DN に従って階層的なロール構造を移動します。LoginModule オプションには、JNDI プロバイダーがサポートする指定の LDAP によってオプションがサポートされるかどうかが含まれます。
認証は 2 つの手順で行われます。
- LDAP サーバーへの最初のバインドは、bindDN オプションおよび bindCredential オプションを使用して行われます。bindDN は LDAP ユーザーであり、ユーザーとロールの baseCtxDN および rolesCtxDN ツリーの両方を検索する機能があります。認証するユーザー DN は、baseFilter 属性で指定されたフィルターを使用してクエリーされます。
- 生成されるユーザー DN は、ユーザー DN をプリンシパル名として使用し、コールバックハンドラーが取得したパスワードをプリンシパルの認証情報として使用して LDAP サーバーにバインドすることで認証されます。
表4.3 LdapExtended ログインモジュール
| オプション | Type | デフォルト | 説明 |
|---|---|---|---|
| baseCtxDN | 完全修飾 DN | none | ユーザーの検索を開始するため、トップレベルのコンテキストの固定 DN です。 |
| bindCredential | 文字列 (オプションで暗号化) | none | DN の認証情報を保存するために使用されます。 |
| bindDN | 完全修飾 DN | none | ユーザーおよびロールクエリーの LDAP サーバーに対してバインドするために使用される DN です。この DN には、baseCtxDN および rolesCtxDN 値の読み取りおよび検索パーミッションが必要です。 |
| baseFilter | LDAP フィルター文字列。 | none |
認証するユーザーのコンテキストを見つけるために使用される検索フィルター。 |
| jaasSecurityDomain | String | none | パスワードの復号に使用する JaasSecurityDomain の JMX ObjectName。 |
| rolesCtxDN | 完全修飾 DN | none | ユーザーロールを検索するためのコンテキストの固定 DN です。これは、実際のロールがである DN ではなく、ユーザーロールを含むオブジェクトがある DN です。たとえば、Microsoft Active Directory サーバーでは、ユーザーアカウントが DN になります。 |
| roleFilter | LDAP フィルター文字列。 | none |
認証されたユーザーに関連付けられたロールを見つけるために使用される検索フィルター。 |
| roleAttributeID | attribute | role | ユーザーロールを含む属性の名前。 |
| roleAttributeIsDN | true または false | false | roleAttributeID にロールオブジェクトの完全修飾 DN が含まれるかどうか。false の場合は、コンテキスト名の roleNameAttributeId 属性の値からこのロール名が取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性を true に設定する必要があります。 |
| defaultRole | ロール名 | none | すべての認証ユーザーに含まれるロール |
| parseRoleNameFromDN | true または false | false | クエリーによって返された DN に roleNameAttributeID が含まれるかどうかを示すフラグ。true に設定した場合には、DN は roleNameATtributeID に対してチェックされます。false に設定すると、DN は roleNameATtributeID に対して確認されません。このフラグにより、LDAP クエリーのパフォーマンスを向上できます。 |
| parseUsername | true または false | false | DN が username 名用に解析されるかどうかを示すフラグ。true に設定した場合には、DN はユーザー名に対して解析されます。false に設定した場合には、DN はユーザー名に対して解析されません。このオプションは、usernameBeginString および usernameEndString とともに使用されます。 |
| usernameBeginString | String | none | DN の最初から削除される文字列を定義して、ユーザー名を表示します。このオプションは usernameEndString と合わせて使用し、parseUsername が true に設定されている場合にのみ考慮されます。 |
| usernameEndString | String | none | DN の最後から削除され、username を表示する文字列を定義します。このオプションは usernameBeginString とともに使用され、parseUsername が true に設定されている場合のみ考慮されます。 |
| roleNameAttributeID | attribute | name | ロール名を含む roleCtxDN コンテキスト内の属性の名前。roleAttributeIsDN プロパティーを true に設定すると、このプロパティーはロールオブジェクトの名前属性の検索に使用されます。 |
| distinguishedNameAttribute | attribute | distinguishedName | ユーザーの DN を含むユーザーエントリーの属性の名前。これは、ユーザー自体の DN に特殊文字 (たとえば、正しいユーザーマッピングを防ぐバックスラッシュ) が含まれている場合に必要になることがあります。属性が存在しない場合は、エントリーの DN が使用されます。 |
| roleRecursion | Integer | 0 | ロール検索の再帰レベルの数は、一致するコンテキストの下に続きます。これを 0 に設定して再帰を無効にします。 |
| searchTimeLimit | integer | 10000 (10 秒) | ユーザーまたはロールの検索のタイムアウト (ミリ秒単位)。 |
| searchScope | OBJECT_SCOPE, ONELEVEL_SCOPE, SUBTREE_SCOPE のいずれか | SUBTREE_SCOPE | 使用する検索範囲。 |
| allowEmptyPasswords | true または false | false | 空のパスワードを許可するかどうか。ほとんどの LDAP サーバーは、空のパスワードを匿名ログイン試行として処理します。空のパスワードを拒否するには、これを false に設定します。 |
| referralUserAttributeIDToCheck | attribute | none | 紹介を使用しない場合、このオプションは無視することができます。リファーラルを使用し、ロールオブジェクトがリファーラル内部にあると、このオプションは特定のロール (例: member) に対して定義されたユーザーが含まれる属性名を示します。ユーザーはこの属性名の内容に対して確認されます。このオプションが設定されていないとチェックは常に失敗するため、ロールオブジェクトはリファーラルツリーに保存できません。 |
LDAP サーバーへの接続と初期コンテキストの作成に関連する追加の LDAP コンテキストプロパティーは、ここで 詳しく説明します。
このログインモジュールは親 UsernamePasswordLoginModule から ignorePasswordCase オプションを継承しますが、特定のログインモジュールでは使用されません。