メニューボタン
サポートチーム便り2021.04.14

ユーザープロファイルに権限を与えずにプログラム実行などの処理を行う方法 - 借用権限について -

Question

過去の記事にコマンドのアクセス件を付与するという内容がありました。

SAVOBJコマンドへのアクセス権を付与する
https://www.e-bellnet.com/category/technology/1107/1107-412.html

今回はコマンドではなく、プログラムの処理ですが、処理中に*IOSYSCFGと*ALLOBJの権限が無いと実行できません。

担当のユーザープロファイルに特殊権限の*IOSYSCFGと*ALLOBJを付与することなく、プログラムを処理させることはできますでしょうか。

Answer

CLプログラムの中でコマンドを記載していくと思いますが、どのコマンドの場合に特殊権限が必要なのかはIBM Docsに記載がありますので、参考にしてください。

バージョン 7.4 セキュリティー 機密保護解説書
https://www.ibm.com/docs/ja/ssw_ibm_i_74/rzarl/sc415302.pdf?view=kc

上記資料にWRKDEVDの記載がありましたので、今回のサンプルとして使用してみます。

スクリーンショット

このCLプログラムをそのまま、コンパイルして特殊権限の無いユーザープロファイルで処理を実行させ、実際にオプション2で変更をしようとすると、

スクリーンショット スクリーンショット

このようにエラーとなってしまいます。

そこで、以下のようにCHGPGMでユーザープロファイルパラメタを*USERから*OWNERに変更します。

注意点としては、プログラムをコンパイルする時に必要な特殊権限を持ったユーザープロファイルで行わなければなりません。

スクリーンショット

そうすると、特殊権限の無いユーザーでもプログラムで処理することができるようになります。

また、誰でもこのプログラムが使えてしまうと困る場合は PGMの使用権限で制御するのも良いと思います。

その場合は、EDTOBJAUTで対象のプログラムの*PUBLICは*EXCLUDEにして、F6を押して、使用させたいユーザーに対して*USEを追加してみてください。

厳しい監査のお兄さん達に、「なぜこのユーザーは*ALLOBJの特殊権限が付与されているんですか?」等と詰問されないように、特殊権限を外し、借用権限で対応するのも一つの考えです。

by けやきのじぃじ

あわせて読みたい記事

PAGE TOP