2.3. サイト調査の実行

サイト調査は、ディレクトリーの内容を検出し特徴付けるための正式な方法です。準備がディレクトリーアーキテクチャーのキーであるため、サイト調査の実施に十分な時間を費やします。サイト調査は複数のタスクで設定されます。
  • ディレクトリーを使用するアプリケーションを特定する。
    エンタープライズ全体にデプロイされるディレクトリー対応アプリケーションとそのデータのニーズを判断する。
  • データソースを特定する。
    企業の調査を行い、Active Directory、その他の LDAP サーバー、PBX システム、人材データベース、電子メールシステムなどのデータソースを特定する。
  • ディレクトリーに含まれる必要のあるデータを特徴付ける。
    ディレクトリーに存在すべきオブジェクト (例: 人またはグループ) と、ディレクトリーで維持すべきオブジェクトの属性 (ユーザー名とパスワードなど) を決定します。
  • 提供するサービスレベルを決定する。
    ディレクトリーデータをクライアントアプリケーションに提供する際の可用性を決定し、それに応じてアーキテクチャーを設計します。ディレクトリーに要求される可用性が、データのレプリケート方法およびリモートサーバーに保存されたデータを接続するためのチェーンポリシーの設定方法に影響を及ぼします。
    レプリケーションについての詳細は7章レプリケーションプロセスの設計を、チェーンの詳細についての詳細は「トポロジーの概要」を、それぞれ参照してください。
  • データサプライヤーを特定する。
    データサプライヤーには、ディレクトリーデータのプライマリーソースが含まれます。このデータは、負荷分散および復元の目的で、他のサーバーにミラーリングされる可能性があります。各データで、データサプライヤーを決定します。
  • データの所有者を決定する。
    各データについて、データが最新の状態であることを確認する担当者を決定します。
  • データアクセスを決定する。
    データを他のソースからインポートする場合には、一括インポートと増分更新の両方のストラテジーを作成します。このストラテジーの一部として、データを 1 カ所で管理し、データを変更できるアプリケーションの数を制限するようにします。また、任意のデータに書き込みするユーザーの数を制限します。小規模なグループにより、管理のオーバーヘッドを削減しつつ、データの整合性が確保されます。
  • サイト調査を文書化します。
ディレクトリーの影響を受ける組織の数により、影響を受ける各組織の代表を含むディレクトリー導入チームを作成して、サイト調査を実行することが役に立つ場合があります。
企業には、一般的に、人事部門、経理部門、製造部門、営業部門、および開発部門があります。各組織からの代表を含めると、調査プロセスに役に立ちます。さらに、影響を受けるすべての組織が直接関与することで、ローカルデータストアから集中ディレクトリーへの移行が受け入れられます。

2.3.1. ディレクトリーを使用するアプリケーションの特定

通常、ディレクトリーにアクセスするアプリケーションおよびこれらのアプリケーションのデータニーズが、ディレクトリーの内容の計画を駆動します。多くの共通アプリケーションはディレクトリーを使用します。
  • オンライン電話帳などのディレクトリーブラウザーアプリケーション。ユーザーが必要な情報 (メールアドレス、電話番号、従業員名など) を決定し、ディレクトリーに追加します。
  • 電子メールアプリケーション (特に電子メールサーバー)すべての電子メールサーバーには、ディレクトリーで利用可能なメールアドレス、ユーザー名、および一部のルーティング情報が必要です。ただし、ユーザーのメールボックスが格納されているディスク上の場所や、不在時の自動返信情報、プロトコル情報 (たとえば、IMAP と POP) など、より高度な情報が必要です。
  • ディレクトリー対応人事アプリケーション。これには、マイナンバー、自宅住所、自宅電話番号、生年月日、所得、およびジョブタイトルなど、より個人的な情報が必要です。
  • Microsoft Active Directory.Windows User Sync により、Windows ディレクトリーサービスを統合して、Directory Server と連動できます。どちらのディレクトリーでも、ユーザー情報 (ユーザー名とパスワード、メールアドレス、電話番号など) およびグループ情報 (メンバー) を保存できます。ユーザー、グループ、その他のディレクトリーデータがスムーズに同期できるように、既存の Windows サーバー導入の後に Directory Server の導入をスタイルします (またはその逆)。
ディレクトリーを使用するアプリケーションを検証する場合は、各アプリケーションが使用する情報の種類を確認します。以下の表は、アプリケーションの例と、各アプリケーションによって使用される情報を示しています。

表2.1 アプリケーションデータニーズの例

