Documentation for Crowd 2.4. Documentation for other versions of Crowd is available too.
This page tells you how to connect Atlassian's Bamboo integration server to one or more directory servers through Crowd.
Currently Crowd supports centralised authentication and single sign-on for Bamboo versions 1.2.2 and later.
このドキュメントがご利用の Crowd バージョンに適用されるかどうかをご確認ください
Please check the Crowd release number in this documentation against your version of Crowd. If you are using a different version of Crowd, you can find the appropriate documentation under 'Previous Versions' on the Crowd documentation homepage.
Due to incompatible atlassian-user libraries, Bamboo releases prior to 1.2.2 are not compatible with latest version of Crowd. Please upgrade to the latest version of Bamboo before attempting to integrate Crowd.
1 つの Tomcat コンテナに複数のアトラシアン アプリケーションをデプロイしないでください。
弊社では、多くの実用的な理由から、複数のアトラシアンアプリケーションを単一の Tomcat コンテナーにデプロイするサポートは行っておりません。第一に、アプリケーションをアップグレードするには Tomcat をシャットダウンする必要があります。第二に、1つのアプリケーションがクラッシュすると、その Tomcat コンテナーで実行中のその他のアプリケーションにアクセスできなくなります。
したがって、Crowd を実行する Tomcat コンテナ内に他のアプリケーションをデプロイすることは推奨されません。このような他のアプリケーションが大容量のメモリを必要としたり、Tomcat の lib
サブディレクトリ内に追加のライブラリを必要とする場合は特に推奨されません。
CROWD
.BAMBOO
. For the purposes of this document, we will assume that you have used the Crowd distribution (not EAR-WAR) (ie. the easier) installation method of Bamboo. If you need to install Bamboo as an EAR/WAR, simply explode the EAR/WAR and make the necessary changes as described below, then repackage the EAR/WAR.bamboo-admin
bamboo-user
(optional)bamboo-user
and the bamboo-admin
groups. The Crowd documentation has more information on creating groups, creating users and assigning users to groups.Crowd needs to be aware that the Bamboo application will be making authentication requests to Crowd. We need to add the Bamboo application to Crowd and map it to the Crowd Bamboo Directory:
crowd.properties
file. You can find the crowd.properties
file in either Bamboo/webapp/WEB-INF/classes/
(Bamboo 3.1 and earlier) or $BAMBOO_HOME/xml-data/configuration
(Bamboo 3.2 or later). See Step 2 below.Once Crowd is aware of the Bamboo application, Crowd needs to know which users can authenticate (log in) to Bamboo via Crowd. As part of the 'Add Application' wizard, you will set up your directories and group authorisations for the application. If necessary, you can adjust these settings after completing the wizard. Below are some examples.
You can either allow entire directories to authenticate, or just particular groups within the directories. In our example, we will allow the bamboo-user
and bamboo-admin
groups within the Crowd Bamboo Directory to authenticate:
If you are not using a bamboo-user
group as a security restriction, you will need to set 'Allow all to authenticate' to 'true' when mapping the directory, otherwise only bamboo-admin
group members will be able to log in to Bamboo.
As part of the 'Add Application' wizard, you will set up Bamboo's IP address. This is the address which Bamboo will use to authenticate to Crowd. If necessary you can add a hostname, in addition to the IP address, after completing the wizard. See Specifying an Application's Address or Hostname.
Before you begin Step 2
Bamboo needs Crowd's client libraries in order to be able to delegate user authentication to the Crowd application. In some cases, you will need to modify the Bamboo application, which is stored in BAMBOO/webapp
.
crowd.properties
file are included in the Bamboo 2.0 installation download. Please check if your version of Crowd is the same version as the Crowd client library included in the Bamboo 2.x.x installation download (e.g. Bamboo 2.0 currently includes the client library for Crowd 1.3).crowd-integration-client-X.X.X.jar
from your BAMBOO/webapp/WEB-INF/lib
directory. For example, remove crowd-integration-client-1.3.jar
and replace it with the client jar provided in your crowd installation.Copy the Crowd client libraries and configuration files to Bamboo:
Copy From | Copy To |
---|---|
CROWD/client/crowd-integration-client-X.X.X.jar | BAMBOO/webapp/WEB-INF/lib |
CROWD/client/conf/crowd.properties | BAMBOO/webapp/WEB-INF/classes (Bamboo 3.1 and earlier) or $BAMBOO_HOME/xml-data/configuration (Bamboo 3.2 or later) |
CROWD/client/conf/crowd-ehcache.xml | BAMBOO/webapp/WEB-INF/classes (Bamboo 3.1 and earlier) or $BAMBOO_HOME/xml-data/configuration (Bamboo 3.2 or later) |
seraph-0.7.23.jar
file from Bamboo's WEB-INF/lib/
directory and replace it with the following file:Configure the Bamboo application's properties to determine how Crowd will interact with Bamboo.
Edit crowd.properties
found in BAMBOO/webapp/WEB-INF/classes
(Bamboo 3.1 and earlier) or $BAMBOO_HOME/xml-data/configuration
(Bamboo 3.2 or later). Change the following properties:
キー | 値 |
---|---|
application.name |
|
application.password | The application.name and application.password must match the Name and Password that you specified when defining the application in Crowd (see Step 1 above). |
crowd.server.url |
|
session.validationinterval | Set to 0, if you want authentication checks to occur on each request. Otherwise set to the number of minutes between requests to validate if the user is logged in or out of the Crowd SSO server. Setting this value to 1 or higher will increase the performance of Crowd's integration. |
You can read more about optional settings in the crowd.properties file.
Now that the Crowd client libraries exist, we need to configure Bamboo to use them.
Edit the atlassian-user.xml
file (found in BAMBOO/webapp/WEB-INF/classes
(Bamboo 3.1 and earlier) or $BAMBOO_HOME/xml-data/configuration
(Bamboo 3.2 or later)) so that the contents of the file is:
<atlassian-user> <repositories> <crowd key="crowd" name="Crowd Repository"/> </repositories> </atlassian-user>
For Bamboo to integrate successfully with Crowd, Bamboo's 'External User Management' option needs to be:
詳細情報:
SSO is optional
Single sign-on (SSO) is optional when integrating Bamboo and other Atlassian products with Crowd. To use centralised authentication without SSO, skip the steps below.
To enable single sign-on (SSO), you will configure Bamboo's authentication and access request calls to use Seraph. To configure Seraph-based authentication:
\BAMBOO\webapp\WEB-INF\classes\seraph-config.xml
Comment out the authenticator
node :
<!--<authenticator class="com.atlassian.bamboo.user.authentication.BambooAuthenticator"/>-->
Add a new authenticator, choosing the one relevant to your version of Bamboo:
If you are using Bamboo 3.0 or later:
<authenticator class="com.atlassian.crowd.integration.seraph.v22.BambooAuthenticator"/>
If you are using Bamboo 2.7.3 or earlier:
<authenticator class="com.atlassian.crowd.integration.seraph.BambooAuthenticator"/>
Bamboo's authentication and access request calls will now be performed using Seraph.
When using the atlassian-user and Crowd framework together with Bamboo, it is highly recommended that caching be enabled. Multiple redundant calls to the atlassian-user framework are made on any given request. These results can be stored locally between calls by enabling caching via the Crowd Options menu. (Note that this caching in the Crowd application is enabled by default.)
Bamboo will obtain all necessary information for the period specified by the cache configuration - see Configuring Caching for an Application. If a change or addition occurs in Crowd to users, groups and roles, these changes will not be visible in Bamboo until the cache expires for that specific item (i.e. for the particular user, group or role).
The default value for the application cache is 5 minutes (300 seconds). To increase the performance of your application, consider changing the cache value to one or two hours (3600 or 7200 seconds).
Welcome to Bamboo with Crowd!
bamboo-user
group should now be able to log in to Bamboo. Try adding a user to the group using Crowd — you should be able to log in to Bamboo using this newly created user. That's centralised authentication in action!bamboo-admin
group to the crowd application (see Mapping a Directory to an Application and Specifying which Groups can access an Application). This will allow Bamboo administrators to log in to the Crowd Administration Console. Try logging in to Crowd as a Bamboo administrator, and then point your browser at Bamboo. You should be logged in as the same user in Bamboo. That's single sign-on in action!