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

アプリケーションにコンピューター上の他のアプリケーションとは異なるセキュリティ ニーズがある場合、特定のアプリケーションのセキュリティを有効にすることができます。 たとえば、特定のアプリケーションには高いレベルのセキュリティを設定しながら、低レベルのセキュリティを必要とするアプリケーションにはシステム全体の設定を使用することを決定する場合があります。

ただし、特定のアプリケーションに適用されるレジストリのセキュリティ設定が使用されないことがあります。 たとえば、Dcomcnfg.exe を使用してレジストリで設定したプロセス全体の設定は、クライアントが CoSetProxyBlanket を呼び出して特定のインターフェイス プロキシのセキュリティを設定した場合に、オーバーライドされます。 同様に、クライアントまたはサーバー (またはその両方) が CoInitializeSecurity を呼び出してプロセスのセキュリティを設定した場合、レジストリの設定は無視され、代わりに CoInitializeSecurity に指定されたパラメーターが使用されます。

アプリケーションのセキュリティを有効にする場合は、いくつかの設定を変更する必要があります。 これには、認証レベル、場所、起動アクセス許可、アクセス許可、ID が含まれます。 詳細な手順については、次を参照してください。

アプリケーションの認証レベルの設定

アプリケーションのセキュリティを有効にするには、None 以外の認証レベルを設定する必要があります。 認証レベルは、どの程度の認証保護が必要であるかを COM に伝えます。認証レベルは、最初のメソッド呼び出しでのクライアントの認証からパラメーター状態の完全な暗号化まで多岐にわたります。

アプリケーションの認証レベルを設定するには

  1. Dcomcnfg.exe の [アプリケーション] プロパティ ページで、アプリケーションを選択し、[プロパティ] ボタンをクリックします (または、選択したアプリケーションをダブルクリックします)。

  2. [全般] ページで、[認証レベル] リスト ボックスから (なし) 以外の認証レベルを選択します。

  3. このアプリケーションの他のプロパティを設定する場合は、[適用] ボタンを選択して新しい認証レベルを適用します。 このアプリケーションのプロパティの設定が完了し、変更を適用する場合は、[OK] をクリックします。

アプリケーションの場所の設定

アプリケーションに設定した場所によって、アプリケーションを実行するコンピューターが決まります。 データが保存されているコンピューター、場所の設定に使用するコンピューター、または指定したコンピューターでアプリケーションを実行することを選択できます。

アプリケーションの場所を設定するには

  1. Dcomcnfg.exe が実行されたら、[アプリケーション] ページからアプリケーションを選択し、[プロパティ] ボタンを選択します (または、選択したアプリケーションをダブルクリックします)。

  2. [場所] ページで、アプリケーションを実行する場所に対応する 1 つ以上のチェック ボックスを選択します。 複数のチェック ボックスを選択した場合、COM は適用される最初のボックスを使用します。 Dcomcnfg.exe がサーバー コンピューターで実行されている場合は、常に [このコンピューターでアプリケーションを実行] を選択します。

  3. このアプリケーションの他のプロパティを設定する場合は、[適用] ボタンを選択して新しい場所を適用します。 このアプリケーションのプロパティの設定が完了し、変更を適用する場合は、[OK] を選択します。

アプリケーションの起動アクセス許可の設定

Dcomcnfg.exe を使用すると、起動権限を設定して、特定のサーバーを起動する権限を付与または拒否されるユーザーのリストを制御できます。 ユーザーまたはグループをリストに追加して、アクセス許可を付与するか拒否するかを指定できます。 リストからユーザーを削除することもできます。

アプリケーションの起動アクセス許可を設定するには

  1. Dcomcnfg.exe が実行されたら、[アプリケーション] ページからアプリケーションを選択し、[プロパティ] ボタンを選択します (または、選択したアプリケーションをダブルクリックします)。

  2. [セキュリティ] プロパティ ページで、[カスタム起動アクセス許可を使用する] オプション ボタンを選択し、同じ領域の [編集] ボタンを選択します。

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

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

  5. 追加する完全修飾ユーザー名がわかっている場合は、[名前の追加] テキスト ボックスに入力します。 ユーザー名がわからない場合は、ユーザー データベースを参照して見つけることができます (下記の「ユーザー データベースの参照」を参照)。 ユーザー名を見つけたら、[名前] リスト ボックスからユーザーまたはグループを選択し、[追加] ボタンを選択します。

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

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

