ActiveDirectoryに対して認証されるようにrundeckをセットアップしようとしています
このエラーが発生し続けます
Wikiには、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/59
https://github.com/rundeck/rundeck/issues/62
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の問題 の追加のドキュメントと情報