column 運用自動化コラム
Kompiraの機能 ジョブフローに権限設定をする
ジョブフローを運用していると、例えば
- オペレーターの人にジョブフローの実行はさせたいが、変更して欲しくない。
- ジョブフローの中にシステムに関する情報があるので、中身を見せたくない。
などの、権限設定を行いたい場合が出てきます。今回の記事はこのようなジョブフローの権限設定にまつわる機能をご紹介します。
Kompiraのユーザー追加
まずは、Kompiraのユーザー作成の方法からご紹介します。管理者権限を持つアカウントでログイン後、画面上部の「設定>ユーザー管理」を選択すると、登録されている「ユーザー一覧」画面が表示されます。
ここの一番下の行に、名称を追加し、一番右の「新規作成」ボタンをクリックします。
ここでユーザーに関する情報を登録して「保存」をクリックします。最低限、パスワードの指定は必要です。
これでユーザーが追加されました。詳細設定のために右の「操作>編集」をクリックしてください。
それぞれの項目は以下のような意味を持ちます。
フィールド | 説明 |
---|---|
ユーザー名 | ログインの際に必要なID名称です。 |
姓・名 | 「ユーザー名」を実際に使う方の氏名を記入してください。 |
メールアドレス | 「ユーザー名」を実際に使う方のアドレスを記入してください。 |
パスワード | ログインの際のパスワード |
グループ | ユーザーの属するグループを任意で選択します。(「グループ」はユーザー同様、「設定>グループ管理」画面にて管理します。) |
有効 | このユーザーにKompiraの操作を許可するかを表すフラグです。このチェックをオフにするとログインを許可しません。 |
ホーム | このユーザーのホームディレクトリを指定します。(通常は /home/ユーザー名) |
環境変数 | ジョブフロー実行時に、自動的に変数として読み込まれる環境変数オブジェクト |
REST API 有効化 | APIの利用可否を示すフラグです。利用する場合にはONにします。 |
必要に応じて、上記のパラメータを変更してください。
オブジェクトのプロパティ
オブジェクト名を右クリックすると以下の様なプルダウンが表示されます。この一番下の「プロパティ」をクリックします。
次のようなプロパティ画面が表示されます。
Kompiraでは、Unix/Linuxと似た管理権限を持ちます。「ユーザーパーミッション」の「ユーザー」欄に権限付与/変更したいユーザーを指定し、右側のチェックボックスをON/OFFします。
読み取り | 指定のユーザーにジョブフローの閲覧を許可します。許可のないジョブフローにアクセスすると「閲覧が許可されていないページです。」というエラーメッセージが表示されます。 |
書き込み | このチェックを指定すると指定のユーザーは「編集」を選択できるようになり、ジョブフローを変更する事が出来ます。 |
実行 | このチェックを指定すると指定のユーザーは「実行」を選択できるようになり、ジョブフローの実行が出来ます。 |
画面の「ユーザーパーミッション」の下に「グループパーミッション」の欄があります。こちらも同様に設定をしますが、対象がグループに属するユーザー全員に権限付与を行います。
「読み取り」させたくないが「実行」させたいジョブフローを指定する
上記の権限設定にて、「実行」をON、「読み取り」をOFFにすると目的を達成できそうですが、現実的にはジョブフローにアクセスしようとすると「許可されていないページです」エラーが発生するため扱いにくいという問題があります。
このような場合には「フォーム」画面を用意します。
まずは前準備として、/root/ユーザーパーミッション というジョブフローの「パラメータ>ユーザーパーミッション」を以下の様に、ユーザー= test に対して、実行権限だけを付与します。
ここでユーザーtestがこのジョブフローにアクセスしようとすると、以下のようなエラーが表示されます。
さて、以下のように /home/test の下に「テストフォーム」という名前のフォーム型オブジェクトを作成します。
テストフォームの設定画面では、以下の様に「提出オブジェクト」のプルダウンから「サンプルジョブフロー」を指定して保存をクリックします。
次のようなフォーム型オブジェクトが作成されます。
ここで「サンプルジョブフロー」のリンクをクリックすると上記のような「読み取り不可」エラーが表示されますが、「実行」ボタンはクリックすることができ、ジョブフローが起動されます。
このようにして、フォームを経由する事でジョブフローの中身は見せずに、実行だけを許可する仕組みを作る事が出来ます。また、このフォームのプロパティからの権限を設定する事でジョブフローを実行できる人を選択する事も出来ます。
ここでは深入りしませんが、パラメータ/引数を取るジョブフローに対しては、フォームからオペレータが値を入力してジョブフローに渡して実行させることも可能です。
さて、いかがでしたでしょうか?Kompiraの権限設定の考え方は先に述べたようにUnix/Linuxに似せて作成されているため、ジョブフローの他にもディレクトリなどにも設定する事が出来て、指定のディレクトリ以下のアクセスを許可/禁止する事も可能です。
権限設定をうまく利用して、セキュアな自動化環境を構築してください。
Kompiraジョブフローの基礎
ジョブフローの簡単な例
Kompiraの機能
- ・フィールド修飾子でフィールドの入力内容に制約を設ける
- ・Kompiraでの文字列のパターンマッチング
- ・Kompira上でWikiページを作成する
- ・スケジューラを使って定期的にジョブを実行する
- ・ジョブフローを実行するフォームを作成する
- ・テーブル内の情報を選択して処理を実行する
- ・ジョブフローに権限設定をする
- ・ジョブフロー画面の各種設定
- ・Pythonで記述された処理をKompiraから呼び出す
- ・Kompiraオブジェクトのプロパティ,メソッド,フィールドを扱う
- ・Windowsでリモートスクリプトを実行する(その1)
- ・Windowsでリモートスクリプトを実行する(その2)
- ・Kompira上のデータをバックアップする(その1)
- ・Kompira上のデータをバックアップする(その2)
- ・Kompira上のデータをバックアップする(その3)
外部との連携
- ・ネットワーク機器へのコマンド投入
- ・KompiraからWindowsGUIアプリケーションを操作する (1/2)
- ・メールを送信する
- ・メール受信をトリガーにしてジョブフローを実行する
- ・アラートメールをフィルタリングして転送する
- ・チャネルを利用して外部システムからデータを受信する
- ・Webページから内容を取得する
- ・Redmineへ新規チケットを登録する
- ・Redmineでのチケット作成をKompiraに通知する
- ・Kompira REST APIを利用して外部からジョブフローを実行する
- ・Kompira REST APIを利用して外部からオブジェクト情報を取得する
- ・KompiraからSlackに通知する
- ・Slackでの投稿をKompiraに通知する
- ・KompiraからTwilioで電話をかける
- ・Zabbixからの通知をKompiraで受信する
- ・syslogをKompiraで受信する
- ・snmptrapをKompiraで受信する
- ・KompiraでExcelファイルの読み書きをする
- ・KompiraでGoogle SpreadSheetの読み書きをする
- ・Active Directoryから情報を取得する
- ・Active Directoryにユーザーを登録する