実行環境

112. 機密保護の重要性(4)

次に重要な機密保護の項目は特殊権限である。
ユーザー・クラスを*USERとして作成して権限を制約したとしても、
かなりの特殊権限を与えてしまえば、これもやはり機密保護の脆弱性を
与えてしまうことになるので注意を要したい。

*USER
すべてのオブジェクトに関する操作を行う権限*ALLOBJがあると、
QSECURITY = 30以上でオブジェクト毎に*PUBLIC*EXCLUDEのようにして一般のユーザーからはアクセスできないようにしていても、*ALLOBJ権限を与えてしまうとオブジェクト・レベルの排他は役に立たなくなってしまう。
*IOSYSCFG
装置を作成できる権限
*JOBCTL
CHGJOB などのジョブ実行属性を変更できる権限、最初に実行する CLP などで CHGJOB を使って OUTQ などを設定することがあるが*JOBCTL権限が必要である。
*SAVSYS
QSYS のバックアップやコピーできる権限
*SECADM
ユーザー・プロフィールの作成権限
*SPLCTL
スプールの処理権限。誤解されているのはスプールを見るのにこの権限が必要なのではない。
自分が作成したスプールを参照するのは*SPLCTLがなくても可能である。
しかし*SPLCTLがないと他のユーザーが作成したスプールは参照することはできない。
従って*USER*SPLCTL権限をうかつに与えてしまうと*USERでもスプールにある給与明細表や決算書を見れてしまうことになる。
IBM Knowledge Center ではこのことについての解説がされていないのでここに注意として記載した。
つまり、*USERに特殊権限*SPLCTLは与えないほうがよいのである。

上記以外にも特殊権限として*AUDIT,*SERVICEなどがあるが、
下記のサイトを参考にして欲しい。
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/rzarl/rzarlseclvl.htm

 

最後に非常にわかりにくい I5/OS のメッセージについて解説する。

CRTUSRPRF(ユーザー・プロフィールの作成)コマンドを使って、
ユーザー・プロフィールを作成するときに特殊権限を追加して作成することは
珍しくないというか一般的なことである。

[例]
 CRTUSRPRF USRPRF(CTR) SPCAUT(*ALLOBJ *JOBCTL) AUT(*ALL)         

ユーザー・クラスおよび特殊権限がシステム提供値と一致していない
ユーザー・プロファイル CTR が作成された。

このように作成するがところで「ユーザー・クラスおよび特殊権限が、
システム提供値と一致していない」というメッセージはなんだろう?
これはユーザー・クラス (*USER) のユーザーを作成しているのに
*ALLOBJ*JOBCTLという特殊権限が追加されて本来の*USERからは
オーバーしている、という警告メッセージというか、
お決まりのメッセージなのであるが、このメッセージを初めて見る人にとっては、
驚いて何か不都合なエラーを生じてしまったのではないかと心配してしまうが
そうではない。
全く当然のメッセージであって何の心配も要らないのだが、
このわかりにくいメッセージは操作する人を不安にするのに十分な
印象を与えてしまうのであえて紹介したような次第である。