intra-mart Accel Platform IM-Authz(認可)インポート・エクスポート仕様書 第4版 2019-08-01

4. ファイルフォーマット

リソースグループ

XMLファイル形式

以下は、XMLファイルの例です。
<authz-resource-group> タグで囲まれた1要素が1件のリソースグループに該当します。
XML schema の場所:
%CONTEXT_PATH%/WEB-INF/schema/authz-resource-group.xsd
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.intra-mart.jp/authz/imex/resource-group">
  <authz-resource-group id="im-authz-service">
    <display-name>
      <name locale="ja">認可</name>
      <name locale="en">Authz Maintenance</name>
    </display-name>
    <resource-group-description>
      <description locale="ja">認可設定画面関連の画面リソースです。</description>
    </resource-group-description>
    <parent-group id="http-services"/>
  </authz-resource-group>
</root>
各タグ・属性の説明は、以下の通りです。
IM-Authz(認可)インポートデータ定義書 」も合わせて、参照してください。
項目 タグ名 説明
リソースグループ authz-resource-group
1つのリソースグループを定義します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
id リソースグループID
表示名 display-name
リソースグループに設定する表示名を指定します。
ロケールごとに指定可能です。
ロケールごとの表示名 name
ロケール別に、リソースグループに設定する表示名を、256文字以内で指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
locale ロケールID
説明 resource-group-description
リソースグループに設定する説明を指定します。
ロケールごとに設定可能です。
ロケールごとの説明 description
ロケール別に、リソースグループに設定する説明を、1,000文字以内で指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
locale ロケールID
親リソースグループ parent-group
このリソースグループの親になるリソースグループのIDを指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
id リソースグループID
インポートしたリソースグループは、認可設定画面で確認できます。
../../_images/file_format_3.png

図 「XMLファイルの例」をインポートした時の認可設定画面

注意

リソースグループ配下に、1つ以上のリソースが登録されている場合のみ表示されます。

リソース

XMLファイル形式

以下は、XMLファイルの例です。
<authz-resource> タグで囲まれた1要素が1件のリソースに該当します。
XML schema の場所:
%CONTEXT_PATH%/WEB-INF/schema/authz-resource.xsd
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.intra-mart.jp/authz/imex/resource">
  <authz-resource uri="service://authz/settings/basic" id="im-authz-settings-basic-service">
    <display-name>
      <name locale="ja">認可設定 (基本画面)</name>
      <name locale="en">Authz setting (Basic Screen)</name>
    </display-name>
    <resource-description>
      <description locale="ja">認可設定画面の画面リソースです。</description>
    </resource-description>
    <parent-group id="im-authz-service"/>
  </authz-resource>
  <authz-resource uri="service://authz/settings/parts" id="im-authz-settings-parts-service">
    <display-name>
      <name locale="ja">認可設定 (ポップアップ)</name>
      <name locale="en">Authz setting (Parts)</name>
    </display-name>
    <resource-description>
      <description locale="ja">ポップアップで表示される認可設定画面の画面リソースです。</description>
    </resource-description>
    <parent-group id="im-authz-service"/>
  </authz-resource>
  <authz-resource uri="service://authz/settings/procedure" id="im-authz-settings-procedure-service">
    <display-name>
      <name locale="ja">認可設定 (Ajax用)</name>
      <name locale="en">Authz setting (Ajax)</name>
    </display-name>
    <resource-description>
      <description locale="ja">認可設定画面で使用する処理リソースです。</description>
    </resource-description>
    <parent-group id="im-authz-service"/>
  </authz-resource>
</root>
各タグ・属性の説明は、以下の通りです。
IM-Authz(認可)インポートデータ定義書 」も合わせて、参照してください。
項目 タグ名 説明
リソース authz-resource
1つのリソースを定義します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
uri
リソースの識別子であるURIを指定します。
id
リソースとセットで登録されるリソースグループのIDを指定します。
省略した場合は、uri 属性の設定値をもとに、自動的に作成されます。
表示名 display-name
リソースとセットで登録されるリソースグループに設定する表示名を、256文字以内で指定します。
ロケールごとに設定可能です。
ロケールごとの表示名 name
ロケール別に、リソースとセットで登録されるリソースグループに設定する表示名を指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
locale ロケールID
説明 resource-description
リソースとセットで登録されるリソースグループに設定する説明を、1,000文字以内で指定します。
ロケールごとに指定可能です。
ロケールごとの説明 description
ロケール別に、リソースとセットで登録されるリソースグループに設定する説明を指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
locale ロケールID
親リソースグループ parent-group
このリソースとセットで登録されるリソースグループの親になるリソースグループです。
このリソースがインポートされる時点で、親になるリソースグループが登録されている必要があります。
このタグに指定可能な属性は、以下の通りです。
属性 説明
id リソースグループID
インポートしたリソースは、認可設定画面で確認できます。
../../_images/file_format_4.png

図 「XMLファイルの例」をインポートした時の認可設定画面

サブジェクトグループ

XMLファイル形式

