Active Directoryオブジェクトの識別名(DN)とは:Tech TIPS
Active Directoryのオブジェクトを表すためには、識別名(DN)が利用できる。スクリプトやコマンドラインでActive Directoryを操作する場合は、この識別名が必要になる。識別名は、相対識別名CN=…やOU=…、OU=…などを、Active Directoryツリーの下位から順に並べたもので構成される。
対象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のツリー構造に従って、下位から上位へと属性が並んでいる。
先ほどの例でいえば、「CN=suzuki」や「OU=Eigyou1」「DC=example」などが相対識別名であり、それらを組み合わせたもの全体で、特定のオブジェクトを表す識別名となる。「相対」という呼び方は、ある特定の親要素の中でのみ意味を持つ(その親の中では一意)、ということに基づく。
●識別名における属性名
相対識別名は「属性名=値」という形式を持つが、どのような属性名が利用できるかは実際のディレクトリサービスに依存する。Active Directoryの場合は、以下のサポート技術情報やRFCなどで定義されている属性に基づいている。
- 共通の LDAP RFC(サポート技術情報)
- RFC1777 - Lightweight Directory Access Protocol
- RFC2251 - Lightweight Directory Access Protocol (v3)
- RFC2252 - Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions
- RFC2253 - Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names
- RFC2254 - The String Representation of LDAP Search Filters
- RFC2255 - The LDAP URL Format
ただし全て属性が利用できるわけはなく、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)
- CSVDEやLDIFDEを使ったユーザー登録の例(連載 管理者のためのActive Directory入門)
- Active DirectoryのUsers/Computersコンテナをリダイレクトする(TIPS)
■この記事と関連性の高い別の記事
- WindowsのActive Directoryドメインを構築する(基本編)(TIPS)
- dsコマンドを使ってパスワードの無期限設定を変更する(TIPS)
- Active Directory用のDNSレコードを強制的に作成する方法(TIPS)
- Active Directory移行ツールでドメイン情報を移行する(TIPS)
- Windowsネットワークにおけるユーザー名とドメイン名の指定方法(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.