Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

DN(ディーエヌ)とは | 意味や読み方など丁寧でわかりやすい用語解説

DN(ディーエヌ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ドメインネーム (ドメインネーム)

英語表記

Distinguished Name (ディスティンギッシュドネーム)

用語解説

DNとは、"Distinguished Name"(識別名)の略であり、主にディレクトリサービスにおいて、特定のエントリ(人、グループ、デバイス、サービスなど)を一意に識別するために用いられる。これは、電話帳や組織図のように、多くの情報が階層的に整理されているデータベースの中から、目的の情報を正確に指し示すための住所のようなものである。システムエンジニアを目指す上で、ユーザー管理や認証、アクセス制御といった基盤技術を理解する上で、このDNという概念は非常に重要となる。特に、LDAP(Lightweight Directory Access Protocol)と呼ばれる標準プロトコルを利用したディレクトリサービスにおいて、DNは不可欠な要素である。

DNは、複数の「属性=値」のペアをカンマで連結して構成される。この「属性=値」のペアの一つ一つをRDN(Relative Distinguished Name:相対識別名)と呼ぶ。RDNは、そのエントリが直下の親エントリに対して一意であるということを示す。そして、これらのRDNを階層の下位から上位へと順に並べることで、ディレクトリツリー全体の中でそのエントリを一意に識別できる完全なパスが形成される。

具体的なDNの例を挙げると、「cn=John Doe,ou=Users,dc=example,dc=com」のような形式になる。 この例を分解して見てみよう。 まず、「cn=John Doe」は、エントリ自身のRDNである。「cn」はCommon Name(共通名)という属性で、その値が「John Doe」であることを示す。これは、人名やデバイス名など、そのエントリが一般的に知られる名前を表すことが多い。 次に、「ou=Users」は、John Doeエントリが属する親エントリのRDNである。「ou」はOrganizational Unit(組織単位)という属性で、その値が「Users」であることを示す。これは、組織内の部署やグループといった論理的な分類を表すのに使われる。 さらに上位の「dc=example,dc=com」は、最上位のドメインコンポーネントを示す。「dc」はDomain Component(ドメインコンポーネント)という属性で、インターネットのドメイン名(例: example.com)を構成する各要素を表す。通常、ドメインの最上位から下位へと順に並べられるため、dc=comが最上位、その下にdc=exampleが配置される。

このように、DNはエントリ自身から始まり、その親、さらにその親へと遡り、最終的にディレクトリツリーのルートに至るまでのパスを明示的に表現する。この階層的な構造により、複雑な組織やネットワーク環境における多様なオブジェクトを論理的に管理することが可能になる。DNの各RDNはその親のコンテキスト内で一意である必要があり、DN全体としてはディレクトリサービス内で完全に一意な識別子となる。

DNが果たす役割は多岐にわたる。第一に、前述の通り、ディレクトリサービス内の任意のエントリを一意に識別する。これにより、膨大な数のユーザーやリソースの中から、特定の目的のものを間違いなく指し示すことができる。これは、ファイルシステムのパスが特定のファイルを識別するのと同様の考え方である。

第二に、認証において重要な役割を担う。多くのシステムでは、LDAPディレクトリサービスに保存されているユーザー情報を用いて認証を行う。この際、ユーザーが入力するユーザー名として、そのユーザーのDNを用いることがある。システムは提供されたDNとパスワードを照合することで、そのユーザーが正当なユーザーであるかを確認する。例えば、VPN接続や特定のアプリケーションへのログインにおいて、ユーザーDNが認証情報の一部として求められることがある。

第三に、アクセス制御の基盤としても利用される。ディレクトリ内の特定のエントリや、DNの特定のサブツリーに含まれるエントリに対して、誰がどのような操作(読み取り、書き込み、変更、削除など)を許可されるかを定義する際に、DNが指定される。これにより、きめ細やかな権限管理を実現し、システムのセキュリティを高めることができる。例えば、ou=Administratorsに属するユーザーのみが特定のサーバー設定を変更できるといったルールをDNベースで設定できる。

システムエンジニアを目指す初心者にとって、DNの理解は将来的なキャリアにおいて非常に役立つ。Windows Server環境で広く利用されているActive Directoryも、内部的にはLDAPプロトコルに基づいたディレクトリサービスであり、ユーザーやコンピュータ、グループなどの各オブジェクトはDNによって識別されている。また、LinuxやUnix環境でのLDAPクライアントの設定、あるいはさまざまなアプリケーションの認証基盤としてLDAPサーバーを利用する際には、必ずDNの概念に触れることになる。これらのシステムを設計、構築、運用する際には、オブジェクトの命名規則を考慮し、適切なDNを設計する能力が求められることもある。DNの正確な理解は、セキュリティの確保、効率的なシステム管理、そして将来の複雑なITインフラストラクチャへの対応能力を向上させるための重要な一歩となる。

関連コンテンツ

関連IT用語