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

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

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

JP1マネージャサーバでの設定

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

JP1エージェント(Windows)での設定
予めWindwosユーザとしてuserを作成しておくこと。
JP1_Base_Setupを起動
「認証サーバ」タブ→「追加」→JP1ユーザとパスワードの入力(パスワードはマネージャで作成したときと同じパスワード)
「ユーザマッピング」→「設定」→「新規登録」を選択
Windowsのアカウント「user」とパスワードを入力(アカウント作成時と同じパスワード)

「ユーザマッピング」→「追加」からJP1ユーザとサーバホスト名を入力(*)で問題ない

前のウィンドウで「OK」後にどのWindowsアカウントとJP1ユーザを紐づけるか聞いてくるので、userを選択するして「追加」→「OK」で終了

ジョブネットグループの作成とアクセス制御の確認
https://nets-tip.com/?p=4034を参考にして以下のパラメータでジョブネットグループを作成します
とにかく「jp1資源グループ」の記載を忘れない&間違えないこと

JP1Viewにjp1user02でログインしてshigen01-jobgrp-winにアクセスしようとすると権限がない旨のエラーが発生


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

関連記事

TOP