日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS
ライブラリ

タイトルページ
目次
まえがき
第 1 章:COM for OpenVMSに関するリリースノート
第 2 章:OpenVMS Registryに関するリリースノート
第 3 章:COM for OpenVMSの概要
第 4 章:COM for OpenVMSのインストール
第 5 章:アプリケーションの開発と運用のためのCOM for OpenVMSユーティリティ
第 6 章:COM for OpenVMSアプリケーションの開発
第 7 章:OpenVMS Registryの概要
第 8 章:OpenVMS Registryシステム管理
第 9 章:OpenVMS Registryサーバの管理
第 10 章:OpenVMS Registryシステムサービス
第 11 章:OpenVMS イベント
第 12 章:認証
付録 A :MIDLコンパイラのオプション
付録 B :トラブルシューティング
付録 C :サンプルアプリケーションの作成
付録 D :V1.0からV1.1へのアップグレード
付録 E :相違点,API,インタフェースの一覧
付録 F :インストールされるファイル一覧
用語集
略語集
索引
PDF
OpenVMS ホーム
OpenVMS Alpha オペレーティング・システム | HPE 日本

OpenVMS Alpha
オペレーティング・システム
コネクティビティ開発者ガイド


目次 索引



11.3 独自のイベントの作成

デフォルト設定では,システムは COM for OpenVMS で生成された DCOM イベントをログに記録します。 COM for OpenVMS イベントを記録する他に,ユーザが作成した COM アプリケーションの COM アプリケーション・イベントをログに記録することもできます。

COM for OpenVMS キットには,Win32 API を使用してアプリケーション・イベントを生成する方法を示すサンプル・コードが含まれています。このサンプル・コードは, Windows NT システムでそのまま使用できます。また, OpenVMS で COM for OpenVMS アプリケーションを作成する指示に従って,このサンプル・コードを正しく作成することもできます (必要なヘッダ・ファイルは DCOM$LIBRARY から取得してください)。これらの手順については, 第 6 章 を参照してください。また,このサンプル・コードには,Wind/U を使用して例を作成するためのリンク手順も示されています。

11.4 OpenVMS Events の問題への対処

イベントを報告するときに発生したエラーは,追跡が困難なことがあります。これは,途中にあるいくつものソフトウェア・レイヤをイベントが通過するからです。ここでは, OpenVMS Events が Windows NT ログに記録されるまでに,他のソフトウェア・レイヤをどのように通過するかについて説明します。

  1. アプリケーションは Win32 イベント機能のいずれか ( RegisterEventSourceReportEventDeregisterEventSource) を呼び出します。

  2. Win32 API は指定された引数を使用して,適切なアイテム・リストを作成し,NTA$EVENTW ルーチンを呼び出します。

  3. NTA$EVENTW ルーチンは,指定された情報 (機能コード,アイテム・リストなど) を確認し,SYS$ACM システム・サービスに対して適切なアイテム・リストを作成します。
    NTA$EVENT がエラーを検出すると,R0 とイベント状態ブロックを使用して,そのエラーを Win32 API に返します。

  4. SYS$ACM システム・サービスは情報を確認し,その情報を NT ACME に渡します。
    SYS$ACM がエラーを検出すると,R0 と ACM 状態ブロックを使用して,そのエラーを NTA$EVENTW に返します。

  5. NT ACME は指定された情報を (IPC パイプを使用して) Advanced Server for OpenVMS のディスパッチャに渡します。
    NT ACME がエラーを検出すると,ACM 状態ブロックを使用して,そのエラーを呼び出し側プロセスに返します。

  6. Advanced Server for OpenVMS ディスパッチャは情報を確認し,要求された操作 (登録,レポート,登録の解除) を実行するために適切なルーチンを呼び出します。
    Advanced Server for OpenVMS がエラーを検出すると,そのエラーを NT ACME に報告します。NT ACME はエラーを他の呼び出しプロセスに渡します。

イベント状態ブロックの内容を確認すると,エラーがどこで発生したのかを判断するのに役立ちます。 表 11-1 は,実行しなければならないチェックを (重要な順に) 示しています。

表 11-1 OpenVMS Events エラーへの対処法
R0 状態 状態フィールド値 チェックするコンポーネント
エラー (ビット 0 がクリア) EVT$L_NT_STATUS フィールドが 0 以外の値である。 エラーは Advanced Server for OpenVMS の内部で発生している可能性が最も高い。
エラー EVT$L_VMS_STATUS フィールドが 0 以外の値で, EVT$L_NT_STATUS が 0 である。 エラーは SYS$ACM システム・サービスまたは NT ACME の内部で発生している可能性が最も高い。
エラー EVT$L_VMS_STATUS が 0 で,EVT$L_NT_STATUS が 0 である。 エラーは SYS$ACM システム・サービスの内部で発生している可能性が最も高い。

