Connect to an LDAP Directory

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

You can connect Hipchat Data Center to an LDAP directory for authentication and user management. This is useful if your users and groups are already stored in a corporate directory, as you won't need to do additional user management work. Hipchat Data Center will periodically synchronize the user data, including username, display name, and email, from LDAP.

Supported directories

LDAPディレクトリは ユーザーおよびグループのデータのコレクションです。LDAP(Lightweight Directory Access Protocol)は、WebアプリケーションがLDAPサーバーからユーザーおよびグループに関する情報を検索するために使用できるインターネットプロトコルです。

JIRA では最もポピュラーな LDAP ディレクトリサーバーのビルトインコネクタを提供します。

  • Microsoft Active Directory
  • Apache Directory Server (ApacheDS)
  • Apple Open Directory
  • Fedora Directory Server
  • Novell eDirectory
  • OpenDS
  • OpenLDAP
  • OpenLDAP (Posix Schema を使用)
  • LDAP 用 Posix Schema
  • Sun Directory Server Enterprise Edition (DSEE)
  • 汎用 LDAP ディレクトリ サーバー

 

On this page:

Connecting to an LDAP Directory in Hipchat Data Center

To connect Hipchat Data Center to an LDAP directory:

  1. Browse to your server's fully qualified domain name, for example https://hipchat.yourcompany.com/.
  2. Log into the Hipchat Data Center web user interface (UI) using your administrator email and password. 
  3. Go to User management > External directory.
  4. Choose Add Directory and and select either:
    • Microsoft Active Directory – This option provides a quick way to select AD, because it is the most popular LDAP directory type.
    • LDAP - 次の画面で特定の LDAP ディレクトリ タイプを選択できます。
  5. Enter the values for the settings (the settings and which values to provide are described further down this page).
  6. Save the directory settings.
  7. If you have more than one directory configured, use the arrows to set the directory order. Directories are searched in order for users and groups. To learn more see Manage multiple authentication systems

LDAP directory size considerations

If you are using Microsoft Active Directory or an external LDAP directory service, a background synchronization task copies the user and group details into a cache in the Hipchat application database. This cache is updated periodically. The time this process takes can vary depending on how many users, groups, and group memberships you chose to sync, as well as other factors such as network latency and database performance.

This synchronization task doesn't run if you're using an internal directory that is connected to an LDAP instance for authentication-only, or if your LDAP directories are configured with 'Authentication Only, Copy User On First Login', so these limitations do not apply.

If you're running a Hipchat Data Center deployment with a more than 5000 users, 1000 groups, or more than 20 groups per user, we recommend that you use LDAP filters to reduce the number of users and groups visible to the synchronization task.

Reduce the number of users synchronized from LDAP to Hipchat Data Center

If you connected Hipchat Data Center to an LDAP directory for authentication and user management, you may want Hipchat Data Center to synchronize a subset of users from LDAP, rather than all users. There are two reasons to make this change:

  • Improve performance. If you have performance issues during the synchronization process, you might be able to improve this by synchronizing only a subset of the LDAP accounts. See this knowledge base article for more information: Performance issues with large LDAP repository in Jira server.
  • Reduce your user count. If you have more people in your LDAP directory than use Hipchat Data Center, and you have a limited number of seats on your Hipchat license, you can synchronize only the subset of the directory that contains Hipchat users. 

How you filter your LDAP synchronization depends on how you initially set up your LDAP directory. 

  • If all of your Hipchat users are in one part of the LDAP directory, and non-users are in another, you can specify which part of the directory Hipchat Data Center synchronizes
  • If you have both Hipchat users and non-Hipchat users in the same part of the LDAP directory, you will need to define an LDAP filter to synchronize the relevant users. 

Synchronizing against Base DN and Additional User DN

If all of your Hipchat are users in one organizational unit in LDAP, and your non-Hipchat users are in a different organizational unit, you can tell Hipchat Data Center to only synchronize users against a particular DN (distinguished name) to exclude the non-users. 

  1. Browse to your server's fully qualified domain name, for example https://hipchat.yourcompany.com/.
  2. Log into the Hipchat Data Center web user interface (UI) using your administrator email and password. 
  3. Click User management then click the External directory tab. (If necessary, click to select the directory you want to filter.)
  4. Locate the LDAP Schema section. 
  5. Update the Base DN field, and optionally the Additional User DN, to query against the directory server as desired. 
    For example, all of your Hipchat users are in the hipchat-users organizational unit (OU) only for your company at mycompany.example.com, your configuration would look like this:
    • Base DN — dc=mycompany,dc=example,dc=com
    • Additional User DN — ou=hipchat-users

Active Directory/LDAP Group objects do not currently affect Hipchat Data Center. Filtering for or against groups won't change the user list in Hipchat Data Center. See Filtering for groups to learn how to work around this limitation.

