LDAP ディレクトリへの接続

認証、ユーザーおよびグループ管理のために、JIRA アプリケーションを LDAP ディレクトリに接続できます。

Managing 500+ users across Atlassian products?
Find out how easy, scalable and effective it can be with Crowd!
See centralized user management.


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 ディレクトリ サーバー

本オプションの使用が適する場合: ユーザーおよびグループが社内ディレクトリに保存されている場合、LDAP ディレクトリ サーバーへの接続が便利です。ディレクトリを設定する場合、ディレクトリを読み取り専用、ローカルグループでの読み取り専用、読み書きに設定できます。読み書きを選択した場合、アプリケーションでユーザー情報およびグループ情報に加えた変更は、LDAP ディレクトリでも更新されます。

外部ディレクトリからのデータの同期の詳細をご覧ください。

LDAP ディレクトリを変更 (ユーザーの非アクティブ化や削除など) すると Jira ユーザー データベースがどうなるかに関する詳細については、「ユーザー ディレクトリ間でのユーザー移行」をご参照ください。

次のすべての手順を行うには、Jira システム管理者グローバル権限を持つユーザーとしてログインする必要があります。詳細は権限の概要」をご参照ください。

On this page:

Jira での LDAP ディレクトリ接続

  1. 画面右上で [管理] > [ユーザー管理] の順に選択します。

  2. [ユーザー ディレクトリ] を選択します。
  3. ディレクトリを追加し、以下のタイプのいずれかを選択します。
    • Microsoft Active Directory – このオプションは、最も人気の LDAP ディレクトリ タイプである Active Directory を迅速に選択するための方法です。
    • LDAP - 次の画面で特定の LDAP ディレクトリ タイプを選択できます。
  4. 次のセクションの説明に従って、設定の値を入力します。
  5. Save the directory settings.
  6. [ユーザー ディレクトリ] 画面で、各ディレクトリの横にある青色の上下矢印をクリックしてディレクトリの順序を定義します。
    ディレクトリの順序がどういった影響をもたらすかを説明します。
    • ディレクトリの順序は、ユーザーおよびグループの検索順序です。
    • ユーザーおよびグループへの変更は、アプリケーションが変更権限を持つ最初のディレクトリに対してのみ行われます。
    詳細については、「複数のディレクトリの管理」を参照してください。

この設定では、ユーザーがログインするたびに (つまり初回とそれ以降)、Jira 内のユーザー データが LDAP 内のユーザー データから更新されます。これには、ユーザー名、表示名、メール、グループ メンバーシップが含まれます。詳細に関しては、[詳細] 設定の「ログイン時にグループ メンバーシップをアップデート」をご参照ください。 

外部ディレクトリからのデータの同期の詳細をご覧ください。

サーバー設定

設定

説明

名前

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

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

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

(info) Note for Confluence users: Users from LDAP are added to groups maintained in Confluence's internal directory the first time they log in. This is only done once per user. There is a known issue with Read Only, with Local Groups in Confluence that may apply to you. See CONF-28621 - Getting issue details... STATUS

読み取り/書き込み

LDAP ユーザー、グループ、メンバーシップは、ディレクトリ サーバーから取得されます。アプリの管理画面を通してユーザー、グループ、メンバーシップを変更すると、LDAP ディレクトリ サーバーに直接変更が適用されます。アプリのユーザーとして指定されている LDAP ユーザーが LDAP ディレクトリ サーバーでの変更権限を持っていることを確認してください。

グループへのユーザーの自動追加

設定

説明

既定のグループ メンバーシップ