注意

Win32 API は通常,エラー状態を適切な NT エラー状態コードに変換し, GetLastError Win32 API を介して提供します (イベント API から返された状態は単に一般的なエラーを示します)。

第 4 部
認証

第 4 部では,プラットフォーム間でのユーザとアプリケーションの認証についての関連情報について説明します。

第 12 章
認証



認証とは,システムへのアクセスを許可する前に,コンピュータ・システムがユーザの身元を確認する動作です。 ユーザの認証が成功すると,システムはユーザの認可情報を 資格情報の形式でユーザのプロセスにバインドします。システムはこれらの資格情報を使用して,システム・リソースへのアクセスを許可するのか,拒否するのかを判断します。

OpenVMS では,次に示すように,ネイティブ (SYSUAF ベース) と Windows NT 互換の認証および認可機能が提供されます。

  • ネイティブ:認証は,SYSUAF.DAT ファイルに格納されているパスワード情報を使用して行われます。認可情報は UIC,特権,ライト識別子で構成されます。

  • Windows NT :認証は,ドメイン・コントローラが管理する SAM データベースに格納されているパスワード情報を使用して行われます。認可情報は SAM データベースのユーザ・アカウント情報から取得したプライマリ SID,グループ SID,セッション・キー,特権で構成されます。

OpenVMS がユーザの認証 (ネイティブまたは Windows NT ) に成功すると,ペルソナと呼ぶ構造を使用して,ユーザのネイティブな資格情報がプロセスに結びつけられます。 Windows NT を認証のために使用した場合は, OpenVMS はユーザの Windows NT 資格情報もプロセスに結合します (ペルソナの拡張として)。

12.2 NTA$LOGON の使用による Windows NT 資格情報の取得

NTA$LOGON は NTLM 資格情報を取得するためのユーティリティです。 OpenVMS Registry または COM for OpenVMS 機能にアクセスするために, Windows NT セキュリティを必要とするすべてのプロセスは, NTLM 資格情報を必要とします。

NTA$LOGON に対してユーザ・アカウント名,パスワード,(必要な場合は) ドメイン名を提供しなければなりません。 NTA$LOGON は ACM (Authentication and Credential Management) オーソリティを使用してドメイン・コントローラに連絡をとり, Windows NT アクセス・トークンを取得します。NTA$LOGON は Windows NT 情報とユーザの OpenVMS 資格情報をマージします。

NTA$LOGON の依存関係の詳細と,NTA$LOGON が OpenVMS インフラストラクチャの他の部分とどのように関係するかについては, 第 4.8 節第 4.9 節 (特に ACME サーバと Advanced Server for OpenVMS server) を参照してください。

NTA$LOGON ユーティリティを使用するには,次のいずれかを入力します。

  • 次のコマンドを入力して NTA$LOGON ユーティリティを実行します。


        $ RUN SYS$SYSTEM:NTA$LOGON 
    


    ユーザ・アカウント名とパスワードが求められます。

  • NTA$LOGON を使用してコマンド・ラインを解析するために, DCL シンボルを定義します。次の例を参照してください。


        $ NTLOGON :== $NTA$LOGON 
        $ NTLOGON 
    


    コマンド・ラインにパラメータを指定できます。 表 12-1 はコマンド・ライン・パラメータを示しています。パラメータを指定しなかった場合は,必須情報が求められます。

  • NTA$LOGON を使用してコマンド・ラインを解析するために, MCR コマンドを使用します。次の例を参照してください。


        $ MCR NTA$LOGON 
    


    コマンド・ラインにパラメータを指定できます。 表 12-1 はコマンド・ライン・パラメータを示しています。パラメータを指定しなかった場合は,必須情報が求められます。

表 12-1 は NTA$LOGON ユーティリティのコマンド・ライン・パラメータを示しています。

表 12-1 NTA$LOGON ユーティリティのコマンド・ライン・パラメータ
引数 必須/省略可能
P1 ユーザ・アカウント名。アカウント名は必須であるが,コマンド・ラインに指定しなかった場合は,NTA$LOGON から入力が求められる。 省略可能
P2 パスワード。パスワードは必須であるが,コマンド・ラインに指定しなかった場合は,NTA$LOGON から入力が求められる (入力したパスワードは画面に表示されない)。 省略可能

例 12-1 は,資格情報を取得するための典型的な NTA$LOGON セッションを示しています。