Define an LDAP filter

If you have both Hipchat users and non-Hipchat users in the same node of the LDAP tree, you will need to define an LDAP filter to synchronize the relevant users. 

  1. Browse to your server's fully qualified domain name, for example https://hipchat.yourcompany.com/.
  2. Log into the Hipchat Data Center web user interface (UI) using your administrator email and password.
  3. Click User management then click the External directory tab. (If necessary, click to select the directory you want to filter.)
  4. Locate the User Schema Settings and click to expand the section if necessary.
  5. Enter your LDAP filter statement in the User Object Filter field. 

Simple LDAP filter example

The syntax for LDAP filters is complex, and the query you use depends on the type of LDAP directory you have and how it's set up.

As an example, if only LDAP users who are in your team's office in the state of Delaware will use Hipchat, and the users who work in Delaware are identified by "st=DE" in their user attribute list, you can set the  User Object Filter  =  (&(objectCategory=inetorgperson)(st=DE) ) to only synchronize those users.

 

Reduce LDAP scope by filtering for groups

Active Directory/LDAP group objects are not currently supported in Hipchat Data Center. Filtering for or against groups won't change the user list in Hipchat Data Center.

To work around this limitation, set a user object filter to check for the memberOf attribute (or a similar attribute). See the following example:

(&(objectclass=user)(sAMAAccountName=*)(|(memberOf=nested-group1)(memberOf=nested-group2)(memberOf=nested-group3)(memberOf=Parent group)))

 

LDAP settings fields 

サーバー設定

設定

説明

名前

LDAP ディレクトリ サーバーを識別するのに役立つわかりやすい名前を入力します。例:

  • Example Company Staff Directory
  • Example Company Corporate LDAP

ディレクトリ タイプ

接続する LDAP ディレクトリのタイプを選択します。新しい LDAP 接続を追加する場合、ここで選択した値によって、画面の残りのオプションの多くのデフォルト値が決定します。例:

  • Microsoft Active Directory
  • OpenDS
  • その他

ホスト名

ディレクトリ サーバのホスト名。例:

  • ad.example.com
  • ldap.example.com
  • opends.example.com

ポート

ディレクトリ サーバーがリスンするポート。例:

  • 389
  • 10389
  • 636 (例: SSL 用)

SSL を使用する

ディレクトリ サーバーへの接続が SSL (Secure Sockets Layer) 接続の場合は、オンにします。この設定を使用するには、SSL 証明書を設定する必要があります。

ユーザ名

ディレクトリ サーバーに接続する際にアプリケーションが使用するユーザーの識別名。例:

  • cn=administrator,cn=users,dc=ad,dc=example,dc=com
  • cn=user,dc=domain,dc=name
  • user@domain.name

デフォルトでは、すべてのユーザーが uSNChanged 属性を読み取ることができます。ただし、管理者または関連する権限を持つユーザーのみが削除済みオブジェクト コンテナにアクセスすることができます。ユーザーが LDAP に接続するのに必要な特定の権限は、「バインド」および「読み取り」(ユーザー情報、グループ情報、グループ メンバーシップ、更新シーケンス番号、削除済みオブジェクト)です。これらは、Active Directory の組み込みの管理者グループのメンバーであるユーザーが取得することができます。

Note that the incremental sync will fail silently if the Active Directory is accessed by a user without these privileges. This has been reported as CWD-3093.

パスワード

上記で指定したユーザーのパスワード。

注: LDAP サーバーへの接続では、このアプリケーションがここで設定されたユーザー名とパスワードでサーバーにログインする必要があります。結果として、このパスワードは一方向にハッシュ化することができません。このアプリケーションのコンテキストで回復可能である必要があります。パスワードは現在、難読化されていないプレーン テキストでデータベースに保存されています。セキュリティを保証するには、他のプロセスがこのアプリケーションのデータベースまたは設定ファイルに対する OS レベルの読み取り権限を持っていないことを確認する必要があります。

スキーマ設定

設定

説明

ベース DN

ディレクトリ サーバーに対してクエリを実行する場合に使用するルート識別名(DN)。例:

  • o=example,c=com
  • cn=users,dc=ad,dc=example,dc=com
  • Microsoft Active Directory の場合、ベース DN を dc=domain1,dc=local の形式で指定します。domain1local を自身の設定で置き換える必要があります。Microsoft Server では ldp.exe というツールが提供されています。これは、サーバーの LDAP 構造を検出および設定するのに役立ちます。

追加のユーザー DN

この値は、ユーザーの検索および読み込み時に、ベース DN に加えて使用されます。値が提供されない場合、サブツリー検索はベース DN から開始されます。例:

  • ou=Users

追加のグループ DN

この値は、グループの検索および読み込み時に、ベース DN に加えて使用されます。値が提供されない場合、サブツリー検索はベース DN から開始されます。例:

  • ou=Groups

