前ページへ データベースの一貫性 高度な操作次ページへ

第 5 章 セキュリティ

Fileshare は、Fileshare サーバへのアクセスを制限できるセキュリティ機能を備えています。Fileshare サーバが制御する特定のデータファイルへのアクセスを制限することもできます。これらの制限を実現するには、次の項目を指定します。


注:Mainframe Express では、Fileshare がサポートされるのは Mainframe Express のコンポーネントで使用する場合のみです。Fileshare を使用するアプリケーションについての情報の一部は、Mainframe Express ユーザには適用されません 。


5.1 パスワードシステム

パスワードシステムを有効化して Fileshare サーバを起動した場合、すべての Fileshare クライアントは、Fileshare サーバに接続するために、有効なユーザ ID を指定する必要があります。デフォルトでは、Fileshare サーバの起動時に Fileshare のパスワードシステムは有効化されていません。

Fileshare パスワードシステムを使用するには、ユーザ ID とパスワードを ファイルハンドラリダイレクタモジュール に渡すようにプログラムし、プログラムが使用するユーザ ID とパスワードを記述したパスワードファイルを Fileshare サーバマシンに作成する必要があります。

次に、Fileshare パスワードシステムを有効化するには、 /pf オプションを使用して、Fileshare サーバにパスワードファイルの名前を指定する必要があります。

Fileshare パスワードシステムを有効化すると 、ユーザプログラムと Fileshare による処理手順は次のようになります (図 5-1 を参照)。

  1. ユーザプログラムから、 ファイルハンドラリダイレクタ パスワード (FHRdrPwd) モジュールを呼び出して、ユーザ ID とパスワードを Fileshare クライアントに登録します。

  2. ユーザプログラムから最初の入出力 操作 を行います。

  3. ファイルハンドラリダイレクタモジュール は、 ファイルハンドラリダイレクタ パスワード (FHRdrPwd) モジュールを呼び出して、ステップ 1 で登録したユーザ ID とパスワードを入手します。

  4. ファイルハンドラリダイレクタモジュール は、ユーザ ID とパスワードを Fileshare サーバ に渡します。



    図 5-1 Fileshare のパスワードシステム

  5. Fileshare サーバは、パスワードファイルを使用して、ユーザ ID とパスワードの妥当性を検査します。

  6. Fileshare サーバがログオンアクセスを許可すると、Fileshare クライアントと Fileshare サーバとの間で接続が確立されます。Fileshare サーバがログオンアクセスを許可しない場合は、Fileshare クライアントにファイル状態 9/037 (「アクセス拒否」) が返されます。

これらの各手順の詳細については、後述します。

5.1.1 Fileshare クライアント

Fileshare セキュリティがアクティブな場合は、最初の入出力操作を実行する前に、ユーザプログラムでユーザ ID とパスワードを指定する必要があります。

セキュリティがアクティブでない場合でも、プログラムで Fileshare クライアントにユーザ ID とパスワードを指定することができます。このように設定しておくと、セキュリティがアクティブであるかどうかにかかわらず、プログラムを変更せずに Fileshare を使用できます。

ユーザ ID とパスワードを登録するには、次のように、プログラムでモジュール、 FHRdrPwd を呼び出す必要があります。

call "fhrdrpwd" using function-code,
                      user-ID,
                      user-password
end-call

この場合のパラメータ情報は、次のとおりです。

01 function-code       pic x comp-x.
01 user-ID             pic x(20).
01 user-password       pic x(20).

ユーザ ID とパスワードを登録するための ファンクションコード は 1 です。

ユーザ ID とパスワードを登録する方法の例を、次に示します。

working-storage section.
01 function-code    pic x comp-x.
01 user-name        pic x(20).
01 user-password    pic x(20).
...
procedure division.
...
    move 1 to function-code
    move "UserID" to user-name
    move "Password" to user-password
    call "fhrdrpwd" using function-code,
                        user-name,
                        user-password
    end-call
    ...
    open output testfile
    ...

