Я пытаюсь настроить rundeck так, чтобы он аутентифицировался в Active Directory
Я продолжаю получать эту ошибку
Вики есть информация о 403. Reason: !role
ошибка https://github.com/rundeck/rundeck/wiki/FAQ#i-get-an-error-logging-in-http-error-403--reason-role
Rundeck 2.6.2-1 (устанавливается из .deb)
Ubuntu 14.04
jaas-ldap.conf
ldap {
com.dtolabs.rundeck.jetty.jaas.JettyCachingLdapLoginModule required
debug="true"
contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
providerUrl="ldap://DC01.example.com:389"
bindDn="cn=rundeck,OU=MyOU,DC=example,DC=com"
bindPassword="correct-horse-battery-staple"
authenticationMethod="simple"
forceBindingLogin="true"
userBaseDn="DC=example,DC=com"
userRdnAttribute="sAMAccountName"
userIdAttribute="sAMAccountName"
userPasswordAttribute="unicodePwd"
userObjectClass="user"
roleBaseDn="DC=example,DC=com"
roleNameAttribute="sAMAccountName"
roleUsernameMemberAttribute="cn"
roleMemberAttribute="member"
roleObjectClass="group"
cacheDurationMillis="300000"
supplementalRoles="user"
reportStatistics="true"
timeoutRead="10000"
timeoutConnect="20000"
nestedGroups="true";
};
/var/lib/rundeck/exp/webapp/WEB-INF/web.xml
...
<security-role>
<role-name>Enterprise Admins</role-name>
</security-role>
...
профиль
...
export RDECK_JVM="-Djava.security.auth.login.config=/etc/rundeck/jaas-ldap.conf \
-Dloginmodule.name=ldap \
...
Я знаю, что это противоречит передовой практике по следующим причинам:
Дополнительные ресурсы:
https://github.com/rundeck/rundeck/issues/590
https://github.com/rundeck/rundeck/issues/620
http://www.bitester.com/2015/12/ldap-authentication-with-rundeck.html
Выяснилось, что, по крайней мере, в моем случае использования мне пришлось удалить roleUsernameMemberAttribute
Также важно иметь supplementalRoles
определены
Последний рабочий пример (не оптимизированный)
ldap {
com.dtolabs.rundeck.jetty.jaas.JettyCachingLdapLoginModule required
debug="true"
contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
providerUrl="ldap://DC01.example.com:389"
bindDn="cn=rundeck,OU=MyOU,DC=example,DC=com"
bindPassword="correct-horse-battery-staple"
authenticationMethod="simple"
forceBindingLogin="true"
userBaseDn="DC=example,DC=com"
userRdnAttribute="sAMAccountName"
userIdAttribute="sAMAccountName"
userPasswordAttribute="unicodePwd"
userObjectClass="user"
roleBaseDn="DC=example,DC=com"
roleNameAttribute="sAMAccountName"
roleMemberAttribute="member"
roleObjectClass="group"
cacheDurationMillis="300000"
supplementalRoles="user"
reportStatistics="true"
timeoutRead="10000"
timeoutConnect="20000"
nestedGroups="true";
};
Примечание: это только аутентификация ldap. У вас также может быть гибрид локальных учетных записей и учетных записей ldap.
Обновить
Дополнительная документация и информация в эта проблема с github