追加のユーザー DN または追加のグループ DN に値が指定されていない場合、サブツリー検索がベース DN から始まります。ディレクトリ構造が巨大な場合、ログインおよび実施されるログインに依存する操作について、パフォーマンスの問題が生じる可能性があります

パーミッション設定

設定

説明

読み取り専用

LDAP ユーザー、グループ、メンバーシップは、ディレクトリ サーバーから取得され、ディレクトリ サーバーを介してのみ変更することができます。アプリケーション管理画面から LDAP ユーザー、グループ、またはメンバーシップを変更することはできません。

ローカル グループでの読み取り専用

Not applicable to Hipchat Data Center.

読み取り/書き込み

Not applicable to Hipchat Data Center.

高度な設定

設定

説明

Enable Nested Groups

Not applicable to Hipchat Data Center.

ユーザー ステータスをローカルで管理するtrue の場合、ディレクトリ サーバー内のステータスに関係なく、Crowd でユーザーをアクティブ化/非アクティブ化できます。

ページングされた結果を使用

Enable or disable the use of the LDAP control extension for simple paging of search results. If paging is enabled, the search retrieves sets of data rather than all of the search results at once. Enter the desired page size – that is, the maximum number of search results to be returned per page when paged results are enabled. The default is 1000 results.

照会に従う

ディレクトリ サーバーがリクエストを別のサーバーにリダイレクトすることを許可するかどうかを選択します。このオプションは、ノード照会 (JNDI ルックアップ java.naming.referral) 設定を使用します。これは通常、適切な DNS を使用せずに設定した Active Directory サーバーで "javax.naming.PartialResultException: Unprocessed Continuation Reference(s)" エラーを発生させないようにするために必要です。

ネイティブ DN マッチング

ディレクトリ サーバーが返す DN の文字列表現が一貫している場合、ネイティブ DN マッチングを有効化できます。ネイティブ DN マッチングはパフォーマンスを大幅に改善させます。そのため、可能な場合は有効化することをお勧めします。

この設定により、アプリケーションが DN を比較して同じかどうかを判断する方法が決まります。

  • このチェックボックスがオンの場合、アプリケーションは直接、大文字小文字を区別しない文字列比較を実施します。Active Directory はDN の形式を保証するため、これは Active Directory のデフォルトかつ推奨の設定です。
  • このチェックボックスがオフの場合、アプリケーションは DN を解析し、解析されたバージョンを確認します。
Enable Incremental Synchronization

(info) この設定は、ディレクトリのタイプが「Microsoft Active Directory」に設定されている場合に利用できます。

ディレクトリの同期時に、前回の同期が照会されてからの変更のみが必要な場合、インクリメンタル同期を有効化します。

