Tomcat y autenticación LDAP

Cuando disponemos de un LDAP es habitual querer centralizar la autenticación de nuestros servicios en el directorio. Uno de los servicios que podríamos configurar es la autenticación de los administradores de nuestro Tomcat, para evitar que alguien pudiera replegarnos una aplicación, usando las cuentas que trae por defecto. Para hacerlo, tendríamos que comentar la configuración de UserDatabase

<!--
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
-->

y añadir la configuración para que busque en OpenLDAP, en la sección de REALMs:
<Realm    className="org.apache.catalina.realm.JNDIRealm" debug="99"
resourceName="UserDatabase"

connectionName="cn=nssproxy,ou=edu,o=carm,c=es"
connectionPassword="**SECRET**"
connectionURL="ldap://openldap.edu.carm.es:389"

userBase="ou=usuarios,ou=edu,o=carm,c=es"
userSubtree="true"
userSearch="(cn={0})"

userRoleName="memberOf"
roleBase="ou=grupos,ou=edu,o=carm,c=es"
roleName="cn"
roleSubtree="true"
roleSearch="(member={0})"
/>

Luego tendremos que crear los grupos admin manager en nuestro LDAP, bajo la rama indicada por roleBase, y añadirles los usuarios (instancicar el atributo configurado por el filtro roleSearch) que queremos puedan administrar nuestros servidores tomcats. Además, el propio usuario también deberá almcenar la pertencia a estos grupos, instanciando el atributo configurado en userRoleName.
Después de aplicar estos cambios tendremos que reiniciar nuestro servidor Tomcat y tener disponible el contexto Manager.
La foto la he sacado del album de iirraa en flickr

No hay comentarios: