はじめに
IBM i 7.6では、セキュリティ機能が大幅に強化されました。その中でも「Function Usage」によるアクセス制御は、ユーザー権限の細分化と不正アクセス防止に非常に有効な手段です。本記事では、IBM i 7.6で新たに追加・強化されたFunction Usage IDについて、公式資料に基づいて紹介します。
Function Usageとは?
Function Usageは、IBM i上の特定機能(コマンド、API、SQLサービスなど)に対して、ユーザー単位でアクセス制御を行う仕組みです。従来の「*ALLOBJ」や「*SECADM」などの特殊権限に加えて、より細かい制御が可能になります。
今回の資料で説明する環境概要について
記事の中で使用する環境については下記になります。
ユーザーについてはSECOFR権限を持つIMAOとユーザー権限のみでその他の権限を所持しないIMAOUSERという2つのユーザーを使用します。環境についてはIBM i 7.6 の環境を利用します。
OSバージョン:IBM i 7.6
ユーザー:
IMAO(SECOFR権限)
IMAOUSER(USER権限)
IBM i 7.6で追加されたFunction Usage ID
QIBM_RUN_UNDER_USER_NO_AUTH
概要
このFunction Usage IDは、他ユーザーの権限でジョブを実行すること(いわゆる「なりすまし」)を防止するためのものです。
設定例
下記のコマンドを使用してSECOFR権限を所持しないユーザーのジョブを実行できないように設定します。
(注意)下記のコマンドを使用する際には*SECADM特殊権限が必要です。
CHGFCNUSG FCNID(QIBM_RUN_UNDER_USER_NO_AUTH) USER(IMAOUSER) USAGE(*DENIED)
この設定により、他のユーザーが IMAOUSER プロファイルでジョブを実行することができなくなります。
試しにIMAOUSERのライブラリーをユーザーIMAOから参照してみましょう。
下記のコマンドを使用して参照しました。
SBMJOB CMD(DSPLIBL) USER(IMAOUSER)

拒否されました。このようにSECOFR権限を持つユーザーが実行しても他のユーザーのジョブを実行できないように設定することが可能です。
また、ユーザーのジョブを実行可能にする場合は下記のコマンドを使用して利用することができます。
CHGFCNUSG FCNID(QIBM_RUN_UNDER_USER_NO_AUTH) USER(IMAOUSER) USAGE(*ALLOWED)
監査ログとの連携
CHGUSRAUD USRPRF(IMAOUSER) AUDLVL(*AUTWARN)
この設定により、Function Usageによる拒否のログが監査ログに記録されます。
QIBM_IOSYSCFG_VIEW
概要
*IOSYSCFG 権限が必要なコマンドやAPIに対して、表示のみを許可するFunction Usage IDです。
設定例
IMAOUSERを使用してユーザー権限でもシステム設定を確認できるように下記のコマンドで設定します。
CHGFCNUSG FCNID(QIBM_IOSYSCFG_VIEW) USER(IMAOUSER) USAGE(*ALLOWED)

IBM i 区画のIPの構成情報を確認することができました。
オプションは5番の表示のみで編集を行うことはできません。

*IOSYSCFG 権限を持つユーザーに対してQIBM_IOSYSCFG_VIEWを *DENIED にすることで構成情報を参照できないようにできるか確認してみます。
CHGFCNUSG FCNID(QIBM_IOSYSCFG_VIEW) USER(IMAO) USAGE(*DENIED)
TCP/IPインターフェース情報を確認してみます。

こちらからは*IOSYSCFG 権限をすでに持つ場合は従来通りに参照・編集ができそうです。
QIBM_QZLS_NETSVR_SHARE
概要
IBM i 7.6 において、IBM i NetServer 共有の作成、変更、または削除を行うには追加の権限が必要です。*IOSYSCFG 特殊権限を持たないユーザーで、これまでオブジェクト所有権によりこれらの操作を実行できたユーザーは、共有定義を変更するために QIBM_QZLS_NETSVR_SHARE の許可が必要になります。
まとめ
IBM i 7.6では、Function Usageによるアクセス制御がさらに強化され、より安全で柔軟な運用が可能になりました。従来の特殊権限管理に加えて、Function Usageを活用することで、セキュリティポリシーの実装がより精緻に行えます。