本文へ移動
Wagby11
マニュアルのグループを選ぶ

WAGBY11 MANUAL / 20

画面アクション・ダウンロードの権限を設定する

ロールに応じて画面アクションを使い分け、ダウンロード定義ごとに利用できるロールを指定できます。

最終更新日:

認証と認可の小目次へ

1. このページで伝える機能

ロールに応じて画面アクションを使い分け、ダウンロード定義ごとに利用できるロールを指定できます。

2. Wagby11で実現できること

2.1 操作とデータ範囲の権限

部門責任者だけに「部門一覧を確認」を表示し、担当案件の検索一覧へ移動できるようにします。また「部門確認用CSV」の取得を部門責任者だけに許可します。

部門責任者の詳細画面に「部門一覧を確認」を表示します。
部門責任者の詳細画面に「部門一覧を確認」を表示します。
部門責任者の検索一覧にはダウンロード操作が表示されます。
部門責任者の検索一覧にはダウンロード操作が表示されます。

担当者や閲覧担当者には、これらの専用操作を表示しない構成です。CSVには責任者が参照できる本部・配下部門の案件だけが含まれます。ダウンロードの許可と、データの参照範囲の両方を適用します。

画面アクションのロール指定は操作の提供範囲を決めます。遷移先のモデルや、呼び出す業務処理にも必要な認可を設定します。ボタンの表示だけで処理やデータへの権限を代替しません。

2.2 参照権限がない列の出力

ダウンロードの利用権限があっても、参照権限のない項目の値は出力しません。列の扱いはダウンロード定義ごとに選べます。通常は列自体を除外します。連携先が固定の列構成を必要とする場合は、ヘッダを残して値を空欄にすることもできます。

設定権限のない列の扱い
omit(既定)ヘッダとデータから列を除外します。利用者によって列数が変わることがあります。
emptyヘッダを残し、全行の値を空欄にします。列の存在とヘッダ名は利用者に伝わります。

列の存在自体を知らせたくない場合はomitを選びます。emptyで空にした値にはnullトークンを使わず、CSV・TSVでは長さ0の値、XLSXでは空セルを出力します。どちらを選んでもモデルの参照権限・項目の参照権限・データスコープの制限は維持します。権限判定後に出力できる列が1つも残らない場合は、空ファイルではなく403 Forbiddenになります。

参照先のキーや複数参照の区切りの表現は、ダウンロード列・順番・書式を設定するを参照してください。

3. AIへの指示例

最小限の指示例

部門責任者だけが使えるCSVダウンロードを用意してください。

AIは出力項目、形式、対象データの範囲、配置する画面を類推して補います。画面アクションも必要なら、押したときの処理を別に伝えます。

より詳細な指示例

担当案件にmanagementという部門確認用CSVを定義し、G_SEC_MANAGERだけに許可してください。CSVには案件番号・件名・状態・金額・所有者を出し、参照範囲の制限も適用します。詳細画面のtoolbar.endには同じロールだけが使える「部門一覧を確認」を置き、/ui/securitycase/searchへ移動させます。他のロールでは専用操作を表示せず、CSV取得要求も拒否することを確認してください。
部門確認用CSVでは、項目の参照権限がない列はヘッダごと除外してください。固定列の外部連携用CSVが必要な場合は別定義とし、権限のない列はヘッダを残して値だけ空欄にします。列名の開示も許可できることを確認し、権限のない値は出力しないでください。
既存の定義・データ・権限を保持し、Wagby11のguide・referenceを確認してください。利用者向けの操作マニュアルを更新し、生成・ビルド後に該当ロールの画面とAPIの動作を確認してください。

4. 編集されるAppSchemaの例

以下は関連する定義の抜粋です。設定の詳細を覚えなくても、対象の利用者・操作・データ範囲をAIへ伝えられます。

functions:
  - description: 担当案件を検索する
    # filter と list は省略
    downloads:
      - id: management
        name: 部門確認用CSV
        permissions: { roles: [G_SEC_MANAGER] }
        file_types: { allowed: [csv], default: csv }
        header: { enabled: true, source: name }
        unauthorized_columns: omit
        columns:
          - { name_en: caseId }
          - { name_en: title }
          - { name_en: status }
          - { name_en: amount }
          - { name_en: ownerUserId }
ui:
  list: { downloads: [management] }
  actions:
    - id: management_list
      screens: [detail]
      placement: toolbar.end
      label: 部門一覧を確認
      style: secondary
      permission: { roles: [G_SEC_MANAGER] }
      navigate_to: /ui/securitycase/search

ダウンロード側はpermissions、画面アクション側はpermissionという別の指定です。CSVの出力権限に加え、モデルの参照権限とデータスコープを定義します。

固定列の外部連携用ダウンロードでは、同じ階層にunauthorized_columns: emptyを指定します。既存の項目権限を緩める設定ではありません。

5. 参考資料

ダウンロード権限
designer/docs/appschema/html/guide/10-security/06-download-permissions.html
画面アクション権限
designer/docs/appschema/html/guide/10-security/07-action-permissions.html
guide:出力対象データと権限
designer/docs/appschema/html/guide/09-data-transfer/07-download-permissions.html
reference:ダウンロード
designer/docs/appschema/html/reference/09-functions.html
画面定義
designer/docs/appschema/html/reference/10-ui.html