アプリケーションのアクセス許可の設定

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

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

アプリケーションのアクセス許可を設定するプロセスは、起動アクセス許可の設定と似ています。 各ステップは次のとおりです。

アプリケーションのアクセス許可を設定するには

  1. Dcomcnfg.exe が実行されたら、[アプリケーション] ページからアプリケーションを選択し、[プロパティ] ボタンを選択します (または、選択したアプリケーションをダブルクリックします)。

  2. [セキュリティ] プロパティ ページで、[カスタム アクセス許可を使用する] オプション ボタンを選択し、同じ領域の [編集] ボタンを選択します。

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

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

  5. 追加する完全修飾ユーザー名がわかっている場合は、[名前の追加] テキスト ボックスに入力します。 ユーザー名がわからない場合は、ユーザー データベースを参照して検索できます。 ユーザー名を見つけたら、[名前] リスト ボックスからユーザーまたはグループを選択し、[追加] ボタンを選択します。

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

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

アプリケーションの ID の設定

アプリケーションのidは、アプリケーションを実行するために使用されるアカウントです。 ID には、現在ログオンしているユーザー (対話型ユーザー)、サーバーを起動したクライアント プロセスのユーザー アカウント、指定されたユーザー、またはサービスの ID を指定できます。 Dcomcnfg.exe を使用して、アプリケーションのこれらの ID の 1 つを選択できます。 アプリケーションに設定する ID の決定については、「アプリケーション ID」を参照してください。

アプリケーションの ID を設定するには

  1. Dcomcnfg.exe が実行されたら、[アプリケーション] ページからアプリケーションを選択し、[プロパティ] ボタンを選択します (または、選択したアプリケーションをダブルクリックします)。

  2. [ID プロパティ] ページで、目的の ID のオプション ボタンを選択します。 [このユーザー] を選択した場合は、ユーザー名、パスワード、確認済みのパスワードを入力する必要があります。

  3. このアプリケーションの他のプロパティを設定する場合は、[適用] ボタンを選択して新しい ID を適用します。 このアプリケーションのプロパティの設定が完了し、変更を適用する場合は、[OK] を選択します。

ユーザー データベースの参照

特定のユーザーの完全修飾ユーザー名を検索する必要がある場合は、Dcomcnfg.exe でユーザー データベースを参照します。 たとえば、ユーザー データベースを参照して、アクセス許可または起動許可を追加するユーザーを見つけることができます。

ユーザーデータベースを参照するには

  1. [リスト名から] リスト ボックスで、追加するユーザーまたはグループを含むドメインを選択します。

  2. 選択したドメインに属するユーザーを表示するには、[ユーザーの表示] ボタンを選択します。

  3. 特定のグループのメンバーを表示するには、[名前] リスト ボックスでグループを選択し、[メンバーの表示] ボタンを選択します。

  4. 追加するユーザーまたはグループが見つからない場合は、[検索] ボタンを選択すると、[アカウントの検索] ダイアログ ボックスが表示されます。 検索する操作を選択メイン (または [すべて検索] を選択)、検索するユーザー名を入力して、[検索] ボタンを選択します。

Dcomcnfg.exe と 64 ビット アプリケーション

Windows XP から Windows Server 2008 までの x64 オペレーティング システムでは、64 ビット バージョンの DCOMCNFG.EXE は、リモート アクティベーション用に 32 ビット DCOM アプリケーションを正しく構成しません。 この動作により、リモートでアクティブ化されるはずのコンポーネントがローカルでアクティブ化されることになります。 この動作は、Windows 7 および Windows Server 2008 R2 以降のバージョンでは発生しません。

回避策は、DCOMCNFG の 32 ビット バージョンを使用することです。 次のコマンド ラインを使用して、32 ビット バージョンの mmc.exe を実行し、32 ビット バージョンのコンポーネント サービス スナップインを読み込みます。

C:\WINDOWS\SysWOW64>mmc comexp.msc /32

32 ビット バージョンのコンポーネント サービスは、リモート アクティベーション用に 32 ビット DCOM アプリケーションを正しく登録します。

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