次の方法で共有


ソフトウェア制限ポリシー

ソフトウェア制限ポリシー (SRP) 設定は、不明で危険なコードからシステムを保護するために、Microsoft Windows XP のリリースで導入されました。 SRP は、信頼されたコードのみにユーザー特権への無制限のアクセス権が付与されるメカニズムを提供します。 現在インストールされているプログラムと競合するウイルスやコードを含む可能性のある不明なコードは、セキュリティに依存するユーザー特権へのアクセスが禁止されている制約付き環境 (しばしば サンドボックスと呼ばれる) でのみ実行できます。 SRP を適切に使用すると、問題が発生した後にシステムを復元するコストのかかる代替手段に依存する事後対応型フレームワークではなく、問題を防止するためのプロアクティブなフレームワークが提供されるため、ビジネスの機敏性を高めることができます。

SRP は、システムで実行できるコードに信頼レベルを割り当てることに依存します。 現在、2 つの信頼レベル (無制限と許可なし) が存在します。 無制限の信頼レベルを持つコードには、ユーザーの特権への無制限のアクセス権が付与されるため、この信頼レベルは完全に信頼されたコードにのみ適用する必要があります。 許可されていない信頼レベルのコードは、セキュリティに敏感なユーザー権限へのアクセスが許可されず、サンドボックス内でのみ実行できるため、制限されていないコードは許可されていないコードをアドレス空間に読み込むことができません。

個々の COM アプリケーションの SRP 構成は、レジストリ内のアプリケーションの AppID キーの SRPTrustLevel 値を使用して行われます。 COM アプリケーションに SRP 信頼レベルが指定されていない場合は、既定値の Disallowed が使用されます。 無制限の信頼レベルを持つ COM アプリケーションは、ユーザーの特権に無制限のアクセス権を持ちますが、無制限の信頼レベルのコンポーネントのみを読み込むことができますが、許可されていない COM アプリケーションは、任意の信頼レベルのコンポーネントを読み込むことができますが、セキュリティに依存するユーザー特権にはアクセスできません。

個々の COM アプリケーションの SRP 信頼レベルに加えて、他の 2 つの SRP プロパティによって、すべての COM アプリケーションで SRP がどのように使用されるかが決まります。 SRPRunningObjectChecks が有効になっている場合、実行中のオブジェクトへの接続の試行は、適切な SRP 信頼レベルに対してチェックされます。 実行中のオブジェクトは、クライアント オブジェクトよりも厳密でない SRP 信頼レベルを持つことはできません。 たとえば、クライアント オブジェクトに無制限の信頼レベルがある場合、実行中のオブジェクトに許可されていない信頼レベルを設定することはできません。

2 番目のプロパティは、SRP がアクティブ化としてのアクティブ化接続を処理する方法を決定します。 SRPActivateAsActivatorChecks が有効になっている場合、サーバー オブジェクト用に構成されている SRP 信頼レベルがクライアント オブジェクトの SRP 信頼レベルと比較され、より厳格な信頼レベルがサーバー オブジェクトの実行に使用されます。 SRPActivateAsActivatorChecks が有効になっていない場合、サーバー オブジェクトは、構成された SRP 信頼レベルに関係なく、クライアント オブジェクトの SRP 信頼レベルで実行されます。 既定では、 SRPRunningObjectChecksSRPActivateAsActivatorChecks の両方が有効になっています。