DCOMCNFG を使用したシステム全体のセキュリティの設定

システム全体のセキュリティ設定を変更すると、独自のプロセス全体のセキュリティを設定していないすべての COM サーバー アプリケーションに影響します。 これにより、このようなアプリケーションが正常に動作しなくなる可能性があります。 特定の COM アプリケーションのセキュリティ設定に影響を与えるためにシステム全体のセキュリティ設定を変更する場合は、代わりにその特定の COM アプリケーションのプロセス全体のセキュリティ設定を変更する必要があります。 プロセス全体のセキュリティの設定の詳細については、「プロセス全体のセキュリティの設定」を参照してください。

独自のセキュリティを提供しない 1 台のコンピューター上のすべてのアプリケーションに同じ既定のセキュリティ設定を共有させたい場合は、システム全体に基づいてセキュリティを設定します。 Dcomcnfg.exe を使用すると、コンピューター上のすべてのアプリケーションに適用される既定値をレジストリに簡単に設定できます。

クライアントまたはサーバーが CoInitializeSecurity を明示的に呼び出してプロセス全体のセキュリティを設定する場合、レジストリの既定の設定は無視され、代わりにプロセスのセキュリティ設定に CoInitializeSecurity のパラメーターが使用されることを理解しておくことが重要です。 また、Dcomcnfg.exe を使用して特定のプロセスのセキュリティ設定を指定すると、既定のコンピューター設定はプロセスの設定によって上書きされます。

システム全体のセキュリティを有効にする場合は、認証レベルを「なし」以外の値に設定し、起動およびアクセス許可を設定する必要があります。 既定の偽装レベルを設定するオプションがあり、参照追跡を有効にすることもできます。 手順については次の手順を参照してください。

システム全体の既定認証レベルの設定

認証レベルは、クライアントを認証するレベルを COM に通知するのに使用されます。 これらのレベルは、保護なしから完全な暗号化まで、さまざまなレベルの保護を提供します。 コンピューターのセキュリティを有効にするには、None 以外の認証レベルを選択する必要があります。 次の手順を実行することで、Dcomcnfg.exe を使用してこのような設定を選択できます。

システム全体で認証レベルを設定するには

  1. Dcomcnfg.exe を実行します。

  2. [既定のプロパティ] タブを選択します。

  3. [既定の認証レベル] リスト ボックスから、[None] 以外の値を選択します。

  4. コンピューターのプロパティをさらに設定する場合は、[適用] ボタンをクリックして新しい認証レベルを適用します。 それ以外の場合は、[OK] をクリックして変更を適用し、Dcomcnfg.exe を終了します。

システム全体の起動アクセス許可の設定

Dcomcnfg.exe で設定した起動権限によってユーザーのリストが決定され、各ユーザーには、独自の起動権限設定を提供していないサーバーを起動する権限が明示的に付与または拒否されます。 起動権限を設定する場合、このリストに 1 人以上のユーザーまたはグループを追加または削除できます。 追加するユーザーごとに、ユーザーに起動権限を付与するか拒否するかを指定する必要があります。

コンピューターの起動アクセス許可を設定するには

  1. Dcomcnfg.exeの [既定のセキュリティ] プロパティ ページで、[既定の起動のアクセス許可] 領域の [既定の編集] ボタンを選択します。

  2. ユーザーまたはグループを削除するには、削除するユーザーまたはグループを選択し、[削除] ボタンを選択します。 選択したユーザーまたはグループがリスト ボックスに表示されなくなります。 ユーザーとグループの削除が完了したら、[OK] を選択します。

  3. ユーザーまたはグループを追加する場合は、[追加] ボタンを選択します。

  4. 追加する完全修飾ユーザー名がわかっている場合は、[名前の追加] テキスト ボックスに入力します。 ユーザー名がわからない場合は、「DCOMCNFG を使用したプロセス全体のセキュリティの設定」を参照してください。 ユーザー名を見つけたら、[名前] リスト ボックスからユーザーまたはグループを選択し、[追加] ボタンを選択します。

  5. [アクセスの種類] リスト ボックスで、アクセスの種類 ([起動の許可] または [起動の拒否]) を選択します。 選択した種類のアクセス権も持つ他のユーザーを追加するには、手順 4. を繰り返します。 選択したアクセスの種類のユーザーの追加が完了したら、[OK] ボタンを選択します。

  6. 異なる種類のアクセス権を持つユーザーを追加するには、手順 4 と 5 を繰り返します。 それ以外の場合は、[OK] を選択して変更を適用します。

システム全体のアクセス許可の設定

Dcomcnfg.exe を使用すると、アクセス許可を設定して、独自のアクセス許可を提供しないサーバーのメソッドへのアクセスを許可または拒否するユーザーのリストを制御できます。 ユーザーまたはグループをリストに追加して、アクセス許可を付与するか拒否するかを指定できます。 リストからユーザーを削除することもできます。

アクセス許可を設定するときは、アクセスを許可されるユーザーのリストに SYSTEM が含まれていることを確認する必要があります。 Everyone にアクセス許可を付与した場合、SYSTEM は暗黙的に含まれます。

コンピューターのアクセス許可を設定するプロセスは、起動許可を設定するプロセスと似ています。 次の手順を実行する必要があります。

