アプリケーションの COM セキュリティを設定する方法は、アプリケーションで必要なセキュリティの種類によって異なります。 何をすべきかを決定する一般的な状況がいくつかあります。
COM セキュリティの既定値を使用する場合は、何もする必要はありません。COM ですべて処理されます。 これらの既定の設定の詳細については、「 COM セキュリティの既定値」を参照してください。
DCOM を完全に無効にすることで、コンピューターへのリモート呼び出しを防ぐこともできます (リモート コンピューター間の COM)。 詳細については、「 DCOMCNFG を使用した System-Wide セキュリティの設定」を参照してください。
レガシ アプリケーションまたは新しいアプリケーションの場合は、レジストリでプロセス全体のセキュリティを設定できます。 詳細については、「レジストリを 使用したプロセス全体のセキュリティの設定」を参照してください。
プロセス内の特定のインターフェイスへの呼び出しの既定のセキュリティ設定をオーバーライドし、プロセスの残りの部分に既定のセキュリティを設定することもできます (COM が一般的なケースを処理できるようにします)。 詳細については、「 インターフェイス プロキシ レベルでのセキュリティの設定」を参照してください。
複雑なセキュリティ要件の場合は、COM による処理を許可するのではなく、すべてのセキュリティをプログラムで処理できます。 これを行うには、 CoInitializeSecurity を呼び出して自動認証を無効にし、インターフェイスプロキシごとにセキュリティを設定してすべてのセキュリティ設定を制御します。 詳細については、「 CoInitializeSecurity を使用したプロセス全体のセキュリティの設定 」および 「インターフェイス プロキシ レベルでのセキュリティの設定」を参照してください。
一部のシナリオでは、セキュリティを完全にオフにすることが必要な場合があります。 アプリケーションにセキュリティが必要ない場合や、開発時にセキュリティ機能を個別に有効にできるように、セキュリティを無効にしたい場合があります。 COM セキュリティを無効にする方法については、「 セキュリティの無効化」を参照してください。
COM のセキュリティは、セキュリティ パッケージによって管理される認証サービスに依存します。 NTLMSSP は多くのアプリケーションに適していますが、他のパッケージによって提供されるより堅牢なセキュリティは提供されません。 そのため、COM は Schannel セキュリティ パッケージと Kerberos v5 セキュリティ プロトコルをサポートしています。 これらのセキュリティ パッケージの使用方法の詳細については、「 COM とセキュリティ パッケージ」を参照してください。
関連トピック