Fileshare システムが指定する FHRdrPwd モジュールをユーザ独自の FHRdrPwd モジュールに置き換えることができます。そのため、アプリケーションプログラム以外からユーザ ID とパスワードを取得することが可能になります。 詳細については、 『ユーザ独自の FHRdrPwd モジュールの作成』 の項を参照してください 。

5.1.2 Fileshare サーバ

デフォルトでは、Fileshare サーバの起動時に、Fileshare パスワードシステムは有効化されていません。パスワードセキュリティを有効化するには、Fileshare サーバの構成ファイルで /pf (パスワードファイル) オプションを使用してください。次にその例を示します。

Windows
/pf password.fil
/s server1

UNIX
-pf password.fil
-s server1

このコマンドでは、Fileshare サーバ、 server1 に対して、Fileshare パスワードセキュリティを有効化し、パスワードファイル、 password.fil を使用するように指定しています。Fileshare サーバは、このファイルを使用して、Fileshare クライアントがこの Fileshare サーバに接続する権限があるかを決定します。

パスワードファイルを作成し、ユーザ ID 項目とパスワード項目を追加するには、パスワードファイルのメンテナンスユーティリティを使用します。このユーティリティの詳細については、『パスワードファイルのメンテナンス』 の項を参照してください。

5.1.3 ユーザ独自の FHRdrPwd モジュールの作成

ユーザ ID とパスワードを登録するには、プログラムで ファイルハンドラリダイレクタパスワードモジュール を呼び出し、ユーザ ID とパスワードを指定する必要があります。この呼び出しをユーザプログラムでハードコーディングしない場合は、Fileshare が提供する ファイルハンドラリダイレクタパスワード モジュールを、別の方法で (例えば、画面のプロンプトなど) ユーザ ID とパスワードを取得するモジュールに置き換えることができます。新しいモジュールも ファイルハンドラリダイレクタパスワードモジュール インターフェイスに準拠していなければなりません。具体的には、次のように指定します。

ファンクションコード
動作
= 1: 指定されたユーザ ID とパスワードを登録します。
= 0: ユーザ ID とパスワードを返します。 ファイルハンドラリダイレクタ モジュールは、Fileshare サーバに接続しようとする場合、この呼び出しを使用してユーザ ID とパスワードを取得します。

新しい ファイルハンドラリダイレクタパスワード モジュールを .gnt ファイル にコンパイルして、次のようにします。

オブジェクトモジュールを作成し、必要に応じて、実行可能アプリケーションにリンクします。

5.2 ログオン検証モジュール

Fileshare パスワードシステムを有効化していない場合は、Fileshare サーバが、Fileshare セキュリティログオン検証モジュール (FSSecLog) を呼び出して、 ログオンする要求 を検証します。

Fileshare で提供される FSSecLog モジュールは、どの Fileshare クライアントにも Fileshare サーバへの ログオン を許可します。Fileshare サーバに ログオン できる Fileshare クライアントを制限する必要がある場合には、呼び出す Fileshare サーバに対して、ユーザ独自の別の FSSecLOG モジュールを使用する必要があります。

例えば、必要に応じて、ユーザ独自のモジュールをオペレーティングシステムのセキュリティと統合することができます。

この場合、ユーザプログラムと Fileshare の処理手順は、次のようになります (図  5-2 を参照) 。

  1. ユーザプログラムは、 ファイルハンドラリダイレクタ パスワードモジュール (FHRdrPwd) を呼び出し、ユーザ ID とパスワードを登録します。

  2. ユーザプログラムが最初の入出力 操作 を行います。

  3. ファイルハンドラリダイレクタモジュール は、パスワードモジュール (FHRdrPwd) を呼び出し、手順 1 で登録したユーザ ID とパスワードを入手します。

  4. ファイルハンドラリダイレクタモジュール は、ユーザ ID とパスワードを Fileshare サーバ に渡します。

  5. Fileshare サーバは、FSSecLog モジュールを呼び出して、ユーザ ID と パスワード を渡します。

  6. FSSecLog モジュールが ログオン アクセスを許可すると、Fileshare クライアントと Fileshare サーバとの間で接続が確立します。FSSecLog モジュールが ログオン アクセスを許可しない場合は、状態メッセージ 9/037 「アクセス拒否」が Fileshare クライアントに返されます。