例 12-1 NTA$LOGON セッションの例

 
    $ NTLOGON :== $NTA$LOGON 
    $ NTLOGON joesmith 
    Password: 

注意

Windows NT ドメイン名とユーザ・アカウント名では,大文字と小文字が区別されません。NTA$LOGON はすべてのドメイン名とユーザ・アカウント名を大文字に変換します。コマンド・ラインにパスワードを指定すると,DCL はすべての文字を大文字に変換します。ただし,パスワードを引用符 ("") で囲んだ場合は,大文字に変換されません。



NTA$LOGON では次の修飾子を使用できますが,これらの修飾子は省略可能です。

  • /DELETE
    現在の Windows NT 資格情報を削除します。
    /DELETE 修飾子を /WRITE_FILE 修飾子と組み合わせて指定すると,指定したドメイン名とユーザ・アカウント名のパスワード・レコードがファイルから削除されます。

  • /DOMAIN=name
    ドメイン名を指定します。この修飾子は名前を大文字に変換します。この修飾子を指定しなかった場合は,デフォルトのログイン名が使用されます。

  • /LIST
    現在のプロセスに割り当てられているドメイン名とユーザ・アカウント名の一覧を表示します。
    /LIST 修飾子を /READ_FILE または /WRITE_FILE 修飾子と組み合わせて使用した場合は,ファイルの内容の一覧が表示されます。

  • /LOG
    操作が完了したときに,そのことを示すメッセージを表示します。

  • /OVERRIDE_MAPPING
    プロセスの OpenVMS ユーザ名が,ドメイン・コントローラで Windows NT ユーザ・アカウント名に対応付けられている OpenVMS ユーザ名と一致しない場合でも,指定された Windows NT ユーザ・アカウント名の Windows NT 資格情報を取得します。
    この修飾子を使用するには,IMPERSONATE 特権が必要です。

  • /READ_FILE [=file]
    この修飾子を指定すると,ユーザ入力装置からパスワードを読み込むのではなく,/WRITE_FILE 修飾子で作成されたバイナリ入力ファイルから指定されたドメイン名とユーザ・アカウント名が検索されます。 /READ_FILE 修飾子では,NTA$LOGON/WRITE_FILE コマンドで作成されたバイナリ・ファイルだけがサポートされます。
    一致するレコードが検索されると,NTA$LOGON はそのパスワードを使用して Windows NT 資格情報を取得します。
    ファイル指定を省略した場合は,次のデフォルトのファイル指定が使用されます。


        DCE$COMMON:[000000]NTA$LOGON.DAT 
    

  • /TYPE={BATCH | DIALUP | LOCAL | NETWORK | REMOTE}
    アクセスを許可または拒否するための規則を指定します。この修飾子を指定しなかった場合は,現在のプロセスのタイプがデフォルトとして使用されます。この修飾子は通常,独立プロセスに対して使用されます (独立プロセスにはデフォルト・タイプがありません)。
    この修飾子を使用するには,IMPERSONATE 特権が必要です。

  • /WRITE_FILE [=file]
    この修飾子を指定すると,指定されたドメイン名,ユーザ・アカウント名,パスワードが後で使用できるように出力ファイルに書き込まれます (/READ_FILE 修飾子を参照)。この場合,ユーザが指定したパスワードは使用されません。
    ファイル指定を省略した場合は,次のデフォルトの場所とファイル名が使用されます。


        DCE$COMMON:[000000]NTA$LOGON.DAT 
    

    重要

    /READ_FILE 修飾子と /WRITE_FILE 修飾子は, OpenVMS Registry または COM for OpenVMS 機能にアクセスするために Windows NT 資格情報を取得するための方法が他にないサーバで使用することを目的にしています。 /READ_FILE 修飾子と /WRITE_FILE 修飾子を一般に使用することは望ましくありません。
    パスワードをディスクのファイルに書き込んだ後,パスワード・ファイルが不正にアクセスされないようにするために,ファイルは厳重に保護してください。



12.2.2 Windows NT 資格情報を取得するための NTA$LOGON の使用例

例 12-2 は,ユーザが NT 資格情報を初めて取得する方法を示しています。