When using this option, the user account configured for synchronization must have read access to:

  • The uSNChanged attribute of all users and groups in the directory to be synchronized.
  • The objects and attributes in the Active Directory deleted objects container (see Microsoft's Knowledge Base Article No. 892806 for details).

If one or more of these conditions is not met, you can end up with users who are added to (or deleted from) the Active Directory not being correctly added (or deleted) in the Hipchat application.

Synchronization Interval (minutes)

Synchronization is the process by which the application updates its internal store of user data to agree with the data on the directory server. The application sends a request to your directory server every x minutes, where 'x' is the number specified here. The default value is 60 minutes.

読み込みタイムアウト(秒)

The time, in seconds, to wait for a response to be received. If there is no response within the specified time period, the read attempt will be aborted. A value of 0 (zero) means there is no limit. The default value is 120 seconds.

検索タイムアウト(秒)

検索操作からのレスポンスを受信するまでに待機する時間 (秒)。値を 0 (ゼロ) にすると、無制限になります。既定値は 60 秒です。

接続タイムアウト(秒)

この設定は2つの操作に影響します。デフォルト値は0です。

  • コネクション プールからコネクションを取得する際に待機する時間。値を0(ゼロ)にすると、無制限となり、いつまでも待機します。
  • 新しいサーバー接続を開くまで待つ時間 (秒単位)。値が 0 (ゼロ) の場合は、TCP ネットワーク タイムアウトが使用されることを示しますが、これには数分かかる場合があります。

 

ユーザー スキーマ設定

設定

説明

ユーザー オブジェクト クラス

これは LDAP ユーザー オブジェクトに使用されるクラス名です。例:

  • user

ユーザー オブジェクト フィルタ

ユーザー オブジェクトを検索するときに使用するフィルター。例:

  • (& ( objectCategory=Person ) (sAMAccountName=*))

You can have a maximum of 4,000 characters in this field. Ensure your LDAP filters are concise.

More examples can be found here and here.

ユーザー名属性

The attribute field to use when loading the username. Examples:

  • cn
  • sAMAccountName

NB: In Active Directory, the 'sAMAccountName' is the 'User Logon Name (pre-Windows 2000)' field. The User Logon Name field is referenced by 'cn'.

ユーザー名 RDN 属性

The RDN (relative distinguished name) to use when loading the username. The DN for each LDAP entry is composed of two parts: the RDN and the location within the LDAP directory where the record resides. The RDN is the portion of your DN that is not related to the directory tree structure. Example:

  • cn

ユーザの名属性

ユーザーの名を読み込むときに使用する属性フィールド。例:

  • givenName

ユーザーの姓属性

ユーザーの姓を読み込むときに使用する属性フィールド。例:

  • sn

ユーザーの表示名属性

ユーザーの氏名を読み込むときに使用する属性フィールド。例:

  • displayName

This field cannot accept more than 50 characters from LDAP. Otherwise, the sync will skip the user. HCPUB-1763 - Getting issue details... STATUS is a feature request to increase the limit beyond 50 characters.

ユーザーのメール属性

ユーザーのメールアドレスを読み込むときに使用する属性フィールド。例:

  • mail

The user will not be synchronized if this attribute is empty. Always use the attribute that contains the user email (example: userPrincipalName).

ユーザーのパスワード属性

ユーザーのパスワードを読み込むときに使用する属性フィールド。例:

  • unicodePwd
User Unique ID Attribute

属性は、ユーザー オブジェクトに対する一意かつ不変の ID として使用されます。これは、オプションであり、ユーザー名の変更の追跡に使用されます。この属性が設定されていない場合 (または無効な値に設定されている場合)、ユーザー名は検出されません。ユーアーの削除後の新しいユーザーの追加として解釈されます。

This should normally point to a UUID value. Standards-compliant LDAP servers will implement this as 'entryUUID' according to RFC 4530. This setting exists because it is known under different names on some servers, e.g. 'objectGUID' in Microsoft Active Directory.

グループ スキーマ設定

Group schema settings are not used in Hipchat Data Center.

メンバーシップ スキーマ設定

The User Member Attribute is the only Membership schema setting relevant to Hipchat Data Center. All other Membership schema settings are not relevant.

設定説明
User Member Attribute

Because Hipchat Data Center doesn't filter by groups, use this attribute to identify which users are associated with groups. For more information, see the section on filtering for groups. Example:

  • memberOf

LDAP への接続に関する推奨事項

The following limitations and recommendations should be considered when connecting to an LDAP user directory.

Redundant LDAP is not supported

LDAP 接続では、冗長性のための複数の LDAPサーバーの構成 (一方のサーバーが停止した場合の自動フェイルオーバー) はサポートされていません。

Specific notes about connecting to Active Directory

アプリケーションを Active Directory (AD) に同期している場合、同期タスクではユーザーベース全体ではなく LDAP サーバーからの変更のみがリクエストされます。これによって同期プロセスが最適化され、2番目以降のリクエストでパフィーマンスが大幅に向上します。

一方、この同期方式にはいくつかの制限事項があります。

  • Externally moving objects out of scope or renaming objects causes problems in AD. Moving objects out of scope in AD results in an inconsistent cache. We recommend that you do not use the external LDAP directory interface in Hipchat to move objects out of the scope of the sub-tree, as defined on the application's directory configuration screen. If you do need to make structural changes to your LDAP directory, manually synchronize the directory cache after you have made the changes to ensure cache consistency.
  • Synchronizing between AD servers is not supported. Microsoft Active Directory does not replicate the uSNChanged attribute across instances. For that reason, we do not support connecting to different AD servers for synchronization. You can still define multiple different directories, each pointing to its own AD server.
  • Synchronizing with AD servers behind a load balancer is not supported. As with synchronizing between two different AD servers, Microsoft Active Directory does not replicate the uSNChanged attribute across instances. For that reason, we do not support connecting to different AD servers even when they are load balanced. You will need to select one server (preferably one that is local) to synchronize with instead of using the load balancer.
  • You must restart the Hipchat application after restoring AD from backup. On restoring from backup of an AD server, the uSNChanged timestamps are reverted to the backup time. To avoid synchronization inconsistencies, flush the Hipchat directory cache after a Active Directory restore operation.
  • Obtaining AD object deletions may require administrator access. Active Directory stores deleted objects in a special container called cn=Deleted Objects. By default, to access this container you need to connect as an administrator and so, for the synchronization task to be aware of deletions, you must use administrator credentials. Alternatively, you can change the permissions for the cn=Deleted Objects container so that a non-admin can access it. See the related Microsoft KB Article for more information.
  • The User DN used to connect to AD must be able to see the uSNChanged attribute. The synchronization task relies on the uSNChanged attribute to detect changes, and so must be in the appropriate AD security groups to see this attribute for all LDAP objects in the subtree.
最終更新日 2017 年 11 月 30 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.