今回の担当のプロジェクトの構成管理は、K8s上に、Devops仕組みを作成しています。
複数のOSSを使用しているので、OSSごとにユーザー作成管理すると、大変なことになります。よってユーザー作成管理は、LDAPで一元管理するようにします。
■LDAP:
・OpenLdap 本体
・ldap-phpadmin 管理者向けのユーザーグループなどの管理ツール
・Ldap Tool Box 利用者向けのユーザーパスワード変更ツール
■Redmine:
・LDAP認証の設定:Ldapの接続情報などの設定
・LDAP同期プラグイン設定:LDAPのユーザーとグループが自動にRedmine側に同期してくれる。Redmine操作が一切不要
プラグイン情報:Redmine LDAP Sync https://github.com/thorin/redmine_ldap_sync
★注意点:グループメンバーシップについて、なぜか「グループ情報中」がうまくいかないので、「ユーザー情報中」設定にした。よって、LDAP側のユーザーにも、グループグループメンバーシップの属性を追加した。
==2018/08/02更新==
「グループ情報中」の設定もできることを判明しました。方法は下記です。
⇒LDAP認証» に、「あわせてユーザーを作成」チェックボックスをチェック
⇒LDAP同期» に、
メンバーユーザー(group) *:uniqueMember
メンバーID(user) *:dn
■Jenkins:
・グローバルセキュリティの設定⇒LDAP
★注意点:設定保存前に「Test LDAP settings」は必ずやることです。RedmineのLDAP連携と違って、Jenkinsの場合、すべてのユーザーがLDAP認証になるため、ローカルのadminユーザーがログインできなくなるので、LDAP 側のAdminグループ(要作成)ユーザーが「Test LDAP settings」にログインできてから、設定を保存します。
・「Manage and Assign Roles」:LDAP 側のグループごとに、権限ロールを付与する。しないとログインできない
■SonarQube:
プラグイン情報:https://docs.sonarqube.org/display/SONARQUBE67/LDAP+Plugin
上記のサイトの情報を参照し、sonar.propertiesのLDAPの設定を行う
★注意点:権限設定のため、LDAP側に合わせてSonarQube上にグループを作成し権限設定が必要
■Gitlab:
GitlabCEを使用していますので、下記のリングに合わせて、Docker起動時の環境変数に設定しました。※/etc/gitlab/gitlab.rbファイル変更の方法もありますが、やはりDockerイメージ再作成が面倒くさそうので、Docker環境変数のみ変更しました。
https://docs.gitlab.com/ee/administration/auth/how_to_configure_ldap_gitlab_ce/index.html#gitlab-enterprise-edition---ldap-features
★注意点:GitlabCEは、LDAPグループの同期ができないです。また、LDAP連携設定後に、Redisエラーなど起きた場合は、gitlab-ctl reconfigureやgitlab-ctl restartで試してみてください。
GitlabEE版は、下記のリンクをご参照ください。
https://docs.gitlab.com/ee/administration/auth/ldap.html
■Nexus3:
https://help.sonatype.com/repomanager3/security/ldap