前へ | 次へ | 目次 | 索引 |
5.3.4 「Application Identity」サブメニュー
このサブメニューを表示するには,次の操作を行います。
「Application Identity」サブメニューが表示されます。
図 5-14 「Application Identity」サブメニュー
--------------------------------------------------------- Application Identity Which user account do you want to use to run this application? Application name: Inside COM, Chapter 11 Example Current Identity: NTLM Account OPENVMS_DCOM\USER2 1 - Launching User 2 - NTLM Account 3 - OpenVMS Username 4 - OpenVMS DCOM Guest Account (E to Exit to previous menu) (H for Help) Please enter account you wish to use: --------------------------------------------------------- |
新しいパスワードを入力した場合,新しいパスワードと他のパスワードの同期はとられません。パスワードの同期は手動でとらなければなりません。 パスワードが有効かどうか確認するには,IMPERSONATE 特権が必要です。 パスワードをデータベースに書き込むには,OpenVMS Registry に対してシステム単位の書き込みアクセス権 (SYSPRV または REG$UPDATE) が必要です。 |
5.3.5 DCOM$CNFGの「System-wide Default Properties」サブメニュー
このサブメニューを表示するには,「DCOM$CNFG Main」メニューからオプション 2 を選択します。
「System-wide Default Properties」サブメニューが表示されます。
図 5-15 「System-wide Default Properties」サブメニュー
--------------------------------------------------------- System-wide Default Properties 1 - Enable Distributed COM on this computer (Yes/No) Current value: Yes 2 - Default Authentication Level 3 - Default Impersonation Level (E to Exit to previous menu) (H for Help) Please enter your choice: --------------------------------------------------------- |
図 5-16 「Default Authentication Level」サブメニュー
------------------------------------------------------------------ Default Authentication Level The Authentication Level specifies security at the packet level. Current value: Connect 1 - Default 2 - None 3 - Connect 4 - Call 5 - Packet 6 - Packet Integrity (E to Exit to previous menu) (H for Help) Please enter your choice: ------------------------------------------------------------------ |
適切な番号を入力して,認証レベルを選択します。インストールされている場合は,「Default Authentication Level」のシステム・デフォルトは
Connectです。
図 5-17 「Default Impersonation Level」サブメニュー
------------------------------------------------------------------ Default Impersonation Level The Impersonation Level specifies whether applications can determine who is calling them, and whether the application can perform operations using the client's identity. Current value: Identify 1 - Anonymous 2 - Identify 3 - Impersonate (E to Exit to previous menu) (H for Help) Please enter your choice: ------------------------------------------------------------------ |
適切な番号を入力して,偽装レベルを選択します。インストールされている場合は,「Default Impersonation Level」のシステム・デフォルトは
Identifyです。
5.3.6 「System-wide Default Security」サブメニュー
このサブメニューを表示するには,「DCOM$CNFG Main」メニューからオプション 3 を選択します。
「System-wide Default Security」サブメニューが表示されます。
図 5-18 「System-wide Default Security」サブメニュー
------------------------------------------------------------------ System-wide Default Security 1 - Access Permissions Default 2 - Launch Permissions Default 3 - Configuration Permissions Default (E to Exit to previous menu) (H for Help) Please enter your choice: ------------------------------------------------------------------ |
オプションは次のとおりです。
システムを初めてインストールした場合,デフォルト設定により,
Administratorと
Systemアカウントにだけアプリケーションの起動許可とアクセス許可が与えられます。これらのデフォルト設定は変更しないでください。通常,個々のアプリケーションの起動許可やアクセス許可を変更することで,
Everyone,さまざまな
Groups,あるいは特定のユーザにアクセス許可を与えたり,拒否します。マシン単位でデフォルトのセキュリティ設定を調整すると,すべてのアプリケーションに影響するので,可能な限りこの手法を使用してください。
5.4 Windows NT ドメインを介した認証の構成
COM アプリケーションをあるドメインのシステムで実行し,別のドメインのシステムでアプリケーションの認証を受けることができます。
Windows NT ドメイン間で認証を構成するには,次の操作を行います。
例 5-4 は,HostMapDomains ファイルを設定する例を示しています。この例には, DOM_JOEと DOM_JANEの 2 つのドメインがあります。ドメイン DOM_JANEは Advanced Server for OpenVMS を稼動しています。ドメイン DOM_JOEは Windows NT ドメインです。例 5-4 のコマンドは, DOM_JANEを DOM_JOEに通知します。
例 5-4 例: HostMapDomains の設定 |
---|
SYSJANE$ show sym regutl REGUTL == "$SYS$SYSTEM:PWRK$REGUTL.EXE" SYSJANE$ regutl REGUTL> SET PARAM /CREATE VMSSERVER HOSTMAPDOMAINS DOM_JOE REGUTL> SHOW VALUE * HOSTMAPDOMAINS Key: SYSTEM\CurrentControlSet\Services\AdvancedServer\UserServiceParameters Value: HostmapDomains Type: String Current Data: DOM_JOE |
5.5 プロセス内サーバの登録: DCOM$REGSVR32 ユーティリティ
すべての COM コンポーネントは,プロセス外サーバとして実装されている場合も,プロセス内サーバとして実装されている場合も,使用する前に OpenVMS Registry に登録しなければなりません。
プロセス外サーバは実行可能プログラム ( .EXEファイル) として実装され,通常はそのファイル内に格納されているコンポーネントの登録や登録の解除に使用されるコードを格納しています。プロセス外サーバは,実行可能ファイルを実行することができ,必要なレジストリ・キーを自動的に作成できるという点で,プロセス内サーバより有利です。
プロセス内サーバは通常,Windows NT ではダイナミック・リンク・ライブラリ ( .DLLファイル) として実装され,OpenVMS では共用可能イメージとして実装されます。これらのファイルにも,ファイル内のコンポーネントの登録と登録の解除を自動的に行うためのコードが格納されています。しかし,これらのプロセス内サーバにはメイン・エントリ・ポイントが含まれていないため,実行可能イメージと同じ方法で実行することはできません。この結果, .DLLに格納されているコンポーネントを手動で登録したり,コマンド・プロシージャを作成して登録を行うようにしなければなりません。
Microsoft から提供される REGSVR32ユーティリティを使用すると,DLL に含まれているコンポーネントを登録することができます。 REGSVR32は次のコマンド・ライン引数を使用します。
DLL のコンポーネントを登録する場合は,
REGSVR32は指定された DLL から
DllRegisterServerシンボルを検索し,検索したシンボルを呼び出します。DLL の登録を解除する場合は,
REGSVR32は
DllUnregisterServerを呼び出します。つまり,自動的に登録するすべてのプロセス内コンポーネントには,それぞれのエクスポート・ファイルにこれらの 2 つのエントリ・ポイントを格納しておかなければなりません。
OpenVMS システムで共用可能イメージに格納されているコンポーネントの登録を簡単に行うことができるように,Compaq は DCOM$REGSVR32 ユーティリティを作成しました。DCOM$REGSVR32 ユーティリティは,Microsoft REGSVR32ユーティリティと同じ処理を行います。登録するコンポーネントを格納した共用可能イメージには,それぞれのシンボル・ベクタに DllRegisterServerおよび DllUnregisterServerユニバーサル・シンボルを格納しなければなりません。DCOM$REGSVR32 ユーティリティと REGSVR32ユーティリティはどちらも同じコマンド・ライン構文を使用します。
COM for OpenVMS をインストールするときに, DCOM$REGSVR32.EXEファイルは SYS$SYSTEMディレクトリに格納されます。
DCOM$REGSVR32 ユーティリティを使用する前に,ユーティリティがフォーリン・コマンド・ラインを受け付けることができるようにシンボルを定義しなければなりません。次の例を参照してください。
$ regsvr32 :== $DCOM$REGSVR32 |
また,次の方法で DCOM$REGSVR32 ユーティリティをアクティブ化することもできます。
$ MCR DCOM$REGSVR32 |
いずれかの方法を使用してユーティリティをアクティブ化し,共用可能イメージに格納されているコンポーネントの登録または登録の解除を行います。
DCOM$REGSVR32 のヘルプを表示するには,次のように入力します。
$ regsvr32 -? |
表 5-1 は,DCOM$REGSVR32 のコマンド・ライン・オプションを示しています。
スイッチ | 使い方 |
---|---|
-?, /? | ヘルプ・ファイル (この表) を表示する。 |
shareable-image-name | 指定された共用可能イメージ名を登録する。 |
-u or /u image-name | 指定された共用可能イメージ名の登録を解除する。 |
DCOM$REGSVR32 ユーティリティでは,共用可能イメージ名に完全なディレクトリ指定が必要です。 |
例 5-5 は,DCOM$REGSVR32 ユーティリティを使用してプロセス内コンポーネント (共用可能イメージに含まれているコンポーネント) を登録する方法を示しています。
例 5-5 DCOM$REGSVR32 ユーティリティを使用したコンポーネントの登録 |
---|
$ regsvr32 USER$DISK:[SEYMOUR.DISPATCH_SAMPLE1]CMPNT$SHR.EXE Class factory: Create self. DllRegisterServer: Registering Server DLL Creating key CLSID\{0C092C2C-882C-11CF-A6BB-0080C7B2D682} Creating key CLSID\{0C092C2C-882C-11CF-A6BB-0080C7B2D682}\InProcServer32 Creating key CLSID\{0C092C2C-882C-11CF-A6BB-0080C7B2D682}\ProgID Creating key CLSID\{0C092C2C-882C-11CF-A6BB-0080C7B2D682}\VersionIndependentProgID Creating key CLSID\{0C092C2C-882C-11CF-A6BB-0080C7B2D682}\TypeLib Creating key InsideCOM.Chap11 Creating key InsideCOM.Chap11\CLSID Creating key InsideCOM.Chap11\CurVer Creating key InsideCOM.Chap11.1 Creating key InsideCOM.Chap11.1\CLSID Class factory: Destroy self. |
例 5-6 は,DCOM$REGSVR32 ユーティリティを使用してプロセス内コンポーネント (共用可能イメージに含まれているコンポーネント) の登録を解除する方法を示しています。
例 5-6 DCOM$REGSVR32 ユーティリティを使用したコンポーネントの登録の解除 |
---|
$ regsvr32 /u USER$DISK:[SEYMOUR.DISPATCH_SAMPLE1]CMPNT$SHR.EXE Class factory: Create self. DllUnregisterServer: Unregistering Server DLL Deleting key InProcServer32 Deleting key ProgID Deleting key VersionIndependentProgID Deleting key TypeLib Deleting key LocalServer32 Deleting key CLSID\{0C092C2C-882C-11CF-A6BB-0080C7B2D682} Deleting key CLSID Deleting key CurVer Deleting key InsideCOM.Chap11 Deleting key CLSID Deleting key InsideCOM.Chap11.1 Class factory: Destroy self. |
前へ | 次へ | 目次 | 索引 |