アプリケーション データのクラス データ
電話帳 名前、メールアドレス、電話番号、ユーザー ID、パスワード、部署番号、マネージャー、メール停止
Web サーバー 人、グループ ユーザー ID、パスワード、グループ名、グループメンバー、グループ所有者
カレンダーサーバー 人、会議室 名前、ユーザー ID、立方数、会議室名
アプリケーションおよび各アプリケーションによって使用される情報の特定後、一部のタイプのデータが複数のアプリケーションによって使用されていることが明確になります。データ計画段階でこのような演習を実行すると、ディレクトリーにおけるデータ冗長性の問題を回避し、ディレクトリー依存アプリケーションが必要とするデータをより明確にすることができます。
ディレクトリーで維持するデータの種類および情報をディレクトリーに移行する時期に関する最終的な決定は、以下の要因の影響を受けます。
  • さまざまなレガシーアプリケーションとユーザーが必要とするデータ
  • レガシーアプリケーションの LDAP ディレクトリーと通信する能力

2.3.2. データソースの特定

ディレクトリーに含めるすべてのデータを特定するには、既存のデータストアの調査を実行します。調査には以下を含める必要があります。
  • 情報を提供する組織を特定する。
    エンタープライズにとって必要とされる情報を管理するすべての組織を見つけます。通常、これには情報サービス、人事、支払い部門、経理部門が含まれます。
  • 情報ソースであるツールおよびプロセスを特定する。
    情報の一般的なソースには、ネットワークオペレーティングシステム (Windows、Willell Netware、UNIX NIS)、電子メールシステム、セキュリティーシステム、PBX (電話交換) システム、および人事アプリケーションなどがあります。
  • 各データを一元化する方法を判断することが、データの管理に影響を及ぼします。
    集中データ管理では、新しいツールおよび新しいプロセスが必要になる場合があります。集中化により、一部の組織でスタッフを増やす必要があり、他の組織のスタッフが減少する必要があることがあります。
調査の実行中に、表2.2「 情報ソースの例」のような、エンタープライズのすべての情報ソースを特定するマトリックスの開発を検討します。

表2.2 情報ソースの例

データソース データのクラス データ
人事データベース 名前、住所、電話番号、部署番号、マネージャー
E メールシステム 人、グループ 名前、メールアドレス、ユーザー ID、パスワード、電子メール設定
ファシリティーシステム ファシリティー ビル名、フロア名、立方数、アクセスコード

2.3.3. ディレクトリーデータの特徴付け

ディレクトリーに含まれるように識別されたすべてのデータは、以下の一般的なポイントに従って特徴付けることができます。
  • 形式
  • サイズ
  • 各種アプリケーションで発生回数
  • データの所有者
  • 他のディレクトリーデータとの関係
ディレクトリーに含める各種類のデータを調査し、他のデータと共有する特性を決定します。これは、スキーマ設計の段階で時間を節約するのに役立ちます。詳細は、3章ディレクトリースキーマの設計で説明されています。
ディレクトリーデータを特徴付ける 表2.3「ディレクトリーデータの特徴付け」のようなテーブルを使用することが良いでしょう。

表2.3 ディレクトリーデータの特徴付け

データ 形式 サイズ 所有者 関連
従業員名 テキスト文字列 128 文字 人事 ユーザーエントリー
Fax 番号 電話番号 14 桁の数字 ファシリティー ユーザーエントリー
メールアドレス テキスト 多くの文字 情報システム部門 ユーザーエントリー

2.3.4. サービスレベルの決定

提供されるサービスレベルは、ディレクトリー対応アプリケーションに依存するユーザーの期待値により異なります。各アプリケーションが想定するサービスのレベルを決定するには、まずアプリケーションの使用方法とタイミングを決定します。
ディレクトリーが発展するにつれて、さまざまなサービスレベル (本番環境からミッションクリティカルまで) をサポートする必要がある場合があります。ディレクトリーのデプロイ後にサービスレベルを上げることは困難な場合があるため、初期設計が今後のニーズを満たすようにしてください。
たとえば、合計の失敗のリスクを排除する必要がある場合は、同じデータに対して複数のサプライヤーが存在する、マルチサプライヤーの設定を使用します。

2.3.5. データサプライヤーの検討

データサプライヤー は、データソースのサプライヤーであるサーバーです。同じ情報が複数の場所に保存されるたびに、データの整合性が低下する可能性があります。データサプライヤーにより、複数の場所に保存されている全情報の一貫性が保たれ、正確性が確保されます。データサプライヤーが必要なシナリオはいくつかあります。
  • Directory Server 間でのレプリケーション
  • Directory Server と Active Directory との間の同期
  • Directory Server データにアクセスする独立したクライアントアプリケーション
