システム全体のセキュリティ設定を変更すると、独自のプロセス全体のセキュリティを設定していないすべての COM サーバー アプリケーションに影響します。 これにより、このようなアプリケーションが正常に動作しなくなる可能性があります。 特定の COM アプリケーションのセキュリティ設定に影響するようにシステム全体のセキュリティ設定を変更する場合は、代わりに、その特定の COM アプリケーションのプロセス全体のセキュリティ設定を変更する必要があります。 プロセス全体のセキュリティの設定の詳細については、「 プロセス全体のセキュリティの設定」を参照してください。
独自のセキュリティを提供しない 1 台のコンピューター上のすべてのアプリケーションで、同じ既定のセキュリティ設定を共有する場合は、システム全体でセキュリティを設定します。 Dcomcnfg.exe を使用すると、コンピューター上のすべてのアプリケーションに適用されるレジストリの既定値を簡単に設定できます。
クライアントまたはサーバーが CoInitializeSecurity を明示的に呼び出してプロセス全体のセキュリティを設定する場合、レジストリの既定の設定は無視され、代わりにプロセスのセキュリティ設定に CoInitializeSecurity のパラメーターが使用されることを理解しておくことが重要です。 また、Dcomcnfg.exe を使用して特定のプロセスのセキュリティ設定を指定すると、既定のコンピューター設定はプロセスの設定によってオーバーライドされます。
システム全体のセキュリティを有効にする場合は、認証レベルを None 以外の値に設定し、起動とアクセスのアクセス許可を設定する必要があります。 既定の偽装レベルを設定するオプションがあり、参照追跡を有効にすることもできます。 次のトピックでは、詳細な手順について説明します。
- システム全体の既定の認証レベルを設定する
- システム全体の起動許可を設定する
- システム全体のアクセス許可を設定する
- システム全体での代理レベルを設定する
- システム全体で参照追跡を設定する
- DCOM の有効化と無効化
- 関連トピック
システム全体のデフォルト認証レベルを設定する
認証レベルは、クライアントを認証するレベルを COM に通知するために使用されます。 これらのレベルは、保護なしから完全な暗号化まで、さまざまなレベルの保護を提供します。 コンピューターのセキュリティを有効にするには、None 以外の認証レベルを選択する必要があります。 次の手順を実行して、Dcomcnfg.exeを使用して、このような設定を選択できます。
システム全体で認証レベルを設定するには
Dcomcnfg.exe を実行します。
[ 既定のプロパティ ] タブを選択します。
[既定の認証レベル] リスト ボックスで、[(なし)] 以外の値を選択します。
コンピューターのプロパティをさらに設定する場合は、[ 適用 ] ボタンをクリックして新しい認証レベルを適用します。 それ以外の場合は、[ OK] をクリックして変更を適用し、Dcomcnfg.exe終了します。
システム全体の起動アクセス許可を設定する
Dcomcnfg.exe で設定する起動アクセス許可によって、ユーザーの一覧が決まります。各ユーザーは、独自の起動アクセス許可設定を提供しないサーバーを起動する権限を明示的に許可または拒否されます。 起動アクセス許可を設定するときに、この一覧に 1 つ以上のユーザーまたはグループを追加または削除できます。 追加するユーザーごとに、ユーザーに起動アクセス許可を付与するか拒否するかを指定する必要があります。
コンピューターの起動アクセス許可を設定するには
Dcomcnfg.exeの [既定のセキュリティ] プロパティ ページで、[既定の起動のアクセス許可] 領域の [既定の編集] ボタンを選択します。
ユーザーまたはグループを削除するには、削除するユーザーまたはグループを選択し、[ 削除 ] ボタンを選択します。 選択したユーザーまたはグループがリスト ボックスに表示されなくなります。 ユーザーとグループの削除が完了したら、[ OK] を選択します。
ユーザーまたはグループを追加する場合は、[ 追加 ] ボタンを選択します。
追加する完全修飾ユーザー名がわかっている場合は、[名前の 追加 ] テキスト ボックスに入力します。 ユーザー名がわからない場合は、「 DCOMCNFG を使用したプロセス全体のセキュリティの設定 」を参照してください。 ユーザー名を見つけたら、[ 名前 ] リスト ボックスからユーザーまたはグループを選択し、[ 追加 ] ボタンを選択します。
[ アクセスの種類 ] リスト ボックスで、アクセスの種類 ([ 起動の許可] または [起動の拒否] ) を選択します。 選択した種類のアクセス権も持つ他のユーザーを追加するには、手順 4. を繰り返します。 選択したアクセスの種類のユーザーの追加が完了したら、[ OK] ボタンを選択します。
異なる種類のアクセス権を持つユーザーを追加するには、手順 4 と 5 を繰り返します。 それ以外の場合は、[ OK] を 選択して変更を適用します。
システム全体のアクセス権限を設定する
Dcomcnfg.exe では、アクセス許可を設定して、独自のアクセス許可を提供しないサーバーのメソッドへのアクセスを許可または拒否されたユーザーの一覧を制御できます。 アクセス許可を付与するか拒否するかを指定して、ユーザーまたはグループを一覧に追加できます。 一覧からユーザーを削除することもできます。
アクセス許可を設定するときは、アクセス権が付与されているユーザーの一覧に SYSTEM が含まれていることを確認する必要があります。 Everyone にアクセス許可を付与した場合、SYSTEM は暗黙的に含まれます。
コンピューターのアクセス許可を設定するプロセスは、起動アクセス許可の設定と似ています。 次の手順を実行する必要があります。
コンピューターのアクセス許可を設定するには
Dcomcnfg.exeの [既定のセキュリティ] プロパティ ページで、[既定のアクセス許可] 領域の [既定の編集] ボタンを選択します。
ユーザーまたはグループを削除するには、削除するユーザーまたはグループを選択し、[ 削除 ] ボタンを選択します。 選択したユーザーまたはグループがリスト ボックスに表示されなくなります。 ユーザーとグループの削除が完了したら、[ OK] を選択します。
ユーザーまたはグループを追加する場合は、[ 追加 ] ボタンを選択します。
追加する完全修飾ユーザー名がわかっている場合は、[名前の 追加 ] テキスト ボックスに入力します。 ユーザー名がわからない場合は、「 DCOMCNFG を使用したプロセス全体のセキュリティの設定 」を参照してください。 ユーザー名を見つけたら、[ 名前 ] リスト ボックスからユーザーまたはグループを選択し、[ 追加 ] ボタンを選択します。
[ アクセスの種類 ] リスト ボックスで、アクセスの種類 ([ アクセスの許可] または [アクセスの拒否] ) を選択します。 選択した種類のアクセス権を持つ他のユーザーを追加するには、手順 4 を繰り返します。 選択したアクセスの種類のユーザーの追加が完了したら、[ OK] ボタンを選択します。
異なる種類のアクセス権を持つユーザーを追加するには、手順 4 と 5 を繰り返します。 それ以外の場合は、[ OK] を 選択して変更を適用します。
システム全体の偽装レベルを設定する
クライアントによって設定される偽装レベルによって、クライアントに代わって動作するサーバーに与えられる権限の量が決まります。 たとえば、クライアントが代理レベルを委任するように設定している場合、サーバーはクライアントとしてローカルリソースとリモート リソースにアクセスでき、クローキング機能が設定されている場合、サーバーは複数のコンピューター境界を越えてクロークすることができます。 選択する偽装レベルを決定するには、「 偽装レベル と クローキング」を参照してください。
コンピューター全体の既定の偽装レベルを設定すると、コンピューター上の特定のクライアントが 、CoInitializeSecurity または CoSetProxyBlanket を使用してプログラムで偽装レベルを指定しない場合に使用する偽装レベルが COM に指示されます。
コンピューターの偽装レベルを設定するには
Dcomcnfg.exe を実行した状態で、[ 既定のプロパティ ] タブを選択します。
[既定の偽装レベル] リスト ボックスで、目的の権限借用レベルを選択します。
コンピューターのプロパティをさらに設定する場合は、[ 適用 ] ボタンを選択して新しい偽装レベルを適用します。 それ以外の場合は、[ OK] を 選択して変更を適用し、Dcomcnfg.exe終了します。
システム全体にわたる参照追跡の設定
参照追跡を有効にすると、追加のセキュリティ チェックを行い、オブジェクトがリリースされすぎないようにする情報を追跡するよう COM に依頼します。 これらの追加チェックはコストがかかることに注意してください。 参照追跡の詳細については、「参照追跡 」を参照してください。 参照追跡を有効または無効にするには、次の手順を使用します。
コンピューターの参照追跡を設定するには
Dcomcnfg.exe を実行した状態で、[ 既定のプロパティ ] タブを選択します。
参照追跡を有効 (または無効) にするには、ページの下部付近にある [ 参照追跡のセキュリティを強化する ] チェック ボックスをオン (またはオフ) にします。
コンピューターのプロパティをさらに設定する場合は、[ 適用 ] ボタンを選択して新しい設定を適用します。 それ以外の場合は、[ OK] を 選択して変更を適用し、Dcomcnfg.exe終了します。
DCOM の有効化と無効化
コンピューターがネットワークの一部である場合、DCOM ワイヤ プロトコルにより、そのコンピューター上の COM オブジェクトが他のコンピューター上の COM オブジェクトと通信できるようになります。 特定のコンピューターに対して DCOM を無効にすることはできますが、無効にすると、そのコンピューター上のオブジェクトと他のコンピューター上のオブジェクト間のすべての通信が無効になります。
コンピューターで DCOM を無効にしても、ローカル COM オブジェクトには影響しません。 COM では、指定した起動アクセス許可が引き続き検索されます。 起動アクセス許可が指定されていない場合は、既定の起動アクセス許可が使用されます。 DCOM を無効にした場合でも、ユーザーがコンピューターに物理的にアクセスできる場合は、許可しない起動アクセス許可を設定しない限り、コンピューター上でサーバーを起動できます。
注
リモート コンピューターで DCOM を無効にした場合、後でそのコンピューターにリモートでアクセスして DCOM を再度有効にすることはできません。 DCOM を再度有効にするには、そのコンピューターに物理的にアクセスする必要があります。
コンピューターの DCOM を手動で有効 (または無効) にするには
Dcomcnfg.exe を実行します。
[ 既定のプロパティ ] タブを選択します。
[ このコンピューターで分散 COM を有効にする ] チェック ボックスをオン (またはオフ) にします。
コンピューターのプロパティをさらに設定する場合は、[ 適用 ] ボタンをクリックして DCOM を有効 (または無効) にします。 それ以外の場合は、[ OK] をクリックして変更を適用し、Dcomcnfg.exe終了します。
関連トピック