Adabas パスワードのセキュリティ(ADASCR)

このドキュメントでは、次のトピックについて説明します。


はじめに

Adabas データベースセキュリティユーティリティの ADASCR は Adabas ファイルに対するアクセスおよび更新を制御するための機能を提供しています。

Adabas は、データのアクセス/更新セキュリティの 2 つのクラスをサポートします。ファイル全体を基準にした読み込み/書き込み要求に対するユーザーを制限するクラスと、ファイル内の個々のレコードアクセスに対するユーザーを制限するクラスです。

ファイルレベルの保護

Adabas ファイルは、ゼロより大きいファイル保護レベルが割り当てられた場合にセキュリティ保護されます。ファイル保護レベルはアクセス(読み込み)と更新に分けて割り当てます。

ユーザーは、ファイル保護レベルと同等かそれ以上の権限レベルのパスワードを入力すると、セキュリティ保護されたファイルに対するアクセス/更新が可能になります。保護レベルおよびパスワードの権限レベルは、セキュリティユーティリティ ADASCR を使用して割り当てます。

保護できるファイル番号は、ASSO1 コンテナファイルのブロックサイズによって制限されます。ブロックサイズが 2 KB の場合、1~2047 の範囲内のファイルだけを保護することができます(3 KB の場合、3071 が制限です)。

レコードレベルのプロテクション(セキュリティバイバリュー)

セキュリティバイバリューは、ユーザーが、データレコードの 1 つ以上のフィールドの内容に合わせてデータアクセスや更新の制限を別々に定義できるように Adabas ファイル保護レベルセキュリティを拡張します。

セキュリティバイバリューの条件は ADASCR セキュリティユーティリティで定義します。各パスワードに 99 までの Adabas ファイルに対するバリュー条件を含むことができます。

レコードレベルのセキュリティは、セキュリティ保護されたファイルにだけ使用できます。

ファイル保護レベル

Adabas ファイルは、ゼロより大きいアクセス保護レベルまたは更新保護レベルが割り当てられるとセキュリティ保護されます。

ファイル保護レベルの範囲は 0~15 で、15 が最大保護レベルです。保護レベル 0 は、このファイルに対するアクセス/更新がすべてのユーザーに可能であることを意味します。保護レベルが 15 の場合、このファイルに対するアクセスおよび更新はいかなるユーザーにも許可されません。

保護レベルが割り当てられていない Adabas ファイルには、すべてデフォルトの保護レベル 0 が割り当てられます。このようなファイルに対しては、すべてのユーザーによるアクセスおよび更新が可能です。

ファイル 保護レベル番号
アクセス Update
10 7 11
11 2 2
12 4 4

ユーザーパスワード

各 Adabas ファイルに対して、異なるアクセスレベルおよび更新レベルをパスワードごとに割り当てることができます。パスワードの権限レベルは、0~14 の範囲で割り当てることができます。


パスワード
FILE 10
ACC/UPD
FILE 11
ACC/UPD
FILE 12
ACC/UPD
PASSWRD1 4/0 4/0 4/0
PASSWRD2 2/2 2/2 2/2
PASSWRD3 14/0 0/0 14/0
PASSWRD4 14/14 14/14 14/14
PASSWRD5 7/7 0/0 7/0

パスワードのアクセス/更新権限レベルがファイルのアクセス/更新レベルと同等かそれ以上の場合にパスワードは正しく機能し、目的のファイルに対するアクセス/更新が可能となります。

上記の例のファイル保護レベルおよびパスワード承認レベルを使用する場合、次のようになります。

  • PASSWRD1 は、ファイル 11 またはファイル 12 のアクセスに使用できます。

  • PASSWRD2 は、ファイル 11 のアクセス/更新に使用できます。

  • PASSWRD3 および PASSWRD5 は、ファイル 10 またはファイル 12 のアクセスに使用できます。

  • PASSWRD4 は、ファイル 10、ファイル 11、またはファイル 12 のアクセス/更新に使用できます。

セキュリティバイバリュー条件

各 Adabas ファイルに対する別々のアクセスと更新の条件をパスワードごとに割り当てることができます。各バリュー条件は Adabas サーチバッファおよび関連するバリューバッファから構成されます。