ディレクトリーに間接的に通信するアプリケーションがある場合には、データソースのサプライヤーについて検討してください。データを変更するプロセスと、データの変更元の場所を可能な限りシンプルに維持します。データを管理する単一のサイトを決定したら、同じサイトを使用して、そこに含まれる他のデータをすべて管理します。単一サイトは、データベースが企業全体で同期を失った場合にトラブルシューティングを簡素化します。
データ提供を実装する方法は複数あります。
  • ディレクトリーと、ディレクトリーを使用しないすべてのアプリケーションの両方でデータを管理する。
    複数のデータサプライヤーを維持する場合、ディレクトリーおよびその他のアプリケーションにデータを出し入れするのにカスタムスクリプトは必要ありません。ただし、データが 1 カ所で変更された場合は、他のすべてのサイトでデータを変更する必要があります。ディレクトリーおよびディレクトリーを使用しないすべてのアプリケーションでサプライヤーデータを維持すると、データが企業全体で同期されないことになります (ディレクトリーはこれを防ぐことが期待されます)。
  • ディレクトリー以外の一部のアプリケーションでデータを管理し、スクリプト、プログラム、またはゲートウェイを作成し、そのデータをディレクトリーにインポートする。
    データを管理するのにすでに使用されているアプリケーションが 1 つまたは 2 つある場合には、ディレクトリーを使用しないアプリケーションでデータを管理するのが最も妥当です。ディレクトリーは検索にのみ使用されます (例: オンラインの企業電話帳)。
データのメインコピーの維持方法は、特定のディレクトリーのニーズによって異なります。ただし、データサプライヤーがどのように維持されているかに関係なく、単純性と一貫性を維持します。たとえば、複数のサイトでデータの管理を試みないでください。その場合、競合するアプリケーション間でデータを自動的に交換します。これを行うと、last change wins のシナリオが発生し、管理のオーバーヘッドが増加します。
たとえば、ディレクトリーは従業員の自宅電話番号を管理します。LDAP ディレクトリーと人事データベースの両方がこの情報を保存します。人事アプリケーションは LDAP 対応のため、LDAP ディレクトリーから人事データベースへデータを自動的に転送するアプリケーションを作成することができます。その逆の場合も、アプリケーションを作成できます。
ただし、LDAP ディレクトリーと人事データの両方で、従業員の電話番号の変更を管理しようとしていますが、電話番号が変更された最後の場所が他のデータベースの情報を上書きしてしまいます。これは、データを書き込む最後のアプリケーションに正しい情報がある場合に限り許容されます。
人事データがバックアップからリロードされたため、その情報が古くなっていた場合は、LDAP ディレクトリーの正しい電話番号が削除されます。
マルチサプライヤーレプリケーションにより、Directory Server には、複数のサーバーで情報のソースを含めることができます。複数のサプライヤーは変更ログを保持し、競合をより安全に解決できます。限られた数の Directory Server は変更を受け入れるサプライヤーと見なされ、データをレプリカサーバーまたはコンシューマーサーバーに複製します。[1] 複数のデータサプライヤーサーバーあると、サーバーがオフになった場合に安全なフェイルオーバーを提供します。レプリケーションおよびマルチサプライヤーレプリケーションの詳細は、7章レプリケーションプロセスの設計を参照してください。
同期により、Directory Server ユーザー、グループ、属性、およびパスワードを Microsoft Active Directory ユーザー、グループ、属性、パスワードと統合できます。2 つのディレクトリーサービスでは、それらが同じ情報を取り扱うか、共有されるその情報の量、およびその情報のデータサプライヤーとなるサービスを決定します。最適なのは、データを管理する 1 つのアプリケーションを選択し、同期プロセスで他のサービスのエントリーを追加、更新、または削除できるようにすることです。

2.3.6. データオーナーの決定

データの所有者 は、データを最新の状態に維持させる人または組織を指します。データ設計フェーズで、ディレクトリーにデータを書き込むことができるユーザーを決定します。以下は、データの所有者を決定する一般的なストラテジーです。
  • ディレクトリーコンテンツマネージャーの小さなグループ以外のすべてのユーザーに対して、ディレクトリーへの読み取り専用アクセスを許可します。
  • 個々のユーザーが、自分に関する情報の戦略的サブセットを管理できるようにします。
    この情報のサブセットには、パスワード、自身の説明情報、組織内のロールり、ナンバープレートの番号、電話番号やオフィス番号などの連絡先情報が含まれる可能性があります。
  • ユーザーのマネージャーに、連絡先情報やジョブタイトルなど、そのユーザーの情報の戦略的サブセットへの書き込みを可能にします。
  • 組織の管理者が、その組織のエントリーを作成して管理できるようにします。
    この方法では、組織の管理者がディレクトリーコンテンツマネージャーとして機能します。
  • 読み取りまたは書き込みアクセス権限を持つユーザーグループのロールを作成します。
    たとえば、人事、会計、またはアカウンティング向けに作成されたロールがあります。これらの各ロールに、そのグループが必要とするデータへの読み取りアクセス、書き込みアクセス、またはその両方を許可します。これには、給与情報、マイナンバー、および自宅電話番号および住所が含まれる可能性があります。
    ロールおよびエントリーのグループ化の詳細は、「ディレクトリーエントリーのグループ化」を参照してください。
