6.データベース
-
ファイル、表、フィールドのレベルでそれぞれ機密保護があります。他のデータベースとよく似ているので、それほど説明しなくても理解できるはず。
- (1)データベースの機密保護
-
A−VXのデータベースの実体は複数索引順ファイルなので、プログラム起動時の機密保護/ファイルアクセス時の機密保護は、従来ファイルとまったく同様に使えます。
データベースの場合、さらに固有の機密保護が追加されます。
- RDBセキュリティ(表オープンの機密保護)
- 表のアクセスセキュリティ
- 表の更新セキュリティ
- フィールドの参照セキュリティ
- フィールドの更新セキュリティ
- RDB/EUFIIなどのエンドユーザ用アプリケーションがそれぞれ持つ追加の機密保護
サーバ自身のOCFの設定が”機密保護が使用できる”状態になっていないとデータベースの機密保護は使用できません。
- (2)RDBセキュリティ
-
表オープン時に、オペレータの機密コードと表の機密コードが比較されます。
下の表の”O”になっているものがオペレータの機密コードとの比較対象になります。入力モードでオープンした場合は、表アクセスとフィールド参照の2つについて比較されます。1つでも条件を満たさないときにはオープンできません。
オープンモード 入力 入出力 出力 表アクセス O O O 表更新 O O フィールド参照 O O フィールド更新 O O 例えば、表更新のセキュリティが’A5’と設定されている表があるとします。このデータを書き換えるために’A3’のオペレータが表をオープンしようとしても、セキュリティが低い(表のアクセスレベルは5、オペレータのアクセスレベルは3)ので、オープンできません。表をオープンできないということは、当然書き換えもできないことになります。
表がオープンできても、データベースの本体である複数索引編成ファイル(物理ファイル)に対するアクセス権限(ファイルアクセス時の機密保護)がなければ、やはり書き換えはできません。
下が実際に表定義保守ユーティリティで設定した画面です。
(それぞれの値は説明のために適当に入力したので、この値ではたぶん動かない。)
表名指定の画面。ここで表アクセスと表更新を設定します。「使用権」が表アクセス、「更新権」が表更新に対応します。
項目指定の画面。ここでフィールド参照とフィールド更新を設定します。「参」がフィールド参照、「更」がフィールド更新に対応します。
物理ファイル、基本表・仮想表、フィールド毎の機密保護がそれぞれあるので、きちんと整理して設定しないと訳もわからずアクセスできない状態になってしまいます。
- (3)カンパニRDB
-
データベースの表にも、ファイルと同じようにカンパニコードを付けることができます。
- グローバル表
カンパニコードがない(グローバルカンパニの)表のことで、どのカンパニのオペレータでもアクセスできます。(機密保護の関係でアクセスできないこともあります。) - ローカル表
同じカンパニコードのオペレータしかアクセスできません。
表がアクセス可能でも、データ実体のファイルがアクセス不可ならば、データ自身にはアクセスできません。例えば、オペレータのカンパニコードが「AA」、表が「AA」の時、データの実体であるファイルのカンパニコードが「BB」だとしたら、データにアクセスすることはできません。ファイルのカンパニコードが、「AA」かグローバルカンパニ(カンパニコードなし)のどちらかである必要があります。
- グローバル表
- (4)RDB/EUFIIなどのエンドユーザ用アプリケーションがそれぞれ持つ追加の機密保護
-
アプリケーション側でそれぞれ独自の機密保護機能を持っていますが、これらは、今回は割愛します。