ベースDN(Base DN)とは、LDAPディレクトリツリーにおいて検索が開始される起点であり、クエリの対象となる組織の範囲を定義するものです。ディレクトリクライアント(VersaのLDAP認証プロファイルを含む)は、認証を行う際にこれをバインドDNと組み合わせて使用し、ベースDNが指定するサブツリーのみを検索します。
主なポイント
- ベースDNは、LDAPディレクトリツリー内のどこから検索を開始するかを指定します。
- クエリの範囲を定義します。その下にあるエントリにはアクセス可能ですが、範囲外のエントリにはアクセスできません。
- ベースDNは通常、ドメインのルートまたは特定の部門のOUに配置されます。
- LDAP認証プロファイルでは、バインドDNに加えてベースDNも指定する必要があります。
- Base DN が間違っていると、ユーザーおよびグループの検索で結果が返されなくなります。
このページの内容: その重要性仕組み一般的なベースDNの範囲ベースDNとVersaよくある質問
ベースDNはなぜ重要なのでしょうか?
LDAPクエリは、どこからか開始する必要があります。ディレクトリツリーには、多くの組織単位にまたがって数千ものユーザー、グループ、サービスアカウントが格納されている場合がありますが、開始点が定義されていないと、検索の範囲がまったく指定されないか、デフォルトでツリー全体が対象となってしまいます。ベースDNは、この問題を解決するものです。つまり、ディレクトリサーバーに対して、検索がツリーのどの枝を辿ってよいのかを正確に指定するものです。
このスコープ設定が重要である理由は、実用的な観点から2つあります。1つはパフォーマンスです。狭いOUを起点とする検索は、ドメイン全体を走査する検索よりも高速に結果が返されます。もう1つはセキュリティです。Base DNのスコープをアプリケーションが実際に必要とするOUのみに限定することで、アクセス制御リストが適用される前から、そのアプリケーションによるディレクトリクエリの対象範囲を制限することができます。
認証に関するトラブルシューティングを行う管理者にとって、通常、最初に確認すべきはベースDNです。ディレクトリに基づくログインに失敗したり、グループ一覧が空で返されたりする場合、ベースDNの範囲設定が誤っていること(間違ったOUを指している、またはネストされたコンテナが欠落しているなど)が、最も一般的な原因の一つです。
ベースDNとは何ですか?
ベースDNは、標準的なLDAP識別名(Distinguished Name)の構文で記述されます。これは、最も具体的なものから最も一般的なものへと順に読み進め、ディレクトリのルートで終わる、属性=値のペアをコンマで区切った順序付きチェーンです。ドメインルートのベースDNは、 versanetworks.com どうやら DC=versanetworks,DC=com. 1つの組織単位に絞り込まれたベースDNは、次のような形になります。 OU=Engineering,DC=versanetworks,DC=com.
クエリ実行時、クライアントはベースDNに、検索フィルター(一致させる属性)および検索範囲(ベース、1レベル、またはサブツリー)を組み合わせて、クエリがどのエントリを返すかを正確に定義します。ベースDNは「どこから検索を始めるか」を決定し、フィルターと範囲は「どこまで、何を検索するか」を決定します。
管理者は通常、「Active Directory ユーザーとコンピュータ(ADUC)」やコマンドラインなどのツールを使用して、Active Directory からドメインのベース DN を直接取得します。 dsquery ドメインのDN構造を推測するのではなく、ユーティリティを活用する。
一般的なベース DN スコープ
ドメインのルート。 最も広範かつ一般的な適用範囲: DC=versanetworks,DC=com. ここを起点とする検索は、原則として、クエリを実行するアカウント自身の権限の範囲内で、ドメイン内のすべてのユーザーおよびグループを対象とすることができます。
組織単位のスコープ。 ベースDNを、次のような特定のOUに絞り込む、例えば OU=Engineering,DC=versanetworks,DC=com, これにより、検索対象がそのコンテナおよびその直下にネストされたすべての要素に限定されます。これは、アプリケーション(たとえば、LDAP認証プロファイルなど)が、特定の部署のユーザーのみを認証する必要がある場合に、よく見られる手法です。
ネストされたコンテナのスコープ内。 一部の AD 環境では、サービスアカウントやユーザーアカウントを、次のような組み込みコンテナ内に配置しています。 CN=Users、カスタムOUではなく。ただし、ベースDNもこれらのコンテナを指すことは可能です。 CN= そして OU= ADツールでは動作が異なり、互換性はありません。
どのスコープを使用するかは、トレードオフの問題です。スコープを広く設定すれば、ディレクトリが拡大してもメンテナンスの手間が少なくて済みますが、スコープを狭く設定すると、露出範囲やクエリの量が制限されてしまいます。
ベースDN およびVersa
VersaのSSEゲートウェイは、LDAPベースの認証プロファイルを使用して、Active DirectoryまたはOpen-LDAPサーバーに対してユーザーの認証を行います。この設定は、「Configure」>「Security Service Edge」>「User and Device Authentication」>「Profiles」で構成されます。このプロファイルにおいて、「Base DN」は必須項目であり、「Bind DN」、「Bind Password」、「Domain Name」と併せて入力されます。この設定により、ユーザーの認証やポリシー適用に向けたグループメンバーシップの解決を行う際、ゲートウェイがディレクトリのどの部分を検索できるかが決定されます。
管理者が適切な値を特定できるよう、 設定の手順ガイド には、以下の方法を用いてドメインのベースDNを特定する方法に関する付録が含まれています。 dsquery * domainroot -scope base ADサーバー上での設定に加え、ドメイン全体の可視性を望まない場合に、特定のOUに範囲を絞り込むための手順についても説明します。
よくある質問
ベースDNとバインドDNの違いは何ですか?
ベースDNは、ディレクトリ検索の開始位置と、ツリー内のどの部分を確認できるかを指定します。バインドDNは、クライアントが検索を許可される前に認証を行うためのサービスアカウントの識別子です。LDAPプロファイルには、ログイン用のバインドDNと、検索対象を特定するためのベースDNの両方が必要です。
Active Directory でベース DN を確認するにはどうすればよいですか?
最も一般的な方法は、ドメインルートクエリです。次のコマンドを実行します。 dsquery * domainroot -scope base ADサーバー上で、ドメインのルートDNを返すコマンドを実行します。例えば、 DC=versanetworks,DC=com. 「Active Directory ユーザーとコンピューター (ADUC)」にもドメイン名が表示され、これはそのまま DN 形式に変換されます。
ベースDNの範囲を、ドメインのルートよりも狭い範囲に設定することは可能ですか?
はい。ベースDNは、次のような特定の組織単位を指すことができます。 OU=Engineering,DC=versanetworks,DC=com, これにより、検索対象がそのOUおよびその直下にネストされたコンテナに限定されます。これは、特定の認証プロファイルがクエリを実行したり認証を行ったりできるユーザーを制限するための一般的な方法です。
認証プロファイル内のベースDNが間違っていた場合、どうなりますか?
範囲設定が誤ったブランチに指定されたディレクトリ検索では、対象のユーザーやグループがツリー内の他の場所に存在していても、一致するエントリは返されません。症状としては、ログインの失敗、ポリシールール内のユーザーまたはグループリストが空になる、設定ミスのように見えるが実際にはスコープ設定の問題である認証エラーなどが挙げられます。
すべてのLDAP認証方式において、ベースDNは必要ですか?
はい、ディレクトリサーバーにクエリを送信する認証方式(Open-LDAP や Active Directory に対する LDAP など)では、Base DN は必須のフィールドとなります。一方、証明書ベースの認証や純粋にローカルな認証といった、ディレクトリを使用しない認証方式では、Base DN は一切使用されません。
ベースDNの詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 4511: LDAP – プロトコル | RFC 4514: 識別名の LDAP 文字列表現 |
|---|---|
| LDAPの検索操作を定義するIETF仕様。これには、ベースDNが指定するbaseObjectパラメータも含まれる。 | ベースDNを含む、識別名(Distinguished Name)の記述に使用される文字列構文を定義するIETF規格。 |
関連用語
Base DNについてお読みになっているなら、次はこれらもぜひチェックしてみてください。
| 識別名 | 識別名のバインド | 認証プロファイル |
|---|---|---|
| ディレクトリ内の個々のエントリを識別する、一意の階層的な名前。ベースDNは、そのエントリを検索するために検索が探索するサブツリーを指定します。 | LDAPクライアントは、検索を行う前にサービスアカウントのDNを使用して認証を行います。Versa は、このDNをベースDNと組み合わせて、ユーザーやグループを検索します。 | Versa の設定オブジェクト(LDAP、SAML、または証明書ベース)は、ユーザーの認証方法を定義します。LDAPプロファイルには、ベースDNが必要です。 |