例 12-2 Windows NT 資格情報の初めての取得

    $ NTLOGON :== $NTA$LOGON 
    $ NTLOGON/LIST 
    ERROR: NtOpenProcessToken() failure: -1073741700 0xc000007c 
    %SYSTEM-E-NOSUCHEXT, no such extension found 
 
    $ NTLOGON/LOG JOESMITH 
    [Persona #1 NT extension: Account= "JOESMITH" Domain= "NT_DOMAIN" ] 
    Password: 

例 12-3 は,ユーザが Windows NT 資格情報を置換する方法を示しています。

例 12-3 Windows NT 資格情報の置換

    $ NTLOGON/DELETE 
    $ NTLOGON/OVERRIDE_MAPPING/DOMAIN=OTHER_DOMAIN 
    Username: janebrown 
    Password: 

例 12-4 は,ユーザがパスワードをディスクのファイルに保存する方法を示しています。パスワードは 2 回入力するように求められますが,入力しても画面に表示されません。

例 12-4 ファイルへのパスワードの保存

    $ NTLOGON :== $NTA$LOGON 
    $ NTLOGON/WRITE_FILE=DEV:[DIR]NTA$LOGON.DAT COM_SERVER 
    Password: 
    Confirm: 
    $ NTLOGON/READ_FILE=DEV:[DIR]NTA$LOGON.DAT/LIST 
    File DEV:[DIR]NTA$LOGON.DAT contains the following records: 
    02-MAR-1999 16:57:23.20 COM_SERVER 

このファイルを作成した後,DCL コマンド・プロシージャに次のコマンドを追加できます。


    $ NTLOGON :== $NTA$LOGON 
    $ NTLOGON/READ_FILE=DEV:[DIR]NTA$LOGON.DAT COM_SERVER 



12.3 ACM (Authentication and Credential Management) オーソリティ

ACM (Authentication and Credential Management) オーソリティは, OpenVMS と Windows NT に対してユーザを認証し,ユーザのセキュリティ・プロファイルを判断します。ACME_SERVER プロセスはこれらの ACM サービスを提供します。ACME_SERVER プロセスは ACME エージェントと呼ぶプラグイン・モジュールを使用します。 ACME エージェントは,認証要求,問い合わせ要求,イベント要求への応答などの実際の作業を行います。

OpenVMS ACME エージェント (VMS$VMS_ACMESHR.EXE) は, OpenVMS ネイティブ・サービスを提供します。 MSV1_0 ACME エージェント (PWRK$MSV1_0_ACMESHR.EXE, Advanced Server for OpenVMS 製品のコンポーネント) は, Windows NT 接続サービスを提供します。

MSV1_0 ACME エージェントは Windows NT 接続サービス要求を NTA$LOGON および SSPI/NTLM から,クラスタ内の 1 つ以上のシステムで稼動している Advanced Server for OpenVMS プロセスに転送します。 PWRK$ACME_SERVER 論理名には,MSV1_0 ACME が要求を転送する先のクラスタ・ノード名のリストを含むことができます。各名前はカンマで区切ります。 Advanced Server for OpenVMS プロセスを 1 つ以上のクラスタ・ノードで実行し,ノード名を PWRK$ACME_SERVER 論理名に含むと,MSV1_0 ACME エージェントは,接続が中断されたときに,要求を自動的にフェールオーバできます。論理名が定義されていない場合は,デフォルトでローカル・マシン名に設定されます。

ACME_SERVER プロセスは,RPC または COM for OpenVMS を実行するどのシステムにも存在しなければなりません。しかし, Advanced Server for OpenVMS プロセスは,クラスタ内の 1 つのノードにだけ存在すれば十分です。

12.3.1 OpenVMS での Windows NT 認証

ACME_SERVER は要求された Windows NT ペルソナ拡張情報も含めて,完全な OpenVMS ペルソナを呼び出しプロセスに返すので, VMS ACME エージェントは次の規則を適用します。

  • すべての Windows NT ユーザはローカルの OpenVMS ユーザ名に変換されなければなりません。
    MSV1_0 ACME は Advanced Server for OpenVMS HOSTMAP データベースを介して,このマップ機能を提供します。

  • マップされた OpenVMS ユーザ名は,SYSUAF.DAT で有効な (無効にされていない) アカウントでなければなりません。そのアカウントのアクセス制限で,指定された日時にアクセスが許可されなければなりません。 COM for OpenVMS と RPC では通常,認証時に NETWORK アクセス権を必要とします。

  • マップされた OpenVMS ユーザ名は,EXTAUTH フラグがセットされたアカウントでなければなりません。EXTAUTH フラグがセットされていると,システム管理者は,マップのためにどの OpenVMS アカウントを使用できるかを細かく制御できます。 SECURITY_POLICY システム・パラメータで IGNORE_EXTAUTH ビット (ビット番号 11 [10 進数]) を使用すると,このアカウント単位の機能を無効にできます。IGNORE_EXTAUTH ビットを 1 にセットすると,OpenVMS はアカウントの EXTAUTH の設定とは無関係に,どのアカウントにもマップできるようになります。 IGNOTE_EXTAUTH は ACME_SERVER に対してだけ使用され, Loginout では無視されます。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項