25.4. ログインモジュールを使用した認証およびロールマッピングの設定
LDAP からロールのクエリーを実行するために認証
login-module を使用する場合、カスタムクラスが使用されているため、プリンシパルからロールへの独自のマッピングを実装する必要があります。この変換の実装例は the JBoss Data Grid の 『Developer Guide』 を参照してください。以下は、宣言的な設定例です。
例25.1 LDAP ログインモジュールの設定例
<security-domain name="ispn-secure" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapLoginModule" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://localhost:389"/>
<module-option name="java.naming.security.authentication" value="simple"/>
<module-option name="principalDNPrefix" value="uid="/>
<module-option name="principalDNSuffix" value=",ou=People,dc=infinispan,dc=org"/>
<module-option name="rolesCtxDN" value="ou=Roles,dc=infinispan,dc=org"/>
<module-option name="uidAttributeID" value="member"/>
<module-option name="matchOnUserDN" value="true"/>
<module-option name="roleAttributeID" value="cn"/>
<module-option name="roleAttributeIsDN" value="false"/>
<module-option name="searchScope" value="ONELEVEL_SCOPE"/>
</login-module>
</authentication>
</security-domain>
例25.2 ログインモジュールの設定例
<security-domain name="krb-admin" cache-type="default">
<authentication>
<login-module code="Kerberos" flag="required">
<module-option name="useKeyTab" value="true"/>
<module-option name="principal" value="admin@INFINISPAN.ORG"/>
<module-option name="keyTab" value="${basedir}/keytab/admin.keytab"/>
</login-module>
</authentication>
</security-domain>
GSSAPI 認証を使用する場合、通常 JBoss Data Grid Server は LDAP サーバーに対して GSSAPI 経由で認証され、ロールマッピングには LDAP が使用されます。この認証の Active Directory サーバーに対する設定例については、「Kerberos を使用した Active Directory 認証 (GSSAPI)」 を参照してください。
重要
LDAP サーバーの設定または LDAP サーバーでのユーザーとロールの指定についての詳細は、Red Hat Directory Server の 『Administration Guide』 を参照してください。