コンピューターのアクセス許可を設定するには

  1. Dcomcnfg.exe の [既定のセキュリティ] プロパティ ページで、[既定のアクセス許可] 領域の [既定の編集] ボタンを選択します。

  2. ユーザーまたはグループを削除するには、削除するユーザーまたはグループを選択し、[削除] ボタンを選択します。 選択したユーザーまたはグループがリスト ボックスに表示されなくなります。 ユーザーとグループの削除が完了したら、[OK] を選択します。

  3. ユーザーまたはグループを追加する場合は、[追加] ボタンを選択します。

  4. 追加する完全修飾ユーザー名がわかっている場合は、[名前の追加] テキスト ボックスに入力します。 ユーザー名がわからない場合は、「DCOMCNFG を使用したプロセス全体のセキュリティの設定」を参照してください。 ユーザー名を見つけたら、[名前] リスト ボックスからユーザーまたはグループを選択し、[追加] ボタンを選択します。

  5. [アクセスの種類] リスト ボックスで、アクセスの種類 ([アクセスの許可] または [アクセスの拒否]) を選択します。 選択した種類のアクセス権を持つ他のユーザーを追加するには、手順 4. を繰り返します。 選択したアクセスの種類のユーザーの追加が完了したら、[OK] ボタンを選択します。

  6. 異なる種類のアクセス権を持つユーザーを追加するには、手順 4 と 5 を繰り返します。 それ以外の場合は、[OK] を選択して変更を適用します。

システム全体の偽装レベルの設定

クライアントによって設定される偽装レベルによって、クライアントに代わって動作するサーバーに与えられる権限の量が決まります。 たとえば、クライアントが偽装レベルを委任に設定している場合、サーバーはクライアントとしてローカルおよびリモートのリソースにアクセスでき、クローキング機能が設定されている場合は、サーバーは複数のコンピューターの境界を越えてクロークできます。 選択する偽装レベルを決定するには、「偽装レベルクローキング」を参照してください。

コンピューター全体の既定の偽装レベルを設定すると、コンピューター上の特定のクライアントが、CoInitializeSecurity または CoSetProxyBlanket を使用してプログラムで偽装レベルを指定しない場合に使用する偽装レベルが COM に指示されます。

コンピューターの偽装レベルを設定するには

  1. Dcomcnfg.exe を実行した状態で、[既定のプロパティ] タブを選択します。

  2. [既定の偽装レベル] リスト ボックスで、目的の権限借用レベルを選択します。

  3. コンピューターのプロパティをさらに設定する場合は、[適用] ボタンを選択して新しい偽装レベルを適用します。 それ以外の場合は、[OK] を選択して変更を適用し、Dcomcnfg.exe を終了します。

システム全体の参照追跡の設定

参照追跡を有効にすると、追加のセキュリティ チェックを実行し、オブジェクトが早期にリリースされないようにするための情報を追跡するように COM に要求することになります。 これらの追加のチェックはコストがかかることに注意してください。 参照追跡の詳細については、「参照追跡」を参照してください。 参照追跡を有効または無効にするには、次の手順を使用します。

コンピューターの参照追跡を設定するには

  1. Dcomcnfg.exe を実行した状態で、[既定のプロパティ] タブを選択します。

  2. 参照の追跡を有効 (または無効) にするには、ページの下部にある [参照追跡のセキュリティを強化する] チェック ボックスをオン (またはオフ) にします。

  3. コンピューターのプロパティをさらに設定する場合は、[適用] ボタンを選択して新しい設定を適用します。 それ以外の場合は、[OK] を選択して変更を適用し、Dcomcnfg.exe を終了します。

DCOM の有効化と無効化

コンピューターがネットワークの一部である場合、DCOM ワイヤ プロトコルにより、そのコンピューター上の COM オブジェクトが他のコンピューター上の COM オブジェクトと通信できるようになります。 特定のコンピューターに対して DCOM を無効にすることはできますが、無効にすると、そのコンピューター上のオブジェクトと他のコンピューター上のオブジェクト間のすべての通信が無効になります。

コンピューターで DCOM を無効にしても、ローカル COM オブジェクトには影響しません。 COM では、指定した起動アクセス許可が引き続き検索されます。 起動アクセス許可が指定されていない場合は、既定の起動アクセス許可が使用されます。 DCOM を無効にしても、ユーザーがコンピューターに物理的にアクセスできる場合、起動許可を許可しないように設定しない限り、コンピューター上でサーバーを起動する可能性があります。

Note

リモート コンピューターで DCOM を無効にすると、その後そのコンピューターにリモートでアクセスして DCOM を再度有効にすることはできなくなります。 DCOM を再度有効にするには、そのコンピューターに物理的にアクセスする必要があります。

 

コンピューターの DCOM を手動で有効 (または無効) にするには

  1. Dcomcnfg.exe を実行します。

  2. [既定のプロパティ] タブを選択します。

  3. [このコンピューターの分散 COM を有効にする] チェック ボックスを選択 (またはオフに) します。

  4. コンピューターのプロパティをさらに設定する場合は、[適用] ボタンをクリックして DCOM を有効 (または無効) にします。 それ以外の場合は、[OK] をクリックして変更を適用し、Dcomcnfg.exe を終了します。

プロセス全体のセキュリティの設定