この節では、Active Directoryドライバを展開する前に精通する必要があるドライバの機能について説明します。
Active Directoryドライバでの複数値属性の処理方法は、バージョン2とは変わりました。
バージョン2では複数値属性を購読者チャネルの単一値属性として処理するために、追加操作または変更操作で最初に変更した値以外はすべて無視していました。Active Directoryドライバのバージョン3では、複数値属性を完全にサポートしています。
ただし、Active Directoryドライバでは、複数値属性を単一値属性と同期する場合に複数値属性は単一値属性として処理されます。たとえば、[電話番号]属性は、Active Directoryでは単一値属性であり、アイデンティティボールトでは複数値属性です。この属性がActive Directoryから同期されると、1つの値だけがアイデンティティボールトに保存されます。
これにより、2つの属性間で正確に同期され、正しいマッピングが作成されますが、単一値属性にマップされる属性に複数の値が設定されている場合は、データが失われるおそれがあります。ほとんどの場合、使用する環境に必要であれば、特別な値は別の場所に保持するようポリシーを実装できます。
Active Directory属性userAccountControlは整数の値であり、そのビットでログオンの許可、パスワードの要求、アカウントのロックなどのログオンアカウントプロパティを制御します。個々のプロパティを表すブール値は整数値の中に隠れているため、プロパティを個別に同期することは、簡単ではありません。
バージョン2のActive Directoryドライバでは、userAccountControlをeDirectoryの[ログインの無効化]属性にマップできていましたが、属性内の他のプロパティビットはマップできていませんでした。
バージョン3では、userAccountControl属性内の各ビットをブール値として個々に参照するか、またはuserAccountControlを整数として全体で管理することができます。ドライバでは、userAccountControl内の各ビットのブール型の別名を認識します。こうした別名の値は、userAccountControlを含む任意のクラスのスキーマに反映されます。別名の値は、購読者チャネルで受け入れられ、発行者チャネルで提示されます。
この機能の長所は、各ビットをブール型として使用できるため、ビットを発行者フィルタで個々に有効にしたり、容易にアクセスできる点にあります。また、userAccountControlを発行者フィルタに挿入して、変更通知を整数で受け取ることもできます。
userAccountControlの整数と別名のバージョンを1つの環境設定に混在させないでください。
次の表は、使用可能な別名と16進の値を示しています。「読み込み専用」の属性を購読者チャネルで設定することはできません。
Table 2-3 別名と16進の値
userAccountControl属性に関するトラブルシューティングのヒントについては、Section 8.9, 購読者チャネルでユーザが追加した後に無効にされたActive Directoryアカウントを参照してください。
Exchange 2000とExchange 2003のメールボックスを提供するためのオプションが、バージョン2とは変わりました。
バージョン2では、Exchangeプロビジョニングはユーザオブジェクトで属性を設定することによって実現されていました。Microsoftプログラム(受信者更新サービス)では、この情報を使用してExchangeデータベースが提供されていました。
この方式はActive Directoryドライバのバージョン3でも機能しますが、新しい方式(CDOEXM)が追加されました。CDOEXMを有効にすると、Exchangeメールボックスは、homeMDB属性の設定によって提供されます。homeMDB属性が設定されると、必要なすべての属性が、ドライバにより自動的に設定されます。
homeMDB属性は最初の環境設定中に設定されますが、ドライバポリシーを変更すれば設定を変更できます。このパラメータについては、Section 4.3, 環境設定パラメータを参照してください。
[アカウントの有効期限]というeDirectory属性をaccountExpiresというActive Directory属性にマップすると、Active Directory内のアカウントは、eDirectoryで設定された時間より1日早く期限切れになります。
このようになる理由は、Active Directoryでは、accountExpires属性の値が1日単位の増分で設定されるためです。[アカウントの有効期限]というeDirectory属性では、特定の日時を使用してアカウントを期限切れにします。
たとえば、2006年7月15日午後5時00分に期限切れになるようにeDirectoryでアカウントを設定すると、このアカウントは、7月14日までは全日Active Directoryで有効です。
2006年7月15日に期限切れになるようにMicrosoft管理コンソールでアカウントを設定すると、[アカウントの有効期限]というeDirectory属性は、2006年7月16日午前12時00分に期限切れになるように設定されます。Microsoft管理コンソールでは時刻の値を設定できないため、デフォルトは午前12時00分になります。
ドライバでは、最も制限の厳しい設定が使用されます。要件によっては、Microsoftでの有効期限を1日追加できます。
Active DirectoryツールでActive Directoryオブジェクトを復元すると、オブジェクトを同期するときに、関連付けられたeDirectoryオブジェクトが削除されます。Active Directoryドライバで、Active DirectoryオブジェクトのisDeleted属性の変更が検索されます。ドライバでこの属性の変更が検出されると、Active Directoryオブジェクトに関連付けられているオブジェクトのドライバによって削除イベントが発行されます。
eDirectoryオブジェクトを削除しない場合は、Active Directoryドライバにさらにポリシーを追加する必要があります。Identity Manager 3.0には、すべての「削除」イベントを「関連付けを削除」イベントに変更する事前定義されたルールが付属しています。詳細については、『Policy Builder and Driver Customization Guide』の「Command Transformation - Publisher Delete to Disable」を参照してください。