JP1 ユーザ権限でのユニットアクセス制限(Linux)

JP1のユニット(ジョブネット、ジョブネットグループ)ごとでJP1ユーザにアクセス制御してインシデントを事前に防ぎます。
P1では組織単位でアクセス制御するなら「資源グループ」単位で行うのが効率的なようなので、下表のようにアクセス制限を設計しました。許可された資源グループ以外はアクセスできない設定になります。
JP1マネージャ、JP1エージェントともRHEL9を使用しています。尚、サーバ等の環境は以下の情報を引きついております。https://nets-tip.com/?p=3893

ユーザ名許可する資源グループ
jp1user01shigen01
jp1user02shigen02
jp1user03shigen03
jp1user04shigen04
jp1user05shigen05

JP1ユーザの作成
JP1ユーザの作成はJP1マネージャとで実施します
コマンドは以下の通り
/opt/jp1base/bin/jbsadduser <JP1ユーザ名>
ユーザ作成後にパスワード設定します
JP1ユーザ作成

ローカルアカウントをJP1ユーザに登録する
JP1マネージャとJP1クライアントの両方に必須です
OSのRHELアカウントがuserの場合は以下の通りです
/opt/jp1base/bin/jbsadduser -p <userのパスワード> user
参考:)JP1ユーザの一覧を確認するコマンド
/opt/jp1base/bin/jbslistuser

ユーザマッピングの設定
こちらもJP1マネージャとJP1クライアントの両方に必須です
JP1ユーザ(jp1user01)をOSアカウント(user)にマッピング(紐づける)コマンドは以下の通りです
/opt/jp1base/bin/jbssetumap -u <JP1ユーザ> -sha -o <OSアカウント>
/opt/jp1base/bin/jbssetumap -u jp1user01 -sha -o user
※JP1アカウント=OSアカウントとすることももちろん可能ですが、ここではjp1user01~jp1user05をすべてuserにマッピングします。OSアカウントのアクセス権がJP1で実行されるジョブに登録するパッチやスクリプトの権限になりますので(userのアクセス件がないディレクトリやファイルは当然エラーになります)、必要であればより細かい割り当てになります(セキュリティの課題)。
参考:)JP1ユーザのマッピング一覧を確認するコマンド
/opt/jp1base/bin/jbsgetumap

権限レベルの設定
JP1マネージャサーバで必要になります
下記のコマンドでJP1_UserLevelファイルJP1ユーザの権限を記載して付与します
vi /etc/opt/jp1base/conf/user_acl/JP1_UserLevel
今回は以下の5行を追記しました
jp1user01:shigen01=JP1_AJS_Manager,JP1_JPQ_Operator
jp1user02:shigen02=JP1_AJS_Manager,JP1_JPQ_Operator
jp1user03:shigen03=JP1_AJS_Manager,JP1_JPQ_Operator
jp1user04:shigen04=JP1_AJS_Manager,JP1_JPQ_Operator
jp1user05:shigen05=JP1_AJS_Manager,JP1_JPQ_Operator
※jp1user01はshigen01のユニットにP1_AJS_Manager,JP1_JPQ_Operatorの権限を付与する(その他のアクセス権は無)

ちなみに複数の資源グループにアクセスしたい場合は以下の通り”:”で区切ります。
jp1user01:shigen01:shigen02=JP1_AJS_Manager,JP1_JPQ_Operator

JP1アクセス権限一覧表

ジョブネット定義・実行時のアクセス権限内容
JP1_AJS_Admin管理者権限。ユニットの所有者や資源グループの操作権限、ジョブネットの定義・実行・編集権限を持つ
JP1_AJS_Managerジョブネットの定義・実行・編集権限を持つ
JP1_AJS_Editorジョブネットの定義・編集権限を持つ
JP1_AJS_Operatorジョブネットの実行・参照権限を持つ
JP1_AJS_Guestジョブネットの参照権限を持つ
ジョブの実行・操作時のアクセス権限内容
JP1_JPQ_Admin管理者権限。ジョブ実行環境の設定権限、キューやジョブ実行先エージェントの操作権限、他ユーザーがキューイングしたジョブの操作権限を持つ
JP1_JPQ_Operatorキューやジョブ実行先エージェントの操作権限、他ユーザーがキューイングしたジョブの操作権限を持つ
JP1_JPQ_Userサブミットジョブの登録や、自分がキューイングしたジョブの操作権限を持つ
エージェント管理情報のアクセス権限内容
JP1_JPQ_Admin管理者権限。実行エージェントや実行エージェントグループの定義を追加・変更・削除する権限を持つ
JP1_JPQ_Operator実行エージェントや実行エージェントグループの受付配信制限の状態を変更する権限を持つ
JP1_JPQ_User実行エージェントや実行エージェントグループの状態および定義内容を参照する権限を持つ
アカウントの再読み込み
ユーザ設定を変更したサーバで以下のコマンドを実行してJP1関連のユーザ情報を再読み込みさせます
/opt/jp1base/bin/jbsaclreload

jp1user01でのサンプルジョブグループの作成
JP1 Viewにjp1user01でログインしてジョブグループ、ジョブネットを作成します。
「資源グループ」以外は以下のURLでサンプルジョブを作成していますのでご参考ください。
https://nets-tip.com/?p=3893

アクセス権のある「資源グループ」を入力します

とりあえず、ジョブグループのJP1資源グループを登録すればOK

JP1Viewにjp1user02にログインして「shigen01-jobgrp」にアクセスすると権限がないと表示されます


ジョブネットの実行までは記載しておりませんが、上記の設定で問題なくサンプルジョブは動作しております。
ご参考まで

関連記事

TOP