Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
3.3.2.2. username-to-dn の使用
承認セクション内でルールを定義して、ユーザーの簡単なユーザー名を識別名に変換できます。username-to-dn 要素は、ユーザー名を LDAP ディレクトリー内のエントリーの識別名にマップする方法を指定します。この要素は任意で、以下のいずれかが true の場合のみ必要になります。
- 認証および承認の手順は、異なる LDAP サーバーに対して行われます。
- グループ検索は、識別名を使用します。
これは、セキュリティーレルムが LDAP および Kerberos 認証の両方をサポートし、認証中に検出された DN を実行している場合は、Kerberos に変換が必要な場合でも適用可能です。
これには、以下の属性が含まれます。
表3.5 username-to-dn
| 属性 | 説明 |
|---|---|
| force | force 属性が「false」に設定されている場合には、認証中の ユーザー名から識別名のマッピングの検索結果はキャッシュされ、承認クエリー時に再利用されます。force が true の場合は、(グループの読み込み時) 承認中に検索が再度実行されます。これは通常、異なるサーバーが認証および承認を実行すると実行されます。 |
username-to-dn は以下のいずれかで設定できます。
- <username-is-dn>
- リモートユーザーが入力するユーザー名がユーザーの識別名であることを指定します。
username-is-dn の例
<security-realm name="ldap-security-realm">
<authentication>
<ldap connection="ldap-connection" >
<!-- configuration -->
</ldap>
</authentication>
<authorization>
<ldap connection="ldap-connection">
<username-to-dn force="false">
<username-is-dn />
</username-to-dn>
<!-- configuration -->
</ldap>
</authorization>
</security-realm>
これにより 1:1 マッピングが定義され、追加設定はありません。
- <username-filter>
- 指定された属性で、指定のユーザー名に対して一致するものが検索されます。
username-filter の例
<security-realm name="ldap-security-realm">
<authentication>
<ldap connection="ldap-connection" >
<!-- configuration -->
</ldap>
</authentication>
<authorization>
<ldap connection="ldap-connection">
<username-to-dn force="true">
<username-filter base-dn="dc=people,dc=harold,dc=example,dc=com" recursive="false" attribute="sn" user-dn-attribute="dn" />
</username-to-dn>
<!-- configuration -->
</ldap>
</authorization>
</security-realm>
| 属性 | 説明 |
|---|---|
| base-dn | 検索を開始するコンテキストの識別名。 |
| recursive | 検索がサブコンテキストに広がるかどうか。デフォルトは false です。 |
| 属性 | 提供されたユーザー名と照合するユーザーのエントリーの属性。デフォルトは uid です。 |
| user-dn-attribute | ユーザーの識別名を取得するために読み取る属性。デフォルトは dn です。 |
- <advanced-filter>
- このオプションは、カスタムフィルターを使用して、ユーザーの識別名を特定します。
advanced-filter の例
<security-realm name="ldap-security-realm">
<authentication>
<ldap connection="ldap-connection" >
<!-- configuration -->
</ldap>
</authentication>
<authorization>
<ldap connection="ldap-connection">
<username-to-dn force="true">
<advanced-filter base-dn="dc=people,dc=harold,dc=example,dc=com" recursive="false" filter="sAMAccountName={0}" user-dn-attribute="dn" />
</username-to-dn>
<!-- configuration -->
</ldap>
</authorization>
</security-realm>
username-filter の例にある属性に一致する属性の場合、意味とデフォルト値は同じです。追加の属性があります。
| 属性 | 説明 |
|---|---|
| filter | ユーザー名が {0} プレースホルダーで置換されるユーザーのエントリーの検索に使用されるカスタムフィルター。 |
XML はフィルターの定義後も有効でなければならないので、特殊文字 (&など) が使用されている場合は、適切な形式であることを確認してください。たとえば & 文字の場合は & です。