Active Directoryオブジェクトの識別名(DN)とはTech TIPS

Active Directoryのオブジェクトを表すためには、識別名(DN)が利用できる。スクリプトやコマンドラインでActive Directoryを操作する場合は、この識別名が必要になる。識別名は、相対識別名CN=…やOU=…、OU=…などを、Active Directoryツリーの下位から順に並べたもので構成される。

» 2006年12月23日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003


解説

 Active Directoryでは、オブジェクトを一意に識別するために、「識別名」という表記方法を利用する。本TIPSでは、この識別名について説明する。

●識別名とは

 識別名(DN:Distinguished Name)は、Active Directoryのオブジェクトを表記するために使われる表記方法であり、例えば次のようなものである(dsqueryはActive Directoryの問い合わせを行うコマンド)。

C:\>dsquery user -name suzuki ……ユーザー情報のクエリ
"CN=suzuki,OU=Eigyou1,DC=example,DC=co,DC=jp" ……識別名による結果

C:\>



 これは、example.co.jpドメインにある、Eigyou1という組織単位(OU)に属するsuzukiというユーザーアカウントを問い合わせた場合の例である。「CN=…」で始まる表記がDN名である(前後のダブルクォートはDNには含まれないが、コマンドなどで使用する場合は、空白や特殊文字などを含むことができるように、このように囲んでおく)。GUIのツール([Active Directory ユーザーとコンピューター]管理ツールなど)を利用しているとこのような表記はあまり利用することはないが、コマンドラインで利用するツール(csvde.exeやldifde.exe、dsコマンド群など)やActive Directoryオブジェクトを操作するスクリプト、Exchange Serverなどを利用していると、操作対象のオブジェクトを表すために、このDN表記を利用することが多い。

●識別名の構成

 Active Directoryは、X.500ディレクトリサービスアーキテクチャに基づいて設計されているが、そのディレクトリサービスにアクセスするために利用されるのが、LDAP(Lightweight Directory Access Protocol)というプロトコルである。識別名(DN)は、正式には「LDAP識別名」といい、複数の「LDAP相対識別名(RDN:Relative Distinguished Name)」をカンマで区切って並べたものである。Active Directoryのツリー構造に従って、下位から上位へと属性が並んでいる。

関連記事 連載 LDAPアプリケーション入門(Master of IP Network)

 先ほどの例でいえば、「CN=suzuki」や「OU=Eigyou1」「DC=example」などが相対識別名であり、それらを組み合わせたもの全体で、特定のオブジェクトを表す識別名となる。「相対」という呼び方は、ある特定の親要素の中でのみ意味を持つ(その親の中では一意)、ということに基づく。

●識別名における属性名

 相対識別名は「属性名=」という形式を持つが、どのような属性名が利用できるかは実際のディレクトリサービスに依存する。Active Directoryの場合は、以下のサポート技術情報やRFCなどで定義されている属性に基づいている。

 ただし全て属性が利用できるわけはなく、Active Directoryでは以下のような属性が使われている。

オブジェクトタイプ 名前付け属性表示名 名前付け属性LDAP名
ユーザー名やグループ名、コンピューター名、他 Common-Name CN=……
組織単位(OU) Organizational-Unit-Name OU=……
ドメイン Domain-Component DC=……
Active Directoryで利用される属性名
LDAPではこれ以外にも「C=国/地域」「O=組織」といった属性もあるが、Active Directoryではこれらは利用されない。

●LDAP URLとActive Directory正規名

 識別名と似たものとして、次のようなものもある。

■LDAP URL(LDAP Uniform Resource Locator)

 スクリプトなどで利用される、LDAPサーバーへのアクセス用の表記。
「LDAP://server1.example.co.jp/CN=suzuki,OU=Eigyou1,DC=example,
DC=co,DC=jp」のように、LDAPサーバー名と組み合わせて利用される。

■Active Directory正規名

 Active Directoryのコマンドで出力される形式の1つ。コマンドによっては、この形式で表示するのがデフォルトとなっている(初期のActive Directory関連のコマンドに多い)。「example.co.jp/Eigyou1/suzuki」のように、上位から下位へ、左から順に並べる。

■オブジェクトGUID

 これは表には現れないが、Active Directoryでは全てのオブジェクトに対して、このGUIDによる一意なID(128bitのランダムな数値)を付け、内部的に管理している。Active Directoryのツリー構造や名前の変更に伴い、識別名やActive Directory正規名は変わるが、GUIDは変わらない。

■関連記事(Windows Server Insider)


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。