サーチバッファとバリューバッファは、標準 Adabas 検索コマンド(非ディスクリプタフィールドおよびマルチプルバリューフィールドの使用を含む)と同じ方法で指定します。ただし、ソフトカップリング、サブディスクリプタ、スーパーディスクリプタ、ハイパーディスクリプタおよびフォネティックディスクリプタは、セキュリティバイバリュー検索条件ではサポートされません。

サーチバッファやバリューバッファの構文および指定の詳細については、『コマンドリファレンスマニュアル』の「Adabas の呼び出し」の「サーチバッファとバリューバッファ」を参照してください。

値のチェックは、Adabas コマンドによって、データストレージが読まれるとき、または更新されるときにだけ行われます。

次の表は、各種の Adabas コマンドに対してテストされる条件を示しています。

Adabas コマンド セキュリティバイバリューのチェックを実行
テスト条件 テストデータ
A1 Update ビフォーイメージ
E1 Update ビフォーイメージ
L1~L6 アクセス ビフォーイメージ
L9 (インデックスのアクセスだけで、値のチェックは行われない)
N1、N2 Update アフターイメージ
S1(*) アクセス ビフォーイメージ

注意:
* 有効なフォーマットバッファを持つ S1 コマンドは、ユーザー ISN 指定の L1 コマンドが後に続く S1 コマンドが発行されたときと同じ方法で処理されます。

要求したファイルの関連セキュリティレベルがゼロの場合、セキュリティバイバリュー条件は無効です。

Adabas セキュリティ処理

ユーザーが入力したパスワード、およびファイルに対して定義されたファイル保護情報を使用して、Adabas は指定された Adabas ファイルへのアクセス/更新がユーザーに許可されているかどうかをチェックします。ファイルがセキュリティ保護されていない場合、Adabas は入力されたパスワードをすべて無視します。読み込みコマンドと更新コマンドに対する Adabas のセキュリティ処理について、次に説明します。

Adabas は、アクセスまたは更新対象のファイルがセキュリティ保護されているかどうかを判断します。セキュリティ保護されていない場合、セキュリティ処理は停止します。

セキュリティレスポンスコード

処理対象のファイルがセキュリティ保護されている場合、Adabas は、指定されたパスワードがパスワードテーブル内で定義されているかどうかをチェックします。

パスワードが定義されていない、またはパスワードが指定されない場合、レスポンスコード 201 が返されます。

パスワードが定義されているが、処理対象のファイルに対して有効ではない場合、レスポンスコード 202 が返されます。

パスワードが処理対象のファイルに対して有効である場合、Adabas は、このパスワードに関連付けられている権限レベルとファイルのアクセスまたは更新保護レベルを照合します。レスポンスコード 200 は、パスワード承認レベルがファイルの保護レベルより低い場合に返されます。

承認レベルが充分であれば、現在のファイルに対してさらにセキュリティバイバリュー条件のチェックが、パスワードに対して行われます。指定されたパスワードに対して検索条件が定義された場合、発行された Adabas コマンドによって、データのビフォーイメージまたはアフターイメージでテストされます。セキュリティバイバリューのチェックが正常でない場合、レスポンスコード 200 を返します。正常であれば、最終的にユーザー要求は認められ、Adabas コマンドが処理されます。

次に、Adabas のセキュリティ処理で返されるレスポンスコードの一覧を示します。

RESPONSE 200
説明

セキュリティ違反が検出されました。

ユーザー対処

正しいパスワードを指定してください。


RESPONSE 201
説明

指定されたパスワードが見つかりませんでした。

ユーザー対処

正しいパスワードを指定してください。


RESPONSE 202
説明

ユーザーが権限のないファイルを使用しようとしました。

ユーザー対処

正しいパスワードを指定してください。


ET ロジックユーザーがレスポンスコード 200~202 を受け取った場合、トランザクションタイムリミット(詳細については『ユーティリティマニュアル』の ADANUC の TT パラメータに関する記載箇所を参照)を超えたときと同じように処理を継続します。

セキュリティバイバリューによりセキュリティ違反が発生すると、レスポンスコード 200 が返されます。