この記事では認証後にクライアントを偽装しグローバル オブジェクトの作成ユーザー権限について説明します。
元の KB 番号: 821546
まとめ
この記事では、"認証後にクライアントを偽装する" と "グローバル オブジェクトを作成する" ユーザー権限について説明します。 これらの新しいセキュリティ設定は、Windows 2000 Service Pack 4 (SP4) で初めて導入され、Windows 2000 のセキュリティを強化するのに役立ちます。 この記事では、新しいセキュリティ設定について説明し、発生する可能性がある既知の問題とそのトラブルシューティング方法に関する情報も含まれています。
重要
既定のドメイン ポリシーまたはグループ ポリシーを使用して、"認証後にクライアントを偽装する" ユーザー権限と "グローバル オブジェクトの作成" ユーザー権限を適用する場合は、次の問題を考慮してください。
"認証後にクライアントを偽装する" および "グローバル オブジェクトの作成" ユーザー権限は、Windows 2000 SP4 以降を実行しているコンピューターにのみ適用されます。
既定のドメイン ポリシーまたはグループ ポリシーを使用すると、コンピューターが Windows 2000 Service Pack 2 (SP2) 以降を実行している場合に、環境内のコンピューターに "認証後にクライアントを偽装する" および "グローバル オブジェクトの作成" セキュリティ設定を適用できます。 Windows 2000 SP2 および Windows 2000 Service Pack 3 (SP3) ベースのコンピューターを含む環境にセキュリティ設定を展開することはできますが、セキュリティ設定は Windows 2000 SP4 ベースのコンピューターに適用されることに注意してください。 この設定は、Windows 2000 SP2 または Windows 2000 SP3 を実行しているコンピューターには適用されません。
Windows 2000 または Windows 2000 Service Pack 1 (SP1) を実行しているコンピューターにこれらの新しいユーザー権限の一方または両方を適用するには、既定のドメイン ポリシーまたは別のグループ ポリシーを使用しないでください。 既定のドメイン ポリシーまたは別のグループ ポリシーを使用して、Windows 2000 または Windows 2000 Service Pack 1 (SP1) を実行しているコンピューターにこれらのユーザー権限を適用すると、ポリシーのセキュリティ設定の伝達が失敗します。 つまり、ポリシーは Windows 2000 または Windows 2000 SP1 コンピューターに反映されず、ユーザー権限はローカル セキュリティ設定スナップインに表示されません。 次のシナリオは、既定のドメイン ポリシーまたは別のグループ ポリシーを使用して、Windows 2000 または Windows 2000 Service Pack 1 (SP1) を実行しているコンピューターにこれらの新しいユーザー権限のいずれかまたは両方を適用する場合に発生する可能性があります。
同じグループ ポリシー オブジェクト内にあり、Windows 2000 または Windows 2000 Service Pack 1 (SP1) デバイスを対象とする追加のセキュリティ ポリシー設定は、移行先デバイスには反映されません。
伝達される Windows 2000 または Windows 2000 Service Pack 1 (SP1) デバイスへの SDOU (サイト、ドメイン、組織単位) パスに沿って他のグループ ポリシーを使用して適用される追加のセキュリティ ポリシー設定。
これらの新しいセキュリティ設定のいずれかまたは両方が Windows 2000 または Windows 2000 Service Pack 1 (SP1) デバイスを対象としている場合、それらのデバイスのローカル MMC セキュリティ スナップインでセキュリティ設定を正しく表示できません。 ただし、他のドメイン側グループ ポリシー オブジェクト (新しい設定を含まない) から対象デバイスに適用されるすべてのセキュリティ設定は、それらの対象デバイスにも適用されます。
同様に、ドメイン コントローラーが Windows 2000 SP2 以降を実行している場合は、既定のドメイン コントローラー セキュリティ ポリシーを使用して、環境内のドメイン コントローラーに "認証後にクライアントを偽装する" および "グローバル オブジェクトの作成" セキュリティ設定を適用できます。 Windows 2000 SP2 と Windows 2000 SP3 ベースのドメイン コントローラーを含む環境にセキュリティ設定を展開できますが、セキュリティ設定は Windows 2000 SP4 ベースのドメイン コントローラーに適用されることに注意してください。 この設定は、Windows 2000 SP2 または Windows 2000 SP3 を実行しているドメイン コントローラーには適用されません。
問題 1: "クライアントの AfterAuthentication を偽装する" ユーザー権限 (SeImpersonatePrivilege)
"認証後にクライアントを偽装する" ユーザー権限 (SeImpersonatePrivilege) は、Windows 2000 SP4 で最初に導入された Windows 2000 セキュリティ設定です。 既定では、デバイスのローカル Administrators グループのメンバーとデバイスのローカル サービス アカウントには、"認証後にクライアントを偽装する" ユーザー権限が割り当てられます。 次のコンポーネントにも、このユーザー権限があります。
- Service Control Manager によって開始されるサービス
- COM インフラストラクチャによって開始され、特定のアカウントで実行するように構成されているコンポーネント オブジェクト モデル (COM) サーバー
"認証後にクライアントを偽装する" ユーザー権限をユーザーに割り当てると、そのユーザーに代わって実行されるプログラムがクライアントを偽装することを許可します。 このセキュリティ設定は、承認されていないサーバーがリモート プロシージャ コール (RPC) や名前付きパイプなどのメソッドを介して接続するクライアントを偽装するのを防ぐのに役立ちます。 SeImpersonatePrivilege 関数の詳細については、次の Microsoft Web サイトを参照してください。
認証後にクライアントに偽装する
Impersonate 関数 (ImpersonateClient、ImpersonateLoggedOnUser、ImpersonateNamedPipeClient など) の詳細については、Microsoft Platform SDK ドキュメントで SeImpersonatePrivilege を検索してください。 このドキュメントを表示するには、次の Microsoft Web サイトを参照してください。
認証後にクライアントに偽装する
問題 1 のトラブルシューティング
Windows 2000 SP4 をインストールした後、偽装を使用する一部のプログラムが正しく動作しない場合があります。
コンピューターに Windows 2000 Service Pack 4 (SP4) をインストールした後、偽装を使用する一部のプログラムが正しく機能しない可能性があります。
この問題は、プログラムの実行に使用されるユーザー アカウントに "認証後にクライアントを偽装する" ユーザー権限がない場合に発生する可能性があります。
Windows 2000 Service Pack 3 (SP3) 以前を実行しているコンピューターでは、ユーザー権限でクライアントを偽装する必要はありません。 そのため、Windows 2000 SP4 をインストールした後、偽装を使用する一部のプログラムが正しく動作しない場合があります。
この問題を解決するには、プログラムの実行に使用されるユーザー アカウントを特定し、そのユーザー アカウントに "認証後にクライアントを偽装する" ユーザー権限を割り当てます。 これを行うには、次の手順を実行します。
- [スタート] ボタンをクリックし、[プログラム]、[管理ツール] の順にポイントして、[ローカル セキュリティ ポリシー] をクリックします。
- [ ローカル ポリシー] を展開し、[ユーザー権利の割り当て ] をクリック。
- 右側のウィンドウで、 認証後にクライアントの権限を借用するをダブルクリックします。
- [ローカル セキュリティ ポリシー設定] ダイアログ ボックスで、[追加] をクリック。
- [ ユーザーまたはグループの選択 ] ダイアログ ボックスで、追加するユーザー アカウントをクリックし、[ 追加] をクリックし、[ OK] をクリックします。
- [OK] をクリックします。
Note
プログラムの実行に使用されるユーザー アカウントを特定できず、発生している症状がユーザーの権利によって発生していることを確認する状況をトラブルシューティングするには、[認証後にクライアントを偽装する] ユーザー権限を Everyone グループに割り当ててから、プログラムを起動します。 プログラムが正常に動作する場合、発生している問題は、新しいセキュリティ設定が原因である可能性があります。
Visual Studio .NET で Web アプリケーションをデバッグすると、"プロジェクトの実行中にエラーが発生しました" というエラー メッセージが表示されます。
問題 2: "グローバル オブジェクトの作成" ユーザー権限 (SeCreateGlobalPrivilege)
"グローバル オブジェクトの作成" ユーザー権限 (SeCreateGlobalPrivilege) は、Windows 2000 SP4 で最初に導入された Windows 2000 セキュリティ設定です。 ユーザー アカウントがグローバル ファイル マッピングとシンボリック リンク オブジェクトを作成するには、ユーザー権限が必要です。 ユーザーは、このユーザー権限を割り当てることなく、セッション固有のオブジェクトを作成できます。 既定では、Service Control Manager によって開始される Administrators グループ、システム アカウント、およびサービスのメンバーには、"グローバル オブジェクトの作成" ユーザー権限が割り当てられます。
問題 2 のトラブルシューティング
Windows 2000 SP4 をインストールした後、一部のプログラムが正しく動作しない場合があります。
コンピューターに Windows 2000 Service Pack 4 (SP4) をインストールすると、一部のプログラムが正しく動作しない可能性があります。 この問題は、プログラムの実行に使用されるユーザー アカウントに "グローバル オブジェクトの作成" ユーザー権限がない場合に発生する可能性があります。
この問題を解決するには、プログラムの実行に使用されるユーザー アカウントを特定し、そのユーザー アカウントに "グローバル オブジェクトの作成" ユーザー権限を割り当てます。 これを行うには、次の手順を実行します。
- [スタート] ボタンをクリックし、[プログラム]、[管理ツール] の順にポイントして、[ローカル セキュリティ ポリシー] をクリックします。
- [ ローカル ポリシー] を展開し、[ユーザー権利の割り当て ] をクリック。
- 右側のウィンドウで、 グローバル オブジェクトの作成をダブルクリックします。
- [ローカル セキュリティ ポリシー設定] ダイアログ ボックスで、[追加] をクリック。
- [ ユーザーまたはグループの選択 ] ダイアログ ボックスで、追加するユーザー アカウントをクリックし、[ 追加] をクリックし、[ OK] をクリックします。
- [OK] をクリックします。
Note
プログラムの実行に使用されるユーザー アカウントを特定できず、発生している症状がユーザー権利によって発生していることを確認する必要がある状況をトラブルシューティングするには、[グローバル オブジェクトの作成] ユーザー権限を Everyone グループに割り当ててから、プログラムを起動します。 プログラムが正常に動作する場合、発生している問題は、新しいセキュリティ設定が原因である可能性があります。
ターミナル サービス セッションで Office XP ドキュメント内のクリップを検索すると、"メモリ不足" というエラー メッセージが表示されます。
McAfee Parental Control をインストールした後に Windows 2000 サーバーベースのコンピューターを再起動すると、コンピューターの応答が停止 (ハング) します。