BambooとCrowdの連携

こんにちは、KEYチームの円城寺です。

前回(記事はコチラ)はBambooのインストールを行いましたが、今回はその続きとして、いよいよBambooとCrowdを連携させて、 ユーザーをCrowdで一元管理できるようにしたいと思います。

作業は、公式の手順(リンクはコチラ) に沿って 「Crowd設定」 -> 「 Bamboo設定」 という流れでですすめていきます。

Crowd設定

まずはCrowd側にBamboo用のユーザーの作成と、連携のための設定を行います。

今回はCrowdに以下のユーザーを作成してBambooと連携します。

ID Group Bambooのロール
bamboo bamboo-admin 管理者
bamboo-user bamboo-user 一般ユーザー

ユーザーの追加

Bamboo用にユーザーを追加します。

Top画面から「Users」タブをクリック

「Add User」リンクをクリックし、ユーザー登録画面にて必要な情報を入力し「Create」ボタンをクリック

同様に一般ユーザーも追加します

グループの作成

Bambooでユーザーのロール制御を行うため、ロールに対応したグループを作成します。

「Groups」>「Add Group」リンクをクリック

グループ登録画面にて必要な情報を入力し「Create」ボタンをクリック

同様に一般ユーザー用グループも作成します

グループへユーザーを登録

作成したグループへユーザーを登録します。 管理者にしたいユーザーは bamboo-admin グループへ。 一般ユーザーにしたいユーザーは bamboo-user グループへ登録します。

「Groups」をクリック、「bamboo-admin」リンクをクリック

「Direct members」タブをクリックし「Add Users」ボタンをクリック

「Search」ボタンをクリックすると、ユーザーが表示されるので、管理者にしたいユーザーにチェックをし、「Add Selected Users」ボタンをクリック

同様に一般ユーザーも一般ユーザー用のグループへ登録します

アプリケーションの作成

Crowdで作成したユーザーとBambooを関連付けるため、アプリケーションを登録します。

「Application」 -> 「Add application」 をクリック

下記の情報を入力し「Next」をクリック

項目 設定値
Apprication type Bamboo
Name Bamboo
Password 任意のパスワード

ここで設定するパスワードはBambooとCrowdが連携する際の認証に使用します。

BambooとCrowdの通信設定を入力し「Next」をクリック

URLにユーザーがアクセスするURLを、Remote IP AddressにBambooサーバーとCrowdサーバーが通信する際のBambooサーバーのIPアドレスを設定します。

ユーザーディレクトリの選択

Bambooの認証で使用するユーザーが存在する、ユーザーディレクトリを選択します。 今回では、先ほどの手順でユーザーを作成した際に指定したディレクトリを選択します。

グループの選択

Bambooで認証に使用するグループを追加します。

登録内容の確認

登録内容を確認し登録します。

Bamboo の設定

Crowdとの通信設定

crowd.properties の編集

{BAMBOO_ROOT:/opt/atlassian/bamboo}/atlassian-bamboo/WEB-INF/classes/crowd.properties を編集します。

マニュアルには以下の4点を変更せよと書いてありますが、session.validationintervalはデフォルトの2分で問題ないためそのままにします。

設定項目 設定値
application.name bamboo
application.password {CrowdのApplication設定で設定したパスワード}
crowd.server.url http://127.0.0.1:8095/crowd/services/
session.validationinterval 2

Bambooの認証システムのCrowdへの切り替え

atlassian-user.xml の編集

{BAMBOO_ROOT:/opt/atlassian/bamboo}/atlassian-bamboo/WEB-INF/classes/atlassian-user.xml を編集します。

Crowd用の設定がコメントアウトされているので、コメントを外します。

<!--<crowd key="crowd" name="Crowd Repository"/>-->

<crowd key="crowd" name="Crowd Repository"/>

ユーザーディレクトリの設定

Bambooに管理者でログインし 「右上の歯車マーク > Overview」をクリック

「Bamboo administration」画面が表示されるので 「Security」グループの「User repositories」をクリック

Server URL, Application Nameを確認、 Application PasswordにCrowdに設定したパスワードを入力します。

これでめでたくBambooの認証をCrowdに統合することが出来ました。

連携しているサービスがBambooだけですとそれほどメリットが感じられないかも知れませんが、 ここで上げたBamboo以外に、JIRA、Confluence、StashなどのAtlassianの製品を導入していくにつれてユーザー管理コストの軽減効果が実感できるものと考えております。

また、ユーザーの追加・削除漏れなどのセキュリティリスクの軽減にもつながりますので、Atlassian製品導入の際には合わせてCrowdの導入もご検討ください。