図 5-2: ログオン検証モジュール

5.2.1 ユーザ独自の FSSecLog モジュールの作成

Fileshare サーバは、Fileshare クライアントからの ログオン 要求を検証するために、FSSecLog モジュール (ログオン用 Fileshare セキュリティ検証モジュール) を呼び出して、ユーザ ID とパスワードの正当性を検証します。 FSSecLog モジュールをユーザ独自のモジュールに置き換えると、 ログオン要求 をユーザ独自の条件で検証できます。ただし、作成した新しいモジュールは、次に示す FSSecLog インターフェイスに準拠している必要があります。

構文
call "fsseclog" using user-ID
                      password
                      return-status
パラメータ

user-ID
password
return-status
pic x(20).
pic x(20).
pic x comp-x.

起動時の設定

user-ID Fileshare クライアントの ユーザ ID
password Fileshare クライアントの パスワード

終了時の設定

user-ID 変更しません。
password 変更しません。
return-status Fileshare サーバに対する Fileshare クライアントからのログオンを許可する場合、戻り値を 0 に設定します。0 以外の戻り値は、Fileshare クライアントのログオンが許可されず Fileshare クライアントにエラーを返すことを示します。

Windows
作成したユーザ独自の fsseclog モジュールは、Fileshare サーバにリンクさせることができます。 詳細は、『高度な操作』 の章の 『Windows での Fileshare サーバのリンク』 の項を参照してください。

UNIX
生成コード形式でユーザ独自の fsseclog モジュールを作成して、COBOL システム ディレクトリ にあるモジュールと置き換えることができます。

5.3 ファイルアクセス検証モジュール

Fileshare サーバは、Fileshare クライアントからファイルオープン要求を受け取るたびに、FSSecOpn モジュール (オープン用 Fileshare セキュリティ検証モジュール) を呼び出します。

Fileshare で提供する オープン用 Fileshare セキュリティ検証 モジュールは、すべての Fileshare クライアントに対して、データファイルへのアクセスを許可します。特定のファイルへのアクセスを制限する必要がある場合は、Fileshare サーバが呼び出す オープン用 Fileshare セキュリティ検証 モジュールをユーザ独自に作成する必要があります。

オープン用 Fileshare セキュリティ検証 モジュールがファイルアクセスを許可した場合は、操作を完了できます。このモジュールがファイルアクセスを許可しない場合は、ファイル状態 9/037 「アクセス拒否」が Fileshare クライアントに返され、その操作は完了できません。


注:このファイルアクセスのセキュリティ検査は、Fileshare パスワードシステムおよびユーザが作成したログオン検証モジュールから独立して行われます。


ユーザのプログラムと Fileshare による処理手順は次のようになります。

  1. ユーザのプログラムで、 ファイルハンドラリダイレクタ パスワードモジュールにユーザ ID とパスワードを登録します。この情報は、Fileshare クライアントが Fileshare サーバに最初にログオンするときに使用されます。

  2. オープン操作 (OPEN や DELETE のようなファイル操作) を指定していないファイルに対してユーザのプログラムが入出力操作を行う場合は、Fileshare サーバが常に FSSecOpn モジュール (オープン用 Fileshare セキュリティ検証モジュール) を呼び出します。

5.3.1 ユーザ独自の FSSecOpn モジュール (オープン用 Fileshare セキュリティ検証モジュール) の作成

Fileshare クライアントからのファイルオープン要求を検証するために、Fileshare サーバは FSSecOpn モジュール (オープン用 Fileshare セキュリティ検証モジュール) を呼び出します 。

Fileshare で提供する オープン用 Fileshare セキュリティ検証 モジュールをユーザ独自のオープン用 Fileshare セキュリティ検証モジュールに置き換えると、ユーザ独自の条件でオープン要求を検証できます。ただし、作成した新しいモジュールは、次に示す オープン用 Fileshare セキュリティ検証モジュールの インターフェイスに準拠している必要があります 。

構文
call "fssecopn" using filename
                      filename-length
                      operation-code
                      user-ID
                      return-status
パラメータ

