今回は、認可のExcelインポート・エクスポート機能についての紹介です。
0.はじめに
1.認可Excelインポート・エクスポート機能を使用するためには
2.【使用例1】権限設定の変更を、業務時間外 (例:夜間) に自動で行い、簡易的に期間化を実現する
3.【使用例2】IM-Workflowで権限設定の変更案を流し、承認終了後に権限設定を反映する
4.【使用例3】定期的に認可設定のエビデンス (設定状態) を保存する
5.【参考資料】
0.はじめに
認可の権限設定において、これまでは以下のような問題がありました。
・権限設定の全体を一度に見ることが難しい。
・権限設定の状態を印刷できない。 また、印刷範囲を絞り込むことが難しい。
・認可設定画面上では、権限設定の変更が即時反映されてしまい、ある時点から権限を変更するような運用 (期間化) が難しい。
そこで、これらの問題をできる限り解消できるよう、認可の権限設定状態をExcelファイルでインポート・エクスポートできる機能 (※) が提供されました。
※ 2014 Summer (8.0.8) より追加機能モジュールとして提供しています。
※ 対応するファイルは SpreadsheetML (*.xlsx) 形式で、Excel2007 以上で開くことができます。
この追加機能モジュールを導入すると、以下の操作ができるようになります。
・ジョブスケジューラを使用して、権限設定状態をExcelファイルとしてエクスポート&インポートすることができます。
Excelファイルはパブリックストレージに配置します。
・認可設定画面 (ブラウザ) 上から、権限設定状態をExcelファイルとしてエクスポート&ダウンロードすることができます。
また、認可設定画面上からExcelファイルをアップロード&インポートすることもできます。
Excelファイルのレイアウトは、認可設定画面と同じようなデザインで出力されます。
図:Excelエクスポートの使用例
Excelでファイルを開けば、全体の印刷も簡単にできるようになります。
また、Excelファイル上での編集は即時反映されませんので、机上による権限設定変更の検討にも最適です。
1.認可Excelインポート・エクスポート機能を使用するためには
IM-Juggling で、「追加機能」-「IM-Authz (認可) Excelインポート・エクスポート」モジュールを追加した war を作成して、デプロイしてください。
<
p style="margin-left: 30px">
図:IM-Jugglingのモジュール選択画面
テナント環境セットアップ後、追加機能が導入され以下のように動作が変わります。
・ジョブ・ジョブネットに「インポート (Excel)」「エクスポート (Excel)」カテゴリが登録されます。
パブリックストレージ上にExcelファイルをエクスポート、および、ストレージ上のファイルをインポートすることができます。
・認可設定画面の左上に「インポート (Excel)」「エクスポート (Excel)」リンクが表示されます。
認可設定画面上から、直接Excelファイルをエクスポート、および、インポートすることができます。
<
p style="margin-left: 30px">
図:認可設定画面
具体的なインポート・エクスポートの方法については、「 IM-Authz (認可) インポート・エクスポート仕様書 - インポート・エクスポートの概要 - ポリシー - Excel (xlsx) 形式 」を参照してください。
今回のブログ記事では、Excelファイルを使用した認可権限設定の応用例として、以下の業務運用パターンを解説いたします。
・使用例1: 権限設定の変更を、業務時間外 (例:夜間) に自動で行い、簡易的に期間化を実現する
・使用例2: IM-Workflowで権限設定の変更案を流し、承認終了後に権限設定を反映する
・使用例3: 定期的に認可設定のエビデンス (設定状態) を保存する
2.【使用例1】 権限設定の変更を、業務時間外 (例:夜間) に自動で行い、簡易的に期間化を実現する
まずは、以下のような業務を想定してみます。
・「承認済みユーザ」から「全文検索」の権限を外すよう依頼を受けたため、某日午前2時に権限設定の変更を自動的に行います。
使用する機能は以下の通りです。
・IM-Authz (認可) Excelインポート・エクスポート
・ジョブスケジューラ (ジョブ・ジョブネット)
操作手順は以下の通りです。
- 認可設定画面、または、ジョブネットを使用して、現時点での認可の権限設定をExcelファイルでエクスポートします。
認可設定画面での操作方法は、「 テナント管理者操作ガイド - 認可を設定する 」を参照してください。
ジョブ・ジョブネットの場合は、「テナントマスタ」-「エクスポート(Excel)」-「認可エクスポート(Excel)」を使用します。
ジョブスケジューラの操作方法は、「 テナント管理者操作ガイド - ジョブを設定する 」を参照してください。
- エクスポートしたExcelファイルを開きます。必ずExcel2007以上で開いてください。
「画面・処理」シートを開き、「全文検索」と「承認済みユーザ」の交わるセルをクリックして「×」を選択します。
Excelファイルを保存して、パブリックストレージに配置します (ここではストレージ直下に authz.xlsx として保存します)。
- 「認可インポート(Excel)」のジョブが午前2時に実行されるよう設定します。
ジョブスケジューラの操作方法は、「 テナント管理者操作ガイド - ジョブを設定する 」を参照してください。
午前2時になるとジョブが実行され、認可設定が反映されます。
<チェックポイント>
・Excel上であればXMLよりも視覚的にわかりやすい認可設定が可能なため、設定誤りを防止することができ、インポート実行前であればいつでも中止することができます。
・インポート時のオプションとして、各種厳密チェックを行うための検証フラグを設定することができます。
各検証フラグを「true」に設定することで、継承関係の設定間違いや、インポート実行前に行われたリソース・対象者条件の変更により矛盾した設定のインポートを防止することができます。
検証フラグについての詳細は、「 認可インポートエクスポート仕様書 - インポートオプション - Excel (xlsx) のオプション 」を参照してください。
3.【使用例2】IM-Workflowで権限設定の変更案を流し、承認終了後に権限設定を反映する
次に、以下のような業務を想定してみます。
・後日新入社員が入社するため、新入社員用のロールを作り、まず最低限の認可権限を与えようとしています。
・権限の草案を作り、これでよいか上長にワークフローを回し承認をもらいます。
使用する機能は以下の通りです。
・IM-Authz (認可) Excelインポート・エクスポート
・IM-Workflow
操作手順は以下の通りです。
- IM-Workflow で、認可権限を承認するルートと、それを使用したフローを新規作成します。
ルート、フローの作成方法についての詳細は、「 IM-Workflow 管理者操作ガイド - ワークフローを作成する 」を参照してください。
- 認可設定画面、または、ジョブネットを使用して、現時点での認可の権限設定をExcelファイルでエクスポートします。
エクスポート前に、「新入社員」ロールの対象者条件を追加しておきます。
この時点で対象者条件「新入社員」が増えますが、権限設定を行わなければ他の権限に影響はありません。
- Excel上で、「新入社員」ロールの列に、設定したい権限を設定します。
設定後、Excelファイルを保存します。
- 手順1で作成した認可権限承認フローを使用して、保存しておいたExcelファイルを添付した案件を申請します。
案件の申請方法についての詳細は、「 IM-Workflow ユーザ操作ガイド - 申請 」を参照してください。
- 無事ワークフローが承認終了した後、Excelファイルをインポートして権限設定を反映します。
<チェックポイント>
・添付する前にExcelの機能を使い、特定のセルを枠線で囲むなどのエフェクトを付けることができます。 ※
これにより、上長に特に見てもらいたい箇所を強調させておくことができます。
※ 吹き出しなどを追加する場合は、Excelファイルのセル保護を解除してください。
※ 保護パスワードはエクスポートした場所によって設定箇所が異なります。
認可設定画面からエクスポートした場合は、「 設定ファイルリファレンス - 認可設定画面設定 - 保護パスワード設定 」を参照してください。
ジョブネットからエクスポートした場合は、「 IM-Authz (認可) インポート・エクスポート仕様書 - オプション - エクスポートオプション - Excel (xlsx) のオプション 」を参照してください。
<
p style="margin-left: 30px">
図:コメント付加例
・最後のワークフローが承認終了された際、終了処理として自動的に権限設定を反映させるようプログラムすることもできます。
終了処理を作成する場合は、トランザクションを使用するために、終了ノードの到達処理にプログラムを設定してください。
到達処理についての詳細は、「 IM-Workflow プログラミングガイド - ユーザプログラムの作成 - 到達処理 」を参照してください。
4.【使用例3】定期的に認可設定のエビデンス (設定状態) を保存する
最後に、以下のような業務を想定してみます。
・内部監査やバックアップを目的として、定期的に権限の設定状態を残し、後から過去の権限設定を簡単に把握できるようにします。
使用する機能は以下の通りです。
・IM-Authz (認可) Excelインポート・エクスポート
・ジョブスケジューラ (ジョブ・ジョブネット)
操作手順は以下の通りです。
- 「ファイル退避」ジョブを新規作成します。
このジョブは、パブリックストレージ直下に保存された authz.xlsx ファイルを、適当なディレクトリにコピーして現在日時にリネームする実装を行います。
ジョブの作成方法については、「 ジョブスケジューラ仕様書 - ジョブスケジューラの構成 - ジョブ 」を参照してください。
- 「認可エクスポート(Excel)」⇒「ファイル退避」の流れで、ジョブネットを新規作成します。
これにより、ジョブネットが実行されるたびにファイルがバックアップされるようになります。
ジョブネットの詳細情報については、「 ジョブスケジューラ仕様書 - ジョブスケジューラの構成 - ジョブネット 」を参照してください。
- 定期的に、作成したジョブネットを動作させるよう設定します。
認可のエクスポート処理を実行後、「ファイル退避」ジョブによってエクスポートされたExcelファイルがバックアップされます。
バックアップ先には日時ごとにファイルが保存され、後からその時点の認可設定を確認することができます。
ジョブスケジューラの操作方法は、「 テナント管理者操作ガイド - ジョブを設定する 」を参照してください。
<チェックポイント>
・Excel形式の場合、視覚的にわかりやすいだけでなく、画面上に2つのファイルを並べて表示することができますので、差分を簡単に表現できます。
例えば、旧シートを同じブックにコピーして条件付書式を使用すれば、変更箇所の背景色を黄色で目立つ色にするなどの強調表示を行うことができます。
<
p style="margin-left: 30px">
図:条件付書式設定例
図:条件付書式表示例
・定期的に設定を保存しておくことで、権限設定が消失した際などの事故があっても、昔の設定を参照しながら復旧することができます。
リソースや対象者条件が大きく変わっていなければ、そのままExcelファイルをインポートすることで、全権限をエクスポート時点に戻すことが可能です。
また、余分なシートは削除してもインポートできますので、例えば「画面・処理」シートだけ残してインポートすれば、「画面・処理」内の全権限のみ復旧することができます。 (※)
※ シート内のリソースと対象者条件 (行・列) の削除はできません。削除した場合、インポートに失敗します。
以上で、認可のExcelインポート・エクスポート機能を利用した便利な使用例の紹介を終わります。
5.【参考資料】
- 「 テナント管理者操作ガイド 」
- 「 IM-Authz (認可) インポート・エクスポート仕様書 」
- 「 IM-Workflow 管理者操作ガイド 」
- 「 IM-Workflow ユーザ操作ガイド 」
- 「 IM-Workflow プログラミングガイド 」
- 「 ジョブスケジューラ仕様書 」
- 「 設定ファイルリファレンス 」