単純マッピングを使用したり、独自のカスタム JAAS カスタム・ログイン・モジュールを作成したりする代わりに、
完全修飾 Kerberos プリンシパル名を許可のために使用できます。
このタスクについて
以下の手順はあまり実行するべきではなく、デフォルト構成である単純マッピングを使用しないことを明確に選択したか、または、完全修飾 Kerberos プリンシパル名を Liberty サーバー・ユーザー・レジストリー内のユーザーにマップするために JAAS カスタム・ログイン・モジュールを追加しないことを選択したユーザーのみが実行するようにしてください。このタスクを実行すると、
完全修飾 Kerberos プリンシパル名を許可のために使用できます。
手順
- trimKerberosRealmNameFromPrincipal 属性を false に設定することによって、
完全修飾 Kerberos プリンシパル名から Kerberos レルム名を切り取らないように SPNEGO 認証を構成します。
- スタンドアロン LDAP リポジトリーまたは統合リポジトリーのいずれかを使用するように Liberty サーバーを構成します。
LDAP の構成方法について詳しくは、『Liberty での LDAP ユーザー・レジストリーの構成』を参照してください。
- Active Directory ユーザーが LDAP ユーザー・レジストリーに存在すること、および、このユーザーに 1 つの userPrincipalName 属性が関連付けられていることを確認します。
- server.xml ファイル内の LDAP フィルターを更新して、
以下の例のように、userPrincipalName を検索するようにします。
<activedLdapFilterProperties id="myactivedfilters" userFilter="(&(userPrincipalName=%v))" groupFilter="(&(cn=%v))" userIdMap="*:userPrincipalName" groupIdMap="*:cn" groupMemberIdMap="ibm-allGroups:member">
</activedLdapFilterProperties>
- 対応するアプリケーションのアプリケーション・バインディングを構成して、完全修飾 Kerberos プリンシパル名をユーザー名として、正しく構成された access-id と一緒に使用するようにします。
以下に例を示します。
<application type="war" id="myApp" name="myApp" location="${server.config.dir}/apps/myApp.war">
<application-bnd>
<security-role name="Employee">
<user name="kevin@MYDOMAIN.EXAMPLE.COM" access-id="CN=kevin,CN=Users,DC=MYDOMAIN,DC=EXAMPLE,DC=COM"/>
...
</security-role>
...
</application-bnd>
</application>