以下は、XMLファイルの例です。
<authz-subject-group> タグで囲まれた1要素が1件のサブジェクトグループに該当します。
XML schema の場所:
%CONTEXT_PATH%/WEB-INF/schema/authz-subject-group.xsd
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.intra-mart.jp/authz/imex/subject-group">
   <authz-subject-group sort-key="1">
      <display-name>
         <name locale="ja">ゲストユーザ</name>
         <name locale="en">Guest User</name>
      </display-name>
      <subject-group-description>
         <description locale="ja">ゲストユーザです</description>
      </subject-group-description>
      <expression>S(im_authz_meta_subject:anonymous)</expression>
   </authz-subject-group>
   <authz-subject-group sort-key="2">
      <display-name>
         <name locale="ja">認証済みユーザ</name>
         <name locale="en">Authenticated User</name>
      </display-name>
      <subject-group-description>
         <description locale="ja">認証済みユーザです</description>
      </subject-group-description>
      <expression>S(im_authz_meta_subject:authenticated)</expression>
   </authz-subject-group>
   <authz-subject-group sort-key="1">
      <display-name>
         <name locale="ja">認可 管理者</name>
         <name locale="en">Authz Setting Manager</name>
      </display-name>
      <subject-group-description>
         <description locale="ja">認可管理者です</description>
      </subject-group-description>
      <expression>S(b_m_role:authz_manager)</expression>
   </authz-subject-group>
</root>
各タグ・属性の説明は、以下の通りです。
IM-Authz(認可)インポートデータ定義書 」も合わせて、参照してください。
項目 タグ名 説明
サブジェクトグループ authz-subject-group
1つのサブジェクトグループを定義します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
sort-key サブジェクトグループカテゴリ内でのソート番号。
表示名 display-name
サブジェクトグループに設定する表示名を指定します。
ロケールごとに指定可能です。
ロケールごとの表示名 name
ロケール別に、サブジェクトグループに設定する表示名を、64文字以内で指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
locale ロケールID
説明 subject-group-description
サブジェクトグループに設定する説明を指定します。
ロケールごとに指定可能です。
ロケールごとの説明 description
ロケール別に、サブジェクトグループに設定する説明を、1,000文字以内で指定します。
このタグに指定可能な属性は、以下の通りです。
属性 説明
locale ロケールID
条件式 expression
サブジェクトグループの条件式を、半角4,000文字以内で指定します。
条件式の詳細は、「認可仕様書 - サブジェクト管理 - 式表現 」を参照してください。

コラム

サブジェクトグループカテゴリは、インポートしたサブジェクトグループの条件式によって、インポート時に自動的に作成されます。
インポートしたサブジェクトグループは、認可設定画面で確認できます。
../../_images/file_format_5.png

図 「XMLファイルの例」をインポートした時の認可設定画面

ポリシー

XMLファイル形式

以下は、XMLファイルの例です。
<authz-policy> タグで囲まれた1要素が1件のポリシーに該当します。
XML schema の場所:
%CONTEXT_PATH%/WEB-INF/schema/authz-policy.xsd
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.intra-mart.jp/authz/imex/policy">
  <authz-policy subject="S(b_m_role:tenant_manager)" action="execute" type="service" resource="im-authz-settings-basic-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:authz_manager)" action="execute" type="service" resource="im-authz-settings-basic-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:tenant_manager)" action="execute" type="service" resource="im-authz-settings-parts-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:authz_manager)" action="execute" type="service" resource="im-authz-settings-parts-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:menu_manager)" action="execute" type="service" resource="im-authz-settings-parts-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:menu_operator)" action="execute" type="service" resource="im-authz-settings-parts-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:tenant_manager)" action="execute" type="service" resource="im-authz-settings-procedure-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:authz_manager)" action="execute" type="service" resource="im-authz-settings-procedure-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:menu_manager)" action="execute" type="service" resource="im-authz-settings-procedure-service">PERMIT</authz-policy>
  <authz-policy subject="S(b_m_role:menu_operator)" action="execute" type="service" resource="im-authz-settings-procedure-service">PERMIT</authz-policy>
</root>
<authz-policy> では「許可」「禁止」の権限設定状態(エフェクト)を管理します。
各タグ・属性の説明は、以下の通りです。
IM-Authz(認可)インポートデータ定義書 」も合わせて、参照してください。
項目 タグ名 説明
ポリシー authz-policy
1つのポリシーを定義します。
タグ内にはエフェクトを指定します。以下の文字列からいずれかを指定してください。
説明
PERMIT 「許可」を設定します。
DENY 「禁止」を設定します。
UNSET 「未設定」(設定を解除し、上位リソースの設定を継承します)。
このタグに指定可能な属性は、以下の通りです。
属性 説明
subject
エフェクトを設定するサブジェクトグループの条件式を、半角4,000文字以内で指定します。
条件式の詳細は、「認可仕様書 - サブジェクト管理 - 式表現 」を参照してください。
resource
エフェクトを設定するリソースグループのIDを指定します。
type
エフェクトを設定するアクションが定義されているリソースタイプのIDを指定します。
action
エフェクトを設定するアクションのIDを指定します。
インポートしたポリシーは、認可設定画面で確認できます。
../../_images/file_format_6.png

