Active Directory - 認証の仕組み
Active Directoryでユーザー認証などを行えることを、前回までで紹介しました。ここではどのようにユーザー認証が行われるのかについて、ワークグループ環境とドメイン環境を比較して紹介したいと思います。
ワークグループとドメイン
Active Directoryによる認証を行う環境を「ドメイン環境」と呼びます。対して Active Directoryを使わない環境は「ワークグループ環境」と呼ばれています。この2つの環境の違いについて、まず紹介します。
ワークグループ環境は、アクセスを要求してきたユーザーに対する認証をそれぞれのコンピュータが独自に実行する形態です。この環境では、アクセスを要求するクライアントから、アクセス先のコンピュータに対して、ユーザー名とパスワードを基にした認証データを送信します。この認証データを受け取ったアクセス先のコンピュータは、自身のシステムに登録されているアカウント情報とこの認証データを照合します。そして照合が成功した場合に、そのシステムへのアクセスがユーザーに許可されます。
かわってドメイン環境では、はじめにすべてのユーザー/コンピュータがドメインに参加するという仕組みを通して、Active Directoryを構成するドメインコントローラを信頼することから始まります。ドメインに参加しているユーザーがアクセスを要求すると、その認証データはActive Directoryデータを格納しているドメインコントローラに送信されます。認証データを受け取ったドメインコントローラは、その認証データとActive Directoryに保存されているアカウント情報との照合を行い、正しいユーザーであることが確認できた場合には、チケットと呼ばれるアクセス用トークンをクライアントに送信します。チケットを受け取ったクライアントは、そのチケットを認証データとしてアクセス先コンピュータに提示します。アクセス先のコンピュータは、このチケットが属しているドメインから正しく発行されたものかどうかを検証し、正しいチケットであればそのクライアントにアクセスを許可します。このチケットを使った認証の仕組みは、 「Kerberos認証」と呼ばれています。
このようにドメイン環境では、アカウント情報の照合をドメインコントローラ上の Active Directoryの情報を基に行うことで、同じドメインに所属するユーザー/コンピュータは同じアカウント情報を基に認証されることになります。これによって、ワークグループ環境ではそれぞれのコンピュータ上にアカウント情報(ユーザー)を登録する必要がありましたが、ドメイン環境では Active Directoryにユーザーを登録することによって、どのコンピュータでも同じアカウント情報が利用できるようになります。これはユーザーを一度登録すればどのコンピュータでも認証をすることができるだけではなく、ユーザーを削除した場合には確実にそのアカウントが無効になるということも意味します。これはセキュリティを確保するために重要な要素と言えます。
スキーマとオブジェクト
ドメイン環境の認証では、Active Directory上に保存されたアカウント情報を基に認証が行われることを紹介しました。Active Directoryではユーザー情報をはじめ、「スキーマ」という定義に沿ったさまざまな情報を格納することが可能です。このスキーマは Active Directoryに保存するデータのセット(クラス)を定義する仕組みであり、ユーザー情報であればユーザーに関連する一連のデータをひとかたまりにした定義を、ユーザー情報のスキーマとして保持しています。新しいユーザー情報を作成した場合には、このスキーマを基にして一連のデータのセットが、ユーザー情報を表す「オブジェクト」として新規作成されます。
Active Directoryのスキーマはユーザーの手により拡張することが可能です。ここでは Active Directoryのスキーマに標準で含まれてる代表的なものを紹介します。
User - ユーザー
その名の通り、ユーザー情報を格納するクラスです。ユーザー情報には、ユーザーの名前やログオンID、パスワードなどが含まれています。このユーザー情報として格納されたIDとパスワードを使って、ユーザーの認証が行われます。
Security Group - セキュリティグループ
セキュリティグループは、ユーザーをひとまとめにグループ化するためのクラスです。セキュリティグループのメンバーとしてユーザーを追加することで、共有フォルダなどのリソースへのアクセス権の設定をそれぞれのユーザーに与えるのでなく、セキュリティグループに対して権限の設定をすることが可能になります。これによってグループに登録されているメンバーを追加/削除するだけで、グループに対して権限を設定したリソースにアクセスできるユーザーを操作できるようになります。
多数のリソースに対して個別のユーザーごとに権限を与えた場合、権限の変更は大変手間がかかります。リソースへの権限をグループを通して与えておくことで、グループのメンバーを変更するだけで多数のリソースへの権限を管理できます。
Contact - 連絡先
連絡先は、ユーザーと同様に人を表すクラスですが、ユーザーと大きく違うのはログオンに利用できるIDやパスワードの情報を持たないことです。そのため連絡先として登録された情報を使って、コンピュータにログオンするようなことはできません。
連絡先を利用するケースとしては、Exchange Serverと連動してメールアドレスのエイリアスとして利用する場合などがあります。
Distribution List - 配布リスト
配布リストは、セキュリティグループと同じようにユーザーをグループ化するために利用します。ただし配布リストはセキュリティグループと違ってリソースのアクセス権限の設定に利用することはできません。先の連絡先と同じように、Exchange Serverと連動して配布リストに追加したメンバーへまとめてメールを送る、メーリングリストのような機能を利用したい場合に、配布リストを作成します。
まとめ
Active Directoryを使ったドメイン環境では、アカウントの認証がドメインコントローラで行われます。認証がドメインコントローラで行われることによって、ユーザーの追加や変更/無効化を一元管理できるというメリットが生まれます。
また Active Directoryでは、スキーマという情報を使ってユーザーやグループといったオブジェクトを定義しています。このスキーマはユーザーに応じて拡張可能なため、一つのオブジェクトに多様な情報を関連づけることが可能です。Exchange Serverではこのスキーマ拡張を利用し、ユーザーやグループを拡張して追加の情報を格納して利用しています。
このように企業内で利用されるさまざまな情報、ユーザーやグループといったID管理にかかわるものを、Active Directoryによって一元管理することが可能になっています。
関連資料
- Active Directoryに関する技術情報:TechNet Active Directory TechCenter
- Active Directoryに関する概要情報:Active Directory機能概要ページ