ジョブフローを運用していると、例えば
- オペレーターの人にジョブフローの実行はさせたいが、変更して欲しくない。
- ジョブフローの中にシステムに関する情報があるので、中身を見せたくない。
などの、権限設定を行いたい場合が出てきます。本稿では、このようなジョブフローの権限設定にまつわる機能をご紹介します。
※ 本稿は Kompira Enterprise 1.6系に準拠した画像を用いています。
動作確認環境
本稿は、以下の環境で検証しています。
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.5.5.post7 |
OS | CentOS 7.7.1908 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.2.post4 |
OS | CentOS 8.2.2004 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.8 |
OS | CentOS Stream 8 |
Kompira Enterprise のユーザー追加
まずは、Kompira Enterprise のユーザー作成の方法からご紹介します。管理者権限を持つアカウントでログイン後、画面上部の「設定 > ユーザー管理」を選択すると、登録されている「ユーザー一覧」画面が表示されます。
ここの一番下の行に、任意の名称を追加し、一番右の「新規作成」ボタンをクリックします。
ここでユーザーに関する情報を登録して「保存」をクリックします。最低限、パスワードの指定は必要です。
これでユーザーが追加されました。詳細設定のために右の「アクション > 編集」をクリックしてください。
※以下の画像は Kompira Enterprise バージョン 1.6.8 時点のものです。他のバージョンでは項目が異なることがあります
それぞれの項目は以下のような意味を持ちます。
フィールド | 説明 |
---|---|
ユーザー名 | ログインの際に必要な ID 名称です。 |
姓・名 | 「ユーザー名」を実際に利用される方の氏名を記入してください。 |
Eメールアドレス | 「ユーザー名」を実際に利用される方のアドレスを記入してください。 |
パスワード | ログインの際のパスワード |
グループ | ユーザーの属するグループを任意で選択します。(「グループ」はユーザー同様、「設定 > グループ管理」画面にて管理します。) |
有効 | このユーザーに Kompira Enterprise の操作を許可するかを表すフラグです。このチェックをオフにするとログインを許可しません。 |
LDAPユーザー | LDAPサーバで管理しているユーザアカウントであるかを表すフラグです。 |
ホーム | このユーザーのホームディレクトリを指定します。(通常は /home/ユーザー名) |
環境変数 | ジョブフロー実行時に、自動的に変数として読み込まれる環境変数オブジェクト |
REST API 有効化 | API の利用可否を示すフラグです。利用する場合には ON にします。 |
必要に応じて、上記のパラメータを変更してください。
オブジェクトのプロパティ
オブジェクト名を右クリックすると以下のようなプルダウンが表示されます。この一番下の「プロパティ」をクリックします。
次のようなプロパティ画面が表示されます。
Kompira Enterprise は、Unix/Linux を模した管理権限を持ちます。「ユーザーパーミッション」の「ユーザー」欄に権限付与/変更したいユーザーを指定し、右側のチェックボックスを ON/OFF します。
読み取り | 指定のユーザーにジョブフローの閲覧を許可します。許可のないジョブフローにアクセスすると「閲覧が許可されていないページです。」というエラーメッセージが表示されます。 |
書き込み | このチェックを指定すると指定のユーザーは「編集」を選択できるようになり、ジョブフローを変更する事が出来ます。 |
実行 | このチェックを指定すると指定のユーザーは「実行」を選択できるようになり、ジョブフローの実行が出来ます。 |
画面の「ユーザーパーミッション」の下に「グループパーミッション」の欄があります。こちらも「ユーザーパーミッション」と同様に設定可能ですが、権限付与の対象がグループに属するユーザー全員という点で「ユーザーパーミッション」と異なります。
「読み取り」させたくないが「実行」させたいジョブフローを指定する
前述の権限設定にて、「実行」を ON 、「読み取り」を OFF にすると目的を達成できそうです。しかし、現実的にはジョブフローにアクセスしようとすると「閲覧が許可されていないページです」というエラーが発生するため、扱いにくいという問題があります。
このような場合には「フォーム」画面を用意します。
まずは前準備として、以下のように、/root/サンプルジョブフロー というジョブフローの「プロパティ > ユーザーパーミッション」を編集し、ユーザー test に対して実行権限だけを付与します。
その後、ユーザー test で Kompira Enterprise にログインし直します。
次に、以下のように /home/test の下に「テストフォーム」という名前のフォーム型オブジェクトを作成します。
テストフォームの設定画面では、以下のように「提出オブジェクト」のプルダウンから「サンプルジョブフロー」を指定し保存をクリックします。
次のようなフォーム型オブジェクトが作成されます。
ここで「サンプルジョブフロー」のリンクをクリックすると以下のような「読み取り不可」エラーが表示されますが、「実行」ボタンはクリックすることができ、ジョブフローが起動されます。
このようにして、フォームを経由する事でジョブフローの中身は見せずに、実行だけを許可する仕組みを作る事が出来ます。また、このフォームのプロパティからの権限を設定する事でジョブフローを実行できる人を選択する事も出来ます。
ここでは深入りしませんが、パラメータ/引数を取るジョブフローに対しては、フォームからオペレーターが値を入力してジョブフローに渡して実行させることも可能です。
さて、いかがでしたでしょうか? Kompira Enterprise の権限設定の考え方は先に述べたように Unix/Linux を模して作成されているため、ジョブフローの他にもディレクトリにも権限設定する事ができ、指定のディレクトリ以下のアクセスを許可/禁止する事も可能です。
皆様もぜひ権限設定をうまく利用して、セキュアな自動化環境を構築してみてください。