オプションは Confluence 3.5 以降、JIRA 4.3.3 以降で使用可能です。このフィールドは、「ローカルグループでの読み込み専用」権限を選択する場合に表示されます。ユーザーを自動的にグループに追加する場合は、ここにグループ名を入力します。2 つ以上のグループを指定する場合は、グループ名をコンマで区切ります。
Confluence 3.5 から Confluence 3.5.1 の場合:ユーザーがログインするたびに、グループ メンバーシップがチェックされます。ユーザーが指定したグループに所属していない場合、そのユーザー名がグループに追加されます。グループがまだ存在していない場合は、ローカルに追加されます。
Confluence 3.5.2 以降、JIRA 4.3.3 以降の場合:ユーザーの初回ログイン時に、グループ メンバーシップがチェックされます。ユーザーが指定したグループに所属していない場合、そのユーザー名がグループに追加されます。グループがまだ存在していない場合は、ローカルに追加されます。2 回目以降のログイン時に、ユーザー名がいずれかのグループに自動的に追加されることはありません。この動作の違いによって、自動的に追加されたグループからユーザーを削除できます。Confluence 3.5 および 3.5.1 の場合は、次回のログイン時に、ユーザーは再度追加されます。

グループ名は検証されませんので、注意してください。グループ名を間違って入力した場合、認証に失敗します。ユーザーは目的のグループ名に基づいたアプリケーションや機能にアクセスできません。

例:

  • confluence-users
  • confluence-users,jira-administrators,jira-core-users

高度な設定

設定

説明

Enable Nested Groups

入れ子グループのサポートを有効または無効にします。

いくつかのディレクトリサーバーは、グループを別のグループのメンバーとして定義することを許可します。このような構造のグループは入れ子グループと呼ばれます。入れ子グループは、1 つの親グループからそのサブグループへの権限の継承を許可し、権限をシンプルにします。

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

true の場合、ActiveDirectory で期限切れとしてマークされたユーザー アカウントが自動的に削除されます。キャッシュされたディレクトリの場合、ユーザーの削除は、アカウントの有効期限日後の最初の同期中に行われます。

: これは組み込み Crowd 2.0.0 以上で利用可能であり、2.0.0 m04 リリースでは利用できません。

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

検索結果をシンプルにページングする LDAP 制御拡張機能の使用を有効または無効にします。ページングが有効になっている場合、検索によって一度にすべての検索結果が取得されるのではなく、データのセットが取得されます。必要なページサイズ、つまり、ページングされた結果が有効である場合、ページごとに返される検索結果の最大数を入力します。既定は 1000 です。

照会に従う

ディレクトリ サーバーがリクエストを別のサーバーにリダイレクトすることを許可するかどうかを選択します。このオプションは、ノード照会 (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

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

(warning) このオプションを使用する場合、同期するように設定されたユーザーアカウントは以下への読み取り権限を持っている必要があることに注意してください。

  • 同期する必要があるディレクトリ内のすべてのユーザーおよびグループの uSNChanged 属性。
  • Active Directory の削除されたオブジェクト コンテナ内のオブジェクトと属性

これらの条件の少なくとも1つが満たされない場合、Active Directory に追加された(または削除された)ユーザーは、アプリケーション内でそれぞれ追加(または削除)されずに終わります。

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

グループ メンバーシップをログイン時に更新する      

この設定によって、グループ メンバーシップを認証中に更新できるようになります。次のようなオプションを設定できます。

  • ユーザーがログインするたび: 認証中、ユーザーの直接のグループ メンバーシップは、リモート ディレクトリの内容と一致するように更新されます。

    • リモート ディレクトリで、ユーザーがもう属していないすべてのグループからそのユーザーを削除します。

    • リモート ディレクトリのユーザーが属するすべてのグループにユーザーを追加します。名前と説明が一致する新しいグループは、必要に応じてローカルに作成されます。グループには現在のユーザーのみが含まれて、同じグループに属するユーザーがログインするか同期が行われると、他のメンバーシップが入力されます。

  • 新しく追加されたユーザーのみ: 新しいユーザーが初めてログインすると、そのユーザーの直接のグループ メンバーシップは、リモート ディレクトリの内容と一致するように更新されます。

    ユーザーのグループ メンバーシップは、ユーザーが認証中に作成された場合にのみ更新されることを考慮してください。

  • しない: 認証中、ローカルとリモートの状態が一致しなくても、ユーザーのグループ メンバーシップは変更されません。

Synchronization Interval (minutes)

同期とは、アプリケーションがユーザー データの内部ストアをディレクトリ サーバ上のデータで更新するプロセスです。アプリケーションは x 分ごとにディレクトリ サーバーにリクエストを送信します。x はここで指定する数値です。既定値は60分です。

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

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つの操作に影響します。デフォルト値は10です。

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

ユーザー スキーマ設定

設定

説明

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

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

  • user

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

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

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

その他の例は、ナレッジベースで確認できます。「LDAP 検索フィルターの作成方法」をご覧ください。

ユーザー名属性

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

  • cn
  • sAMAccountName

備考: Active Directory では、「sAMAccountName」が「ユーザー ログイン名(Windows 2000 以前)」フィールドです。ユーザー ログイン名フィールドは「cn」で参照されます。

ユーザー名 RDN 属性

ユーザー名をロードするときに使用する RDN (相対識別名)。各 LDAP エントリの DN は 2 つの部分 (記録が格納される RDN および LDAP ディレクトリ内の場所) で構成されます。RDN はディレクトリツリー構造と関係ない DN の一部です。例:

  • cn

ユーザの名属性

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

  • givenName

ユーザーの姓属性

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

  • sn

ユーザーの表示名属性

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

  • displayName

ユーザーのメール属性

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

  • mail

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

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

  • unicodePwd
ユーザー ユニーク ID 属性

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

これは通常、UUID 値を指している必要があります。標準準拠 LDAP サーバーはこれを「entryUUID」として実装します。これはRFC 4530に従います。一部のサーバーでは異なる名前で知られているため、この設定が存在します(Microsoft Active Directory ではobjectGUID)。

 

 

グループ スキーマ設定

設定

説明

グループ オブジェクト クラス

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

  • groupOfUniqueNames
  • group

グループ オブジェクト フィルター

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

  • (&(objectClass=group)(cn=*))

グループ名属性

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

  • cn

グループ説明属性

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

  • description

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

設定

説明

グループ メンバー 属性

グループのメンバーを読み込むときに使用する属性フィールド。例:

  • member

ユーザー メンバーシップ属性

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

  • memberOf

ユーザーのグループ メンバーシップを検索する際に、ユーザー メンバーシップ属性を使用する

ディレクトリ サーバーがユーザーのグループ メンバーシップをサポートしている場合に、このボックスを選択します (既定では、これが "memberOf" 属性です)。

  • このチェックボックスがオンの場合、アプリケーションは指定されたユーザーが所属するグループのリストの取得時に、ユーザーのグループ メンバーシップ属性を使用します。これによって、より効率的に取得することができます。
  • このチェックボックスが選択されていない場合、アプリケーションはグループのメンバー属性 (既定では member) を検索に使用します。
  • [ネストされたグループを有効化] チェックボックスがオンの場合、アプリは[ユーザー メンバーシップ属性を使用] オプションを無視し、グループのメンバー属性を検索に使用します。

グループのメンバーを検索する際に、ユーザー メンバーシップ属性を使用する

ディレクトリ サーバーがユーザーのグループ メンバーシップをサポートしている場合に、このボックスを選択します (既定では、これが "member" 属性です)。

  • このチェックボックスがオンの場合、アプリケーションは指定されたグループのメンバーの取得時に、ユーザーのグループ メンバーシップ属性を使用します。これによって、より効率的に検索することができます。
  • このチェックボックスが選択されていない場合、アプリケーションはグループのメンバー属性 (既定では member) を検索に使用します。

可能な設定の図

図:LDAP ディレクトリに接続している Jira

図:読み込み専用に設定された権限とローカルグループを持つ LDAP ディレクトリに接続している Jira

関連トピック

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

最終更新日 2022 年 9 月 14 日

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

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