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 はフィルターの定義後も有効でなければならないので、特殊文字 (&など) が使用されている場合は、適切な形式であることを確認してください。たとえば & 文字の場合は &amp; です。