同じ情報への書き込みアクセス権が必要な個人が複数存在する場合があります。たとえば、情報システム (IS) またはディレクトリー管理グループには、おそらく従業員パスワードへの書き込みアクセスが必要になります。また、従業員自体にも自分のパスワードへの書き込みアクセス権があることが望ましい場合があります。一般的には、複数のユーザーが同じ情報への書き込みアクセス権を持つ場合には、このグループを小さくし、簡単に識別できるようにしてください。グループを小さくすると、データの整合性が確保されます。
ディレクトリーのアクセス制御の設定に関する詳細は、9章セキュアなディレクトリーの設計を参照してください。

2.3.7. データアクセスの決定

データの所有者を決定したら、各データを読み取ることができるユーザーを決定します。たとえば、従業員の自宅電話番号はディレクトリーに保存できます。このデータは、従業員のマネージャーや人事など、多くの組織に役に立つ場合があります。従業員は、検証目的でこの情報を読み取ることができる必要があります。しかし、自宅の連絡先情報は機密であるとみなされる可能性があるため、企業全体で広く利用するべきではありません。
ディレクトリーに保存されている各情報について、以下を決定します。
  • データは匿名で読み取りできるか
    LDAP プロトコルは匿名アクセスをサポートし、オフィスサイト、メールアドレス、ビジネス電話番号などの情報を簡単に検索することができます。ただし、匿名アクセスにより、誰でも共通情報へのディレクトリーアクセスが可能になります。したがって、匿名アクセスの使用は限定的にします。
  • データは企業全体で読み取りできるか
    アクセス制御は、クライアントが特定の情報を読み取るためにディレクトリーへのログイン (またはバインド) する必要があるように設定できます。匿名アクセスとは異なり、この形式のアクセス制御により、組織のメンバーのみがディレクトリー情報を表示できます。また、ディレクトリーのアクセスログにログイン情報を取得するので、誰が情報にアクセスしたかが記録に残ります。
    アクセス制御の詳細は、「アクセス制御の設計」を参照してください。
  • データの読み取りが必要な人やアプリケーションの特定可能なグループはあるか
    データへの書き込み権限があるユーザーは、通常 (パスワードへの書き込みアクセスを除き) 読み取りアクセスが必要です。特定の組織またはプロジェクトグループに固有のデータがある場合もあります。これらのアクセスのニーズを特定することは、ディレクトリーが必要とするグループ、ロール、およびアクセス制御を把握するのに役立ちます。
    グループおよびロールの詳細は、4章ディレクトリーツリーの設計を参照してください。アクセス制御の詳細は、「アクセス制御の設計」を参照してください。
ディレクトリーデータごとに、これらの決定を行うと、ディレクトリーのセキュリティーポリシーが定義されます。この決定は、サイトの性質と、サイトで利用できるセキュリティーの種類によって異なります。たとえば、ファイアウォールがあったりインターネットに直接アクセスできない場合は、ディレクトリーがインターネットに直接配置される場合よりも匿名アクセスのサポートは安全です。さらに、アクセスを制限する際にアクセス制御と認証手段のみが必要になる場合もあります。その他の機密情報は保存時にデータベース内で暗号化する必要がある場合があります。
多くの国では、データ保護の法律で、企業がどのように個人情報を維持するか、個人情報へのアクセスを制限するかが規定されています。たとえば、法律では、アドレスと電話番号への匿名アクセスを禁止したり、ユーザーがそれらを表すエントリーの情報を表示したり、修正できることを要求したりする場合があります。ディレクトリーの導入が、エンタープライズが活動する国で必要なすべての法に従うように、組織の法務部門に必ず確認してください。
セキュリティーポリシーの作成と、実装する方法の詳細は、9章セキュアなディレクトリーの設計を参照してください。


[1] レプリケーションでは、コンシューマーサーバー または レプリカサーバー は、サプライヤーサーバーまたはハブサーバーから更新を受け取るサーバーです。