filename pic x(n).
filename-length pic x(2) comp-x.
operation-code pic x(2) comp-x.
user-ID pic x(20).
return-status pic x comp-x.

起動時の設定

filename Fileshare クライアントが 開く データファイルの名前。
filename-length filename の長さ。
operation-code 入出力操作を指定する操作コード。これらのコードは、呼び出し可能ファイルハンドラで使用します。呼び出し可能ファイルハンドラの詳細については、Net Express オンラインヘルプを参照してください。
user-ID ファイルオープン 要求 を出す Fileshare クライアントのユーザ ID。

終了時の設定

return-status ファイルオープン要求を許可する場合の戻り値を 0 に設定します。0 以外の戻り値は、Fileshare クライアントのデータファイルに対するオープン要求が許可されず、Fileshare クライアントにエラーを返すことを示します。

Windows
作成したユーザ独自の fssecopn モジュールは、Fileshare サーバにリンクさせることができます。 詳細は、『高度な操作』 の章の 『Windows での Fileshare サーバのリンク』 の項を参照してください 。

UNIX
生成コード形式でユーザ独自の fssecopn モジュールを作成して、COBOL システム ディレクトリ にあるモジュールと置き換えることができます 。

5.4 パスワードファイルのメンテナンス

パスワードファイルには、Fileshare パスワードセキュリティが有効化されている場合に Fileshare サーバが使用するユーザ ID とパスワードの詳細情報が格納されます。パスワードファイルの情報は、セキュリティのために暗号化されているので、パスワードファイルのメンテナンスユーティリティを使用しないと、パスワードファイルに対するレコードの追加や削除を行えません。


注:


パスワードファイルの項目を追加または削除するには、次のように、 /pf (パスワードファイル) オプションを使用します。

fs /pf pass.dat [options]

このコマンドにより、 パスワードファイルのメンテナンス機能が起動し、指定したオプションがパスワードファイル、 pass.dat に追加されます。このファイルが存在しない場合は、新しく作成されます。

また、次のオプションも使用することができます。

/u user-ID /pw password

このオプションは、 指定したユーザ ID とパスワードをパスワードファイルに追加します。user-IDpassword の両方では 大文字と小文字が区別され 、最大長は 20 字です。

[/e]

このオプションは、 パスワードファイルからレコードを消去します。これは、パスワードの作成後にレコードを削除する唯一の方法です。

fs /pf pass.dat /u pkel /pw fishwife

この例では、パスワードファイルのメンテナンス機能を起動し、pass.dat というパスワードファイルを作成または更新しています。さらに、ユーザ ID、 pkel とパスワード、 fishwife も追加しています。

5.5 スーパーバイザモード

Fileshare マネージャのパスワード制限機能を使用するには、スーパーバイザパスワードを定義する必要があります (『高度な操作』 の章の 『Fileshare マネージャ』 の項を参照してください)。

スーパーバイザパスワードを定義するには、予約済みのユーザ ID である FSVIEW を使用して、パスワードファイルの項目を作成しなければなりません。ユーザ ID である FSVIEW は、大文字で入力する必要があります。

すでに、Fileshare パスワードセキュリティを使用している場合は、既存のファイルに FSVIEW を追加すると、スーパーバイザパスワードが定義されます。

Fileshare パスワードセキュリティを使用していない場合は、FSVIEW ユーザ ID のみを 項目 として持つパスワードファイルを作成することができます。この方法により、Fileshare パスワードセキュリティを有効化しなくても、スーパーバイザパスワードを定義できます。

次の例では、パスワードファイル、 password.fil にスーパーバイザパスワード、 abracadabra が定義されます。このファイルが存在しない場合は、新しく作成され ます 。

fs /pf password.fil /u FSVIEW /pw abracadabra

スーパーバイザパスワードを定義した場合は、Fileshare サーバの構成ファイルまたは Fileshare サーバの起動時にコマンド行で、このパスワードファイルを指定しなければなりません。


注:パスワードファイル項目が FSVIEW のみの場合は、パスワードファイルが指定されていても、Fileshare サーバにより Fileshare パスワードセキュリティが無効であることを示すメッセージが表示されます。



Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。

前ページへ データベースの一貫性 高度な操作次ページへ