図 「XMLファイルの例」をインポートした時の認可設定画面

Excel(xlsx)形式

出力例

Excel(xlsx)形式の場合は、規定のテンプレートで作成された権限設定マトリクスシートを使用します。
ファイルは SpreadsheetML フォーマットを使用します。この形式は、Excel(R) 2007 以上などの表計算ソフトで作成できます。

注意

xls形式のファイルには非対応です。
Excel(R) 2007 以上を使用している場合でも、必ずxlsx形式で保存してください。
intra-mart Accel Platform で用意されているデフォルトのテンプレートを使用した場合、認可設定画面の権限設定マトリクスと同じようなデザインで表示されます。
../../_images/file_format_1.png

図 Excel(xlsx)形式で出力したファイルの全体イメージ

各箇所についての説明は、以下の通りです。
図中の番号 項目 説明
リソースグループ・リソースのツリー(縦軸)
リソースグループ・リソースの親子関係をツリー形式で定義します。
サブジェクトグループの一覧(横軸)
サブジェクトグループカテゴリと、配下にサブジェクトグループを横並びで定義します。
ポリシーのマトリクス
リソースグループ・リソース・サブジェクトグループの組み合わせに対して設定するエフェクトを定義します。
定義方法は使用するテンプレートによって異なります。intra-mart Accel Platform で用意されているデフォルトのテンプレートを使用した場合の定義は、以下の通りです。
設定値 説明
許可
× 禁止
↑レ 未設定(親リソースを継承した結果、許可)
↑× 未設定(親リソースを継承した結果、禁止)
ポリシーのマトリクスでは、各セルに指定された文字列で内容を判断しますので、背景色・文字色などの装飾は影響しません。
リソースの種類(シート別)
リソースの種類にシートを分けて定義します。

注意

Excel(xlsx)形式では、リソースグループ・リソース・サブジェクトグループを特定するために、隠しセルにIDなどのキー値を保存しています。
したがって、インポート用のファイルとして用意するためには、あらかじめエクスポート機能を使用してテンプレートから出力しておいたファイルを使用する必要があります。
また、行(リソースグループ)・列(サブジェクトグループ)を手動で増減させた場合、増やした分のデータIDや親子関係が特定できなくなるため、インポートに失敗します。
※エクスポート直後のファイルは、行・列を操作できなくするために、保護がかけられています。

テンプレートファイルの仕様

intra-mart Accel Platform で用意されているデフォルトのテンプレートには、認可設定画面の権限設定マトリクスと同じようなデザインで出力するための定義が行われています。
テンプレートファイルは、パブリックストレージの以下の場所に保存されています。
%PUBLIC_STORAGE%/products/im_authz_xlsx_import_export/authz_template.xlsx
テンプレートファイルの一部は、デザインの変更を目的として、定義を編集できます。
変更できる箇所とその説明は、以下の通りです。
../../_images/file_format_2.png
../../_images/file_format_7.png

図 Excel(xlsx)のテンプレートファイル

図中の番号 項目 説明
ヘッダ領域
出力するExcel(xlsx)形式のヘッダ部を定義します。
例えば、会社名などの簡単な情報をあらかじめ配置できます。
出力日など、エクスポートの状況によって出力内容が変わる可変項目には対応していません。
エクスポート時、D~G列目は自動的に非表示に変わりますので、何も入力しないでください。
また、最後に文字列が設定されているセルから、右方向に連続して11以上の空きセルがある場合、それ以降右側に定義されたセルは出力されませんので注意してください。
intra-mart Accel Platform で用意されているデフォルトのテンプレートには、凡例が定義されています。
エフェクトを表すセル
左から「許可」「禁止」「未設定(継承した結果、許可)」「未設定(継承した結果、禁止)」の4つのセルを定義します。
ポリシーのマトリクスを出力する際、このセルの中から状態が一致するものがコピーされますので、このセルの背景色・文字色・文字列を変更すると、エクスポート時のマトリクスでエフェクトの表現方法を変更できます。
ヘッダ部の凡例とは独立していますので注意してください。
権限表の左上ヘッダ
「リソース」と「アクション」となる部分です。
背景色と文字色を変更できます。
文字列は自動的に設定されますので、何も入力しないでください。
権限表のリソース・アクション
リソースグループとアクションの名称を表示するセルのデザインを定義します。
背景色と文字色を変更できます。
文字列は自動的に設定されますので、何も入力しないでください。
権限表のサブジェクトグループ・サブジェクトグループカテゴリ
サブジェクトグループとサブジェクトグループカテゴリの名称を表示するセルのデザインを定義します。
背景色と文字色を変更できます。
文字列は自動的に設定されますので、何も入力しないでください。

注意

上記以外の場所は変更しないでください。変更した場合、エクスポートに失敗する可能性があります。
装飾については、文字色・背景色・文字サイズの設定のみコピーされます。その他の装飾(条件付書式、グループ化など)は反映されません。