Project Server 2007 の Active Directory 同期の管理
更新日: 2008年8月
トピックの最終更新日: 2015-03-09
Project Server ユーザーおよびリソースと、複数のドメインおよびフォレストにまたがる Active Directory ディレクトリ サービスのユーザーを同期することができます。この機能は、手動による大量のユーザーの追加、電子メール アドレスなどのユーザー メタデータの更新、システム アクセスが不要になったユーザーの非アクティブ化など、長く単調な作業を行う場合に管理者の役に立ちます。Active Directory 同期は、手動で実行するか、自動スケジュールに従って実行できます。Active Directory 同期の実行時、Project Server データのみが変更されます。Active Directory データは変更されず、Active Directory データのクエリが行われるだけです。
同期中に更新される Project Server ユーザー/リソースのプロパティ
同期の実行時、Project Server 2007 は次の Project Server ユーザー/リソースのプロパティを、特定の Active Directory のユーザー メタデータ フィールドを使用して更新します。
Active Directory ユーザー プロパティ | Project Server ユーザー/リソース プロパティ |
---|---|
ADGUID (UserObject.objectGUID) |
Project Server の発行済みデータベース (MSP_RESOURCES テーブルの WRES_AD_GUID フィールド) に格納されます。このプロパティは、Project Web Access ユーザー インターフェイスでは表示できません。 |
Windows ユーザー アカウント (domain\sAMAccountName) |
Windows ユーザー アカウント |
表示名 (UserObject.displayName) |
表示名/リソース名 |
電子メール アドレス (UserObject.mail) |
電子メール アドレス |
部門 (UserObject.department) |
グループ (リソース プロパティのみ)
|
サーバー側ハンドラを使用し、Active Directory 同期をカスタマイズして追加メタデータ フィールドをマップすることができます。サーバー側ハンドラの詳細については、MSDN ライブラリ オンラインで「Writing and Debugging Event Handlers for Project Server 2007 (英語)」(https://go.microsoft.com/fwlink/?linkid=126633\&clcid=0x411) を参照してください。
追加の Active Directory フィールドは、Project Server 2007 AD/Resource Sync Utility (英語) (https://go.microsoft.com/fwlink/?linkid=126634\&clcid=0x411) を使用して、リソース カスタム フィールドにマッピングされることがあります。
[!メモ] Microsoft は CodePlex サイトにあるサードパーティのプロジェクトを管理、検討、修正、承認、または配布しません。これらのプロジェクトは各自の責任で使用してください。Microsoft は、開発者のコミュニティにサービスを提供する Web 上の保管場所として、CodePlex サイトをホストしているだけです。
Active Directory 同期のベスト プラクティス
Project Server 2007 で Active Directory 同期を管理するときの推奨ベスト プラクティスは次のとおりです。
各 Project Server のセキュリティ グループおよび Project Server エンタープライズ リソース共有元に対応する特定の Active Directory グループを作成します。たとえば、新しい Active Directory グループ名を "Project Server - ERP"、"Project Server - Project Managers"、"Project Server - Executives" などにします。より効果的な編成を行うには、これらのグループ内に既存の Active Directory グループを入れ子にします。
必ずエンタープライズ リソース共有元を最初に同期し、次に Project Server セキュリティ グループを同期します。これにより、エンタープライズ リソース プロパティが正しく設定されます。
ビジネス ニーズに合わせて同期をスケジュールします。新しいユーザーが頻繁に追加される場合や、組織内でユーザーの職務が変わる場合は、同期が毎日実行されるようにスケジュールすることができます。これに該当しない場合は、同期が毎週実行されるようにスケジュールすることができます。同期は、必ず非稼働時間またはオフピーク時間帯に実行されるようにスケジュールすることをお勧めします。このように推奨する理由は、Windows SharePoint Services では、同期の実行時にアクセス許可の再同期が行われますが、これにより、すべてのユーザーのサイト アクセスが一時的に失われるためです。
ファームのアプリケーション サーバー上のアプリケーション イベント ログを検証して、問題のトラブルシューティングを行うことができます。また、統合ログ サービス (ULS) のログを使用すると、Active Directory の同期に関する問題の詳細を確認できます (たとえば、ユーザー ロックアウトが発生した場合、ULS ログには DEADLOCK エントリが記録されます。詳細については、後の「注意」を参照してください)。SharePoint のサーバーの全体管理サイトで ULS ログ設定を構成することで、目的の Active Directory イベントに関する詳細な情報を取得できます。ULS ログ設定は、[サーバー構成の管理] タブの [診断ログ] ページで構成できます。このページでは、Active Directory の同期情報だけを取得するように ULS ログ設定を構成できます。それには、[記録されるイベントの設定] を [Project Server Active Directory 同期] カテゴリに設定します。さらに、[トレース ログの記録対象となる重要度の最も低いイベント] を [詳細] に設定します。ログ オプション構成の詳細については、「診断ログを構成する (Project Server)」を参照してください。
注意 特定の状況下で、Project Server ユーザーとワークスペースを Active Directory に同期させると、"デッドロック" 状況が発生します。デッドロック状況になると、ユーザーが PWA サイトまたは各ワークスペースからロックアウトされます。これにより、ユーザー同期ジョブは失敗し、サイトのアクセス許可は一部しか同期されないか、またはまったく同期されません。ユーザーは、PWA またはワークスペースにログオンできなくなります。
デッドロックは、ユーザー同期プロセスに時間がかかり過ぎて完了できない場合に発生することがあります。これは、多数のユーザーとワークスペースに対して同期ジョブが繰り返されることが原因です。たとえば、大規模なメンバシップの変更が行われた場合などに発生します。同期ジョブがキューに長時間残っていることで、他のジョブが意図せずに開始され、デッドロックの原因となることもあります。
デッドロックの発生率を低減させるには、次のことを行います。大規模なグループ メンバシップの変更を行う前に、現在処理中のジョブ、またはキューで待機中のジョブに、"User Synchronization for Project Web Access App Root Site and Project WSS Workspaces" というジョブがないことを確認します。
CodePlex サイトの Project Server Workspace Sync (英語) ツール (https://go.microsoft.com/fwlink/?linkid=147394&clcid=0x411) を実行します。このツールは、ジョブの実行時に同期する項目を管理します。PWS とワークスペース、ワークスペースのみ、または PWA のみと同期するように設定したり、PWS とワークスペースのどちらとも同期しないように設定したりできます。また、非稼働時間やオフピーク時間帯など、サーバーのオーバーヘッドが低いときに管理者がユーザー同期を実行できるようにします。
Project Server Workspace Sync ツールを使用しても、標準以上に同期処理の速度が高速になることはありません。ただし、サーバーのオーバーヘッドが低いときにユーザーを同期できるため、同期に失敗する確率は低くなります。
Project Server アプリケーション共有サービス プロバイダ用に指定されたアカウントに、同期で使用するすべての Active Directory ドメインとフォレストに対する読み取り許可があることを確認します。すべての Active Directory 同期では、このアカウントが使用されます。別のユーザー アカウントを使用して手動で同期を実行した場合でも、このアカウントが使用されます。
Active Directory の表示名に含まれるサーバー固有のリスト区切り記号が、同期処理中に Project Web Access 内で置き換えられることがあります。Office Project Server 2007 では、リスト区切り記号としてコンマが定義されています。このため、Active Directory の表示名にコンマが含まれている場合は、セミコロンで置き換えられます。この状況は、コンマが表示名に頻繁に使用されるシナリオでは、注意する必要があります。
リソース カスタム フィールドを使用する場合は、これらのフィールドが "必須" に設定されていないことを確認します。これらのフィールドが "必須" に設定されているが、値が含まれていない場合、Active Directory 同期では、必須のフィールドに設定する値を把握できないため、同期に失敗することがあります。このフィールドの "必須" オプションは、無効にすることができます。または、同期の実行時に必須のカスタム フィールドに値を設定するサーバー側イベント ハンドラを実装することもできます。サーバー側ハンドラの詳細については、MSDN ライブラリ オンラインで「Writing and Debugging Event Handlers for Project Server 2007 (英語)」(https://go.microsoft.com/fwlink/?linkid=126633\&clcid=0x411) を参照してください。
Project Web Access を使用してユーザーを Project Server に追加する場合は、Active Directory で使用されている表示名と同じ表示名 (UserObject.displayName) をそのユーザーに対して使用します。Active Directory 同期の実行時に表示名が一致しない場合は、表示名の競合により同期が部分的に失敗し、アカウントは更新されません。
タスクの要件
このタスクの手順を実行するには、以下の権限が必要です。
[Active Directory 設定の管理] および [ユーザーとグループの管理] のグローバル設定を持つアカウントを使用して、Project Web Access 経由で Project Server にアクセスする権限。
同期に関係するすべての Active Directory グループおよびユーザー アカウントに対する (Project Server インスタンスの SSP サービス アカウントの) 読み取りアクセス権。このアカウントは、SharePoint サーバーの全体管理 Web サイトの [共有サービス管理] ページにある SSP のプロパティで確認できます。
[!メモ] SSP サービス アカウントの詳細については、「管理アカウントとサービス アカウントを計画する (Project Server)」を参照してください。
Project Server 2007 で Active Directory 同期を管理するには、次の手順を実行します。Active Directory 同期は、エンタープライズ リソース共有元のセキュリティ グループまたは Project Server のセキュリティ グループに対して構成できます。2 つの手順は相互に依存していません。