Delegate authentication to an LDAP directory

このページの内容

お困りですか?

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

コミュニティに質問

You can configure Bitbucket Data Center to use an LDAP directory for delegated user authentication while still using Bitbucket for user and group management.

You can either create new user accounts manually in the LDAP directory or use the option to automatically create a user account when the user attempts to log in, as described in the Copy users on login section below.

See also this information about deleting users and groups in Bitbucket.

To connect Bitbucket to an LDAP directory for delegated authentication:

  1. Log in to Bitbucket as a user with 'Admin' permission.
  2. Go to the Bitbucket administration area and click User Directories (under 'Accounts').
  3. Click Add Directory and select Internal with LDAP Authentication as the directory type.
  4. Configure the directory settings, as described in the tables below.
  5. Save the directory settings.
  6. Define the directory order by clicking the arrows for each directory on the 'User Directories' screen. The directory order has the following effects:
    • ディレクトリの順序は、ユーザーおよびグループの検索順序です。
    • ユーザーおよびグループへの変更は、アプリケーションが変更権限を持つ最初のディレクトリに対してのみ行われます。

Connecting Atlassian Bitbucket to your external directory is not sufficient to allow your users to log in. You must explicitly grant them access to Bitbucket in the global permission screen.

We recommend that you use groups instead of individual accounts when granting permissions. However, be careful not to add more users to those groups that your Bitbucket license allows. If the license limit is exceeded, your developers will not be able to push commits to repositories, and Bitbucket will display a warning banner. See this 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

パスワード

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

Manually creating users

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 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.

Copying users on login

The settings described in the table below relate to when a user attempts to authenticate with Bitbucket. This authentication attempt can occur either:

  • when using the Bitbucket login screen.
  • when issuing a Git clone or push command at the command line, for a repository managed by Bitbucket.

設定

説明

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

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

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

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

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

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

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

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

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

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

例:

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

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

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

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

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

LDAP schema

設定

説明

ベース 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」)を検索に使用します。

最終更新日: 2023 年 10 月 23 日

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

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