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 つの手順で行われます。

  1. LDAP サーバーへの最初のバインドは、bindDN オプションおよび bindCredential オプションを使用して行われます。bindDN は LDAP ユーザーであり、ユーザーとロールの baseCtxDN および rolesCtxDN ツリーの両方を検索する機能があります。認証するユーザー DN は、baseFilter 属性で指定されたフィルターを使用してクエリーされます。
  2. 生成されるユーザー 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

認証するユーザーのコンテキストを見つけるために使用される検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。検索フィルターの一般的な例は (uid={0}) です。

jaasSecurityDomain

String

none

パスワードの復号に使用する JaasSecurityDomain の JMX ObjectName。

rolesCtxDN

完全修飾 DN

none

ユーザーロールを検索するためのコンテキストの固定 DN です。これは、実際のロールがである DN ではなく、ユーザーロールを含むオブジェクトがある DN です。たとえば、Microsoft Active Directory サーバーでは、ユーザーアカウントが DN になります。

roleFilter

LDAP フィルター文字列。

none

認証されたユーザーに関連付けられたロールを見つけるために使用される検索フィルター。{0} 式を使用しているフィルターに、入力ユーザー名、またはログインモジュールコールバックから取得した userDN が置換されます。認証済み userDN{1} が使用されたフィルターに置き換えられます。入力ユーザー名の検索フィルター例は (member={0}) です。認証済み userDN を照合する他の例は (member={1}) です。

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 と合わせて使用し、parseUsernametrue に設定されている場合にのみ考慮されます。

usernameEndString

String

none

DN の最後から削除され、username を表示する文字列を定義します。このオプションは usernameBeginString とともに使用され、parseUsernametrue に設定されている場合のみ考慮されます。

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 オプションを継承しますが、特定のログインモジュールでは使用されません。