アプリケーションのすべてのクラスがクライアントおよびサーバーマシンに登録されたら、アプリケーションの動作の特定の面をシステムレジストリ設定で制御および構成できます。 このセクションでは、NaturalX アプリケーションに関連するレジストリエントリとその意味について簡単に説明します。 レジストリキーおよびその管理についての詳細な予備知識については、該当するプラットフォームの特定の DCOM レジストリに関するドキュメントを参照してください。
このコンテキストに関連するレジストリキーは、DCOMCNFG
やレジストリエディタ(REGEDIT
)のような一般に使用されるツールで管理します。
ツールによってレジストリキーの表示方法が異なります。 ここでは、レジストリキーの名前のみを挙げます。 レジストリキーの設定法については、「Windows 上での DCOM
コンフィグレーション」を参照にしてください。
注意:
"HKLM"
は、HKEY_LOCAL_MACHINE
の一般的な短縮形です。"HKCR"
は、HKEY_CLASSES_ROOT の短縮形です。
このドキュメントでは、次のトピックについて説明します。
このセクションでは、一般的なサーバーコンフィグレーションの設定について説明します。
レジストリエントリ HKLM\Software\Microsoft\OLE\EnableDCOM は、DCOM を経由してサーバーマシンにアクセスできるようにするために、"Y" に設定する必要があります。
ゲスト(サーバーマシンに自分のアカウントを持っていないユーザー)がサーバーマシン上のアプリケーションにアクセスできるようにするには、事前定義したアカウント "Guest" をユーザーマネージャで有効にする必要があります(Windows 2000 のみ)。
レジストリエントリ HKLM\Software\Microsoft\OLE\DefaultLaunchPermissions および HKLM\Software\Microsoft\OLE\DefaultAccessPermissions は、DCOM アプリケーションの起動およびそのクラスへのアクセスを許可されるまたは許可されないユーザーやグループを定義します。 ここで定義された権限は、アプリケーション固有の設定が定義されていないすべてのアプリケーションに適用されます。
レジストリエントリ HKLM\Software\Microsoft\OLE\LegacyAuthenticationLevel は、このマシン上の DCOM アプリケーションにアクセスするクライアントに対して行われる認証のレベルを制御します。 NaturalX サーバーがクライアントのユーザー ID を Natural Security に渡すことができる場合は、設定は最低でも "Connect" にする必要があります。 認証を行わない場合は、"None" を選択します。 この場合は、NaturalX サーバーはクライアントのユーザー ID を取得しません。 代わりに、サーバーの起動に使用されたユーザー ID で各要求を実行します。 このエントリがクライアント側とサーバー側で異なって定義されている場合、より厳密な設定が適用されます。
レジストリエントリ HKLM\Software\Microsoft\OLE\LegacyImpersonationLevel は、クライアントについてサーバーが取得する情報量を制御し、また、他のサーバーに対してクライアントの役割で動作するためにこの情報を使用するかどうかを制御します。 NaturalX サーバーがクライアントのユーザー ID を Natural Security に渡すことができる場合は、設定は最低でも "Identify" にする必要があります。 設定 "Impersonate" または "Delegate" は、NaturalX サーバーに対して同じ効果があります。 サーバーがクライアントのユーザー ID を取得できない場合は、"Anonymous" を選択します。 この場合は、サーバーはサーバーの起動に使用されたユーザー ID で各要求を実行します。 このエントリがクライアント側とサーバー側で異なって定義されている場合、より厳密な設定が適用されます。
NaturalX アプリケーションごとに、アプリケーション固有の設定を別々に設定できます。 ただし、これらの設定を適用する場所について考慮する必要があります。 1 つの NaturalX サーバー ID で登録されたすべてのクラスは、DCOM の意義で 1 つのアプリケーションを形成するので、レジストリで 1 つの AppID キーに割り当てられます。 アプリケーション固有の設定が AppID キーで適用されるのは、このためです。
レジストリエントリ HKCR\AppID\<APPID>\LaunchPermission および HKCR\AppID\<APPID>\AccessPermission は、指定した AppID で DCOM アプリケーションを起動してそのクラスにアクセスすることを許可されるまたは許可されないユーザーやグループを定義します。
レジストリエントリ HKCR\AppID\<APPID>\RunAs は、DCOM によって NaturalX サーバーが起動されるときにそのサーバーが実行するユーザーアカウントを定義します。 3 つのオプションがあります。
Interactive user:
NaturalX サーバーは、サーバーマシンに対話形式でログインするユーザーアカウントで起動されます。
これは通常は望ましくはありませんが、テスト目的に役立ちます。
Launching user:
NaturalX
サーバーは、このサーバーに最初のオブジェクトを作成するクライアントのアカウントで起動されます(オブジェクトに対する最初の要求が DCOM
にサーバーの起動を強制します)。 各クライアントが独自のサーバープロセスで処理される場合は、この設定を使用します。
当然、クライアントはサーバーを起動する権限を持っている必要があります。
This user:
サーバーは、指定したユーザーのアカウントで起動されます。
すべてのクライアントが同じサーバープロセスで処理される場合は、この設定を使用します。
ここに入力されたユーザーはサーバーを起動する権限を持っている必要があります。
このセクションでは、一般的なクライアントコンフィグレーションの設定について説明します。
レジストリキー HKLM\Software\Microsoft\OLE\LegacyAuthenticationLevel は、このマシンで実行されているクライアントが DCOM アプリケーションにアクセスするときにに行われる認証のレベルを制御します。 NaturalX サーバーにアクセスするクライアントには、「サーバーのコンフィグレーション - 一般的な設定」と同様の考慮が適用されます。最低でも "Connect" が指定された場合にのみ、NaturalX サーバーはそのユーザー ID を Natural Security に対して使用できます。 このエントリがクライアント側とサーバー側で異なって定義されている場合、より厳密な設定が適用されます。
レジストリキー HKLM\Software\Microsoft\OLE\LegacyImpersonationLevel は、クライアントについてサーバーが取得する情報量を制御し、また、他のサーバーに対してクライアントの役割で動作するためにこの情報を使用するかどうかを制御します。 NaturalX サーバーにアクセスするクライアントには、「サーバーのコンフィグレーション - 一般的な設定」と同様の考慮が適用されます。最低でも "Identify" が指定された場合にのみ、NaturalX サーバーはそのユーザー ID を取得し Natural Security に対して使用できます。 このエントリがクライアント側とサーバー側で異なって定義されている場合、より厳密な設定が適用されます。
NaturalX アプリケーションごとに、アプリケーション固有の設定を別々に設定できます。 ただし、これらの設定を適用する場所について考慮する必要があります。 1 つの NaturalX サーバー ID で登録されたすべてのクラスは、DCOM の意義で 1 つのアプリケーションを形成するので、レジストリで 1 つの AppID キーに割り当てられます。 アプリケーション固有の設定が AppID キーで適用されるのは、このためです。
レジストリキー HKCR\AppID\<APPID>\RemoteServerName は、このサーバーによってホストされるクラスが要求されたときに DCOM がサーバーを起動するリモートマシンを定義します。 サーバーがローカルで開始される場合は、"Run on this computer" を指定します。RemoteServerName は指定しないでください。