3.機密保護
- (1)機密コード
-
システムの機密保護を実現するために、A−VXシステムには、機密コードと呼ばれるものがあります。オペレータの機密コードとプログラム/ファイルの機密コードを照合して、プログラム起動時やファイルアクセス時にそれらの操作が許されているかどうかをチェックすることができます。
前述したように、機密コードはオペレータ、プログラム、ファイル、DB表に割り当てることができます。
機密コードは、各々2文字から成っており、第1文字がアプリケーション領域、第2文字がアクセスレベルを表します。
アプリケーション領域は、英字1文字で表され、機密コードを割り当てた”もの”のグループ分けをするためのものです。
例えば、財務管理という業務があったとします。この財務管理業務に「F」というアプリケーション領域を割り当てるとします。このアプリケーション領域「F」に財務管理業務を行うオペレータやプログラム、財務管理業務で使用されるデータの入ったファイルやDB表といったものをまとめます。
英字1文字なので理論上最大26種類のアプリケーション領域を使えるはずですが、実際は一部の英字(W,X,Y,Z)が特殊用途として予約されており、自由に使用できるのはA〜Vまでの22文字まで(つまり22種類のアプリケーション領域が作れる)となります。アクセスレベルは、0〜9までの数字で表され、同一アプリケーション領域内のアクセス権限のレベルを示すためのものです。数字が大きくなるほどオペレータのアクセスレベルは高くなります。例えば、2人のオペレータがおり、それぞれ「F9」と「F5」を割り当てられているとします。「F9」のオペレータは、「F0」から「F9」までの全アクセスレベルのファイルを利用することができます。一方「F5」のオペレータは、「F0」から「F5」までの属性を持つファイルしか利用することができません。
機密コードには「Z9」という特殊コード(マスタコード)があります。「Z9」を割り当てられたオペレータは、システム上の全てのプログラムとファイル、DB表を利用することができます。通常、サーバ管理者などのオペレータに「Z9」を割り当てます。
OCF機能を使用しないシステムやOCF機能を使用しても機密保護を行わないシステムでは、「Z9」が割り当てられたものとして取り扱われます。
オペレータにはカンパニ毎に最大10個までの機密コードを割り当てることができます。例えばAさんは財務管理「F」と販売管理「S」、Bさんは財務管理「F」と人事管理「P」というように割り当てることができます。
プログラム、ファイル、DB表には、最大1個の機密コードを割り当てることができます。機密コードを割り当てないこともできます。割り当てない場合は、プログラムは誰でも実行可能、ファイルは誰でもオープン可能・・、となります。
プログラムとファイルでは、プログラムの機密コードが優先されます。場合によってはファイルに付けた機密コードが無効になってしまうので、この優先順は要注意です。
- (2)プログラム起動時の機密保護
-
プログラム(アプリケーション)起動時に、オペレータの機密コードとアプリケーションの機密コードを比較して、機密コードが適合しない場合は起動できないようにする機能です。プログラム起動時の機密保護を割り当てることができるのはLMだけです。JSとPMには機密保護を割り当てることはできません。
- アプリケーション領域がA〜Vまでの間のオペレータとプログラム
-
オペレータは、アプリケーション領域が同じプログラムしか起動できません。
オペレータ プログラム 起動可否 A ----→ A 可能 A ----→ B 否 A ----→ C 否 B ----→ A 否 B ----→ B 可能
オペレータは、アクセスレベルが等しいかレベルの低いプログラムしか起動できません。
オペレータ プログラム 起動可否 5 ----→ 5 可能 5 ----→ 3 可能 5 ----→ 9 否 2 ----→ 5 否 9 ----→ 5 可能
組み合わせると以下になります。機密コードのないプログラムは誰でも起動できます。
オペレータ プログラム 起動可否 A5 ----→ A5 可能 A5 ----→ A3 可能 A5 ----→ A9 否 B5 ----→ A5 否 B5 ----→ A3 否 B5 ----→ A9 否 A5 ----→ コードなし 可能 B5 ----→ コードなし 可能
オペレータが複数の機密コードを持っている場合は、その中の機密コードのうち1個でも起動可能な組み合わせがあれば、プログラムは起動できます。
下の図のように、あるオペレータが6個(A5,B1,K2,I7,C8,M5)の機密コードを持っているとします。このオペレータは機密コードC7のプログラムは(C8という機密コードを持っているので)起動できますが、K5やN9の機密コードを持つプログラムは起動できません。
オペレータ プログラム 起動可否 A5 B1 K2 I7 C8 M5 ----→
----→
----→C7
K5
N9可能
否
否 - アプリケーション領域がZのオペレータ
-
Zは全てのアプリケーション領域のプログラムを起動することができます。アクセスレベルの影響は受けます。
特にZ9は特殊コードで、Z9を割り当てられたオペレータは全てのプログラムを起動することができます。
オペレータ プログラム 起動可否 Z9 ----→ A5 可能 Z9 ----→ A9 可能 Z9 ----→ B5 可能 Z9 ----→ コードなし 可能 Z5 ----→ A5 可能 Z3 ----→ A5 否 Z3 ----→ コードなし 可能
Z9を割り当てられたオペレータは、Z9の機密コードで必ずどんなプログラムでも実行できるので、、他の(A5、B3などの)機密コードを複数割り当ててもあまり意味を持ちません。
- アプリケーション領域がWのオペレータとプログラム
-
オペレータにはWを割り当てることができません。
システムを運用管理するのに必要なプログラムには、Wを割り当てます。オペレータコントロールファイル保守ユーティリティ(#OCFM)などには、あらかじめWが割り当てられています。
Zを割り当てられたオペレータのみが、Wを割り当てられたプログラムを起動できます。AやBなどの一般のオペレータは起動できません。
通常、管理者だけが使用したいプログラムにWを割り当てます。
オペレータ プログラム 起動可否 A5 ----→ W5 否 A5 ----→ W3 否 A5 ----→ W9 否 B9 ----→ W5 否 Z9 ----→ W9 可能 Z9 ----→ W5 可能 Z3 ----→ W5 否 Wを割り当てられたプログラムを起動した場合は、ファイルの機密保護はチェックされません。つまり一旦プログラムの起動に成功しさえすれば、どんな機密コードのファイルでもアクセスできることになります。
- アプリケーション領域がXのオペレータとプログラム
-
Xを割り当てられたオペレータは、同じアプリケーション領域のプログラムを起動することができます。Xを割り当てられたプログラムは、ZかXを割り当てられたオペレータのみ起動できます。ただしアクセスレベルの影響は受けます。
一般的にはシステムを開発するのに必要なプログラムにはXを割り当て、プログラム開発者にXを割り当てます。
オペレータ プログラム 起動可否 A5 ----→ X5 否 A7 ----→ X3 否 X5 ----→ A9 否 X9 ----→ A5 否 X5 ----→ A5 否 X5 ----→ X9 否 X9 ----→ X5 可能 X5 ----→ W5 否 X9 ----→ 機密コードなし 可能 Z9 ----→ X9 可能 Z9 ----→ X5 可能 Z3 ----→ X5 否 Xはファイルの機密保護のチェックが行われます。ファイルの機密保護のチェックを含んだ説明は、後ほど行います。
- アプリケーション領域がYのオペレータとプログラム
-
Yを割り当てられたオペレータは、同じアプリケーション領域のプログラムを起動することができます。Yを割り当てられたプログラムは、ZかYを割り当てられたオペレータのみ起動できます。アクセスレベルの影響を受けます。
オペレータ プログラム 起動可否 A5 ----→ Y5 否 A7 ----→ Y3 否 Y5 ----→ Y9 否 Y9 ----→ A5 否 Y5 ----→ A9 否 Y9 ----→ Y5 可能 Y9 ----→ X5 否 X5 ----→ Y5 否 Y9 ----→ W5 否 Y9 ----→ 機密コードなし 可能 Z9 ----→ Y9 可能 Z9 ----→ Y5 可能 Z3 ----→ Y5 否 ファイルの機密保護のチェックが行われ、XとYではファイルの機密保護のチェック方法が異なります。ファイルの機密保護のチェックを含んだ説明は後ほど行います。
- (3)ファイルオープン時の機密保護
-
ファイルオープン時に、オペレータの機密コードとファイルの機密コードを比較して、機密コードが適合しない場合はオープンできないようにする機能です。
- アプリケーション領域がA〜Vまでの間のオペレータとプログラムとファイル
-
オペレータとファイルの機密保護の関係は、オペレータとプログラムの関係と基本的に同じです。オペレータは、アプリケーション領域が同じファイルしか起動できません。またオペレータは、アクセスレベルが等しいかレベルの低いファイルしかオープンできません。
ここで注意しなければならないのは、ファイルの機密保護よりもプログラムの機密保護の方が優先されることです。アプリケーション領域がA〜Vまでの間のプログラムの機密保護により起動されたプログラムは、ファイルの機密保護のチェックを行いません。
オペレータ プログラム 起動可否 ファイル オープン可否 備 考 A5 --→ A5 可能 --→ A5 可能 A9 --→ A5 可能 --→ A3 可能 A5 --→ A5 可能 --→ A9 可能 PSC優先のためFSCのAL無視でオープン可能 A5 --→ A5 可能 --→ B2 可能 PSC優先のためFSCのAA無視でオープン可能 A5 --→ A9 否 PSCのチェックで起動不可 B5 --→ A5 否 PSCのチェックで起動不可 A5 --→ コードなし 可能 --→ A5 可能 A5 --→ コードなし 可能 --→ A3 可能 A5 --→ コードなし 可能 --→ コードなし 可能 A5 --→ コードなし 可能 --→ A9 否 PSCがないのでFSCのチェックしオープン不可 A5 --→ コードなし 可能 --→ B3 否 PSCがないのでFSCのチェックしオープン不可 OSC・・・ オペレータの機密保護 PSC・・・プログラムの機密保護 FSC・・・ファイルの機密保護
AA・・・アプリケーション領域 AL・・・アクセスレベルファイルの機密保護を有効にするには、プログラムの機密保護を行わないか、プログラムの機密保護にX,Yを割り当てるしかありません。
- アプリケーション領域がZのオペレータとプログラムとファイル
-
ファイルにはZを割り当てることはできません。
アプリケーション領域がZのオペレータがファイルをオープンする場合、ファイルの機密保護のアクセスレベルのみチェックします。
Zのオペレータは、プログラム/ファイルともに、アプリケーション領域の内容は何であっても無視し、アクセスレベルのみチェックするということになります。(プログラムの機密保護がWの場合を除く)
オペレータ プログラム 起動可否 ファイル オープン可否 備 考 Z8 --→ A8 可能 --→ A8 可能 Z5 --→ A5 可能 --→ B5 可能 'Z'のOSCを持つオペレータはFSCのALだけチェックする。この場合PSCとFSCとのAAは関係なし Z7 --→ A5 可能 --→ A6 可能 この場合PSCとFSCとのALは関係なし Z5 --→ A5 否 PSCのALのチェックで起動不可 Z5 --→ A5 可能 --→ A7 否 FSCのALのチェックでオープン不可 OSC・・・ オペレータの機密保護 PSC・・・プログラムの機密保護 FSC・・・ファイルの機密保護
AA・・・アプリケーション領域 AL・・・アクセスレベル - アプリケーション領域がWのオペレータとプログラムとファイル
-
オペレータにもファイルにもWを割り当てることはできません。プログラムだけです。
アプリケーション領域がWのプログラムは、ファイルの機密コードを無視します。Wのプログラムは、Zが割り当てられたオペレータしか起動できないので、以下の図のような関係になります。
オペレータ プログラム 起動可否 ファイル オープン可否 備 考 Z5 --→ W5 可能 --→ A5 可能 PSCのAAが'W'ならFSCが何でも関係なくオープン可能 Z5 --→ W5 可能 --→ B8 可能 ALも関係なし A5 --→ W5 否 PSCのチェックで起動不可 B8 --→ W5 否 PSCのチェックで起動不可 OSC・・・ オペレータの機密保護 PSC・・・プログラムの機密保護 FSC・・・ファイルの機密保護
AA・・・アプリケーション領域 AL・・・アクセスレベル
- アプリケーション領域がXのオペレータとプログラムとファイル
-
Xを割り当てたプログラムは、XかZのオペレータしか起動することはできません。
オペレータがXのプログラムを起動した後は、ファイルのオープン時にアクセスレベルのチェックだけ行います。ファイルの機密コードのアプリケーション領域の内容は無視されます。
オペレータ プログラム 起動可否 ファイル オープン可否 備 考 Z5 --→ X5 可能 --→ A5 可能 Z5 --→ X5 可能 --→ B3 可能 Z5 --→ X5 可能 --→ X5 可能 Z8 --→ X5 可能 --→ X3 可能 Z5 --→ X5 可能 --→ X8 否 'Z'のOSCを持つオペレータはFSCのALだけチェックする Z5 --→ X5 可能 --→ A8 否 'Z'のOSCを持つオペレータはFSCのALだけチェックする Z5 --→ A5 可能 --→ X5 可能 'Z'のOSCを持つオペレータはFSCのALだけチェックする。この場合PSCとFSCとのAAは関係なし Z5 --→ X6 否 PSCのチェックで起動不可 X5 --→ X6 否 PSCのチェックで起動不可 A5 --→ X5 否 PSCのチェックで起動不可 X5 --→ X5 可能 --→ A5 可能 PSCのAAが'X'ならFSCのALだけチェック X5 --→ X5 可能 --→ B3 可能 PSCのAAが'X'ならFSCのALだけチェック X5 --→ X5 可能 --→ X5 可能 PSCのAAが'X'ならFSCのALだけチェック X5 --→ X5 可能 --→ X8 否 PSCのAAが'X'ならFSCのALだけチェック X5 --→ X5 可能 --→ A8 否 PSCのAAが'X'ならFSCのALだけチェック Z5 --→ X5 可能 --→ A5 可能 PSCのAAが'X'ならFSCのALだけチェック Z5 --→ X5 可能 --→ A8 否 PSCのAAが'X'ならFSCのALだけチェック Z5 --→ W5 可能 --→ B8 可能 ALも関係なし A5 --→ W5 否 PSCのチェックで起動不可 B8 --→ W5 否 PSCのチェックで起動不可 PSC・・・プログラムの機密保護 FSC・・・ファイルの機密保護
AA・・・アプリケーション領域 AL・・・アクセスレベル
- (4)DDFを経由したファイルオープン時の機密保護
-
SMARTIIEXなどのユーティリティには、データディクショナリファイル(DDF)を使って、ファイルオープン時の機密保護の機能を拡張しているものがあります。これらのユーティリティでは、上記(3)の機密保護に加えて、レコードに対する使用権/更新権などの機密保護が加わります。