Atlassian Bamboo + Crowd 後編:Crowdとの連携

BambooとCrowdの連携

今回は前回の続きとして、BambooとCrowdを連携させて、
ユーザーをCrowdで一元管理できるようにしたいと思います。

前回同様、基本的には公式の手順 に沿ってすすめていきます。

全体的な流れは

  1. Crowdにユーザーとグループ、Bambooとの連携設定を行う
  2. Bamboo側でCrowdへの接続設定を行う
  3. Bambooのユーザー認証をCrowdに切り替える

です。

Crowd設定

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

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

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

ユーザーの追加

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

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

0810_1111_Atlassian_Crowd_-_Administration_console

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

0810_1118_Atlassian_Crowd_-_Users

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

0810_1511_Atlassian_Crowd_-_Add_user

グループの作成

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

  • 「Groups」をクリック

0810_1512_Atlassian_Crowd_-_Groups

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

0810_1513_Atlassian_Crowd_-_Add_group

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

0810_1514_Atlassian_Crowd_-_Add_group

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

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

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

0810_1943_Atlassian_Crowd_-_Groups

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

0810_1944_Atlassian_Crowd_-_View_group

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

0810_1945_Atlassian_Crowd_-_View_group

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

0810_1949_Atlassian_Crowd_-_View_group

アプリケーションの作成

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

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

0810_1659_Atlassian_Crowd_-_Applications

  • 必要な情報を入力し「Next」をクリック
項目 設定値
Apprication type Bamboo
Name Bamboo
Password 任意のパスワード

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

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

0810_1702_Atlassian_Crowd_-_Add_application

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

0810_1703_Atlassian_Crowd_-_Add_application

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

0810_1708_Atlassian_Crowd_-_Add_application

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

0810_1709_Atlassian_Crowd_-_Add_application

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用の設定がコメントアウトされているので、コメントを外します。

1
2
3
<!--<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に設定したパスワードを入力します。

0810_1934_User_repositories_-_Atlassian_Bamboo

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

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

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