Bitbucket Server 認証を LDAP ディレクトリに委譲する

お困りですか?

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

コミュニティに質問

LDAP ディレクトリを使用した委任されたユーザー認証を行うように Bitbucket Server を設定して、ユーザーおよびグループの管理には引き続き Bitbucket Server を使用することができます。

LDAP ディレクトリから手動で新しいユーザー アカウントを作成するか、ユーザーがログインを試みた際に自動的にユーザー アカウントを作成するオプションを (下記の「ログイン時にユーザーをコピー」を参照) 使用できます。

Bitbucket Server の「ユーザーおよびグループの削除についての情報」も参照してください。

Bitbucket Server を委任認証のために LDAP ディレクトリに接続する方法

  1. "管理者" 権限を持つユーザーとして Bitbucket Server にログインします。
  2. Bitbucket Server の管理領域で、[アカウント] > [ユーザー ディレクトリ] をクリックします。
  3. [ディレクトリの追加] をクリックし、ディレクトリ タイプとして [LDAP 認証を行う内部ディレクトリ] を選択します。
  4. 以下の表で説明されているようにディレクトリ設定を構成します。
  5. ディレクトリ設定を保存します。
  6. [ユーザー ディレクトリ] 画面で各ディレクトリの矢印をクリックして、ディレクトリの順序を定義します。ディレクトリ順は次のように影響します。
    • ディレクトリの順序は、ユーザーおよびグループの検索順序です。
    • ユーザーおよびグループへの変更は、アプリケーションが変更権限を持つ最初のディレクトリに対してのみ行われます。

ユーザーに Bitbucket Server へのログインを許可するには、Atlassian Bitbucket Server を外部ディレクトリにつなぐだけでは不十分です。グローバル権限画面で Bitbucket Server へのアクセスを明示的に付与する必要があります。

権限を付与する際は、個々のアカウントではなくグループを使用することをおすすめします。ただし、Bitbucket Server ライセンスで許可されているよりも多くのユーザーをこれらのグループに追加しないよう注意してください。ライセンスの上限を超えると、開発者はコミットをリポジトリにプッシュできなくなり、Bitbucket Server には警告バナーが表示されます。この FAQ を参照してください。

このページの内容

サーバー設定

設定

説明

名前

ディレクトリを識別するのに役立つ説明的な名前にします。例:

  • Internal directory with LDAP Authentication
  • Corporate LDAP for Authentication Only

ディレクトリ タイプ

接続する 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

パスワード

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

ユーザーを手動で作成する

Move the delegated authentication directory to the top of the User Directories list and create the user manually (go to Administration > Users > Create user). Using this manual method you must currently create a temporary password when creating users. There is an improvement request to address this: STASH-3424 - Getting issue details... STATUS

If you intend to change the authentication directory of your users from Bitbucket Server Internal Directory to Delegated LDAP Authentication you must select the option to "Copy User on Login" since you can't create a new user that has the same username as another user in another directory.

ログイン時にユーザーをコピーする

次の表で説明している設定は、ユーザーが Bitbucket Server での認証を試みた際に関連するものです。このような認証の試行は、次のいずれかの場合に発生することがあります。

  • Bitbucket Server のログイン画面を使用しているとき。
  • Bitbucket Server で管理されるリポジトリに対し、コマンド ラインで Git クローンまたはプッシュ コマンドを発行したとき。

設定

説明

ログイン時にユーザーをコピーする

このユーザーは、ユーザーがログインを試みた際の動作に影響します。このボックスをオンにすると、ユーザーの初回ログイン時、LDAP が認証に使用している内部ディレクトリ内にユーザーが自動的に作成され、その後の同期のたびに詳細が同期されます。このボックスがオフになっている場合、ユーザーがディレクトリ内で作成されていない場合、ユーザーのログインは失敗します。

このボックスをオンにすると、次の追加フィールドが画面に表示されます。詳細は以下を参照してください。

  • 既定のグループ メンバーシップ
  • グループメンバーシップの同期
  • ユーザースキーマ設定 (以下の別のセクションに記載)

ログイン時にユーザーの属性を更新する

アプリケーションに対してユーザーを認証するたびに、LDAP サーバーからアプリケーションへと属性が自動更新されます。このオプションを選択した後、アプリケーション内で直接ユーザーを変更または削除する必要があります。

  • ユーザーを変更する必要がある場合は、LDAP サーバー上で実行します。認証後にアプリケーションで更新されます。
  • ユーザーを削除する必要がある場合は、LDAP サーバーとアプリケーションで実行します。LDAP サーバー上でのみユーザーを削除すると、アプリケーションへのログインが拒否されますが、非アクティブとしては設定されず、ライセンスに影響を与えます。ログイン時にユーザーの属性を更新する オプションを無効にしてユーザーを削除してから、再度有効化する必要があります。

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

このフィールドは、「ログイン時にユーザーをコピー」ボックスがオンになっている場合に表示されます。ユーザーを自動的にグループに追加する場合は、ここにグループ名を入力します。1 つ以上のグループを指定する場合は、グループ名をコンマで区切ります。ユーザーがログインするたびに、グループ メンバーシップがチェックされます。ユーザーが指定したグループに所属しない場合、それらのユーザーのユーザー名がグループに追加されます。グループがまだ存在しない場合、認証用 LDAP を使用して内部ディレクトリにグループが追加されます。

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

例:

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

グループメンバーシップの同期

このフィールドは、「ログオン時にユーザーをコピー」チェックボックスを選択した場合に表示されます。このボックスがオンになっている場合、ユーザーがログインするたびに、LDAP サーバーで指定したグループメンバーシップが、内部ディレクトリと同期されます。

このボックスをオンにすると、次の追加フィールドが画面に表示されます。詳細は以下を参照してください。

  • グループスキーマ設定 (以下の別のセクションに記載)
  • メンバーシップスキーマ設定 (以下の別のセクションに記載)

LDAP スキーマ

設定

説明

ベース 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 構造を検出および設定するのに役立ちます。

ユーザー名属性

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

  • cn
  • sAMAccountName

高度な設定

設定

説明

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

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

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

照会に従う

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

ユーザー スキーマ設定

注:このセクションは、ログイン時のユーザーのコピーが有効な場合のみ表示されます。

設定

説明

追加のユーザー DN

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

  • ou=Users

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

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

  • user

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

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

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

ユーザー名 RDN 属性

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

  • cn

ユーザの名属性

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

  • givenName

ユーザーの姓属性

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

  • sn

ユーザーの表示名属性

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

  • displayName

ユーザーのメール属性

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

  • mail

グループ スキーマ設定

注:このセクションは、ログイン時のユーザーのコピーおよびグループ メンバーシップの同期の両方が有効な場合のみ表示されます。

設定

説明

追加のグループ DN

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

  • ou=Groups

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

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

  • groupOfUniqueNames
  • group

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

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

  • (objectCategory=Group)

グループ名属性

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

  • cn

グループ説明属性

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

  • description

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

注:このセクションは、ログイン時のユーザーのコピーおよびグループ メンバーシップの同期の両方が有効な場合のみ表示されます。

設定

説明

グループ メンバー 属性

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

  • member

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

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

  • memberOf

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

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

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

最終更新日 2019 年 7 月 19 日

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

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