権限とは

最終更新日: 2022年11月9日

ロール

Wagbyは標準でロールベースの権限管理機能を提供しています。これは「利用者(アカウント)」と「データ」を直接、関係づけるのではなく、両者を「権限」をとおして紐づけるものです。

ロールを用いない場合
ロールを用いる場合(Wagby)

パーミッションとプリンシパル

権限の基本単位を「パーミッション」と呼びます。
たとえば「顧客モデルの表示パーミッション」や「社員モデルの更新パーミッション」などがあります。

各画面には「自分を処理するためには、このモデルについてのXXX権限が必要である」というチェック機能が備わっています。 「XXX」の部分はそれぞれ、「登録」「更新」「削除」「表示」「検索」といった基本的な権限が入ります。

複数のパーミッションをグループ化したものを「プリンシパル」と呼びます。たとえば、「登録」「更新」パーミッションをグループ化して「更新系プリンシパル」を用意することもできます。Wagbyの標準は「複数パーミッション = 1プリンシパル」となっています。

パーミッションとプリンシパルの関係

ワンポイント

管理者は、利用者(アカウント)に対して「プリンシパル」を割り当てることができます。 この操作は運用中に行えるため、ある利用者に対して一時的に操作権限を付与したり、削除したりといった柔軟な対応を実現できます。

標準のパーミッション

開発者がモデルを設定したとき、モデルごとに次のパーミッションが自動的に付与されます。標準では、これらすべてのパーミッションを有効とした「一般ユーザ」というプリンシパルもあわせて用意されます。

パーミッション 説明 メニューとの関係 内部の表記
閲覧 詳細表示画面へのアクセスを制御します。 なし。詳細表示画面のメニューは用意されません。 select
検索 検索・一覧表示ならびにサブウィンドウ検索のアクセスを制御します。 別途 "メニュー" パーミッションで設定します。(後述) showlist
更新 更新画面へのアクセスを制御します。 なし。更新画面のメニューは用意されません。 update
登録 登録画面へのアクセスを制御します。 あり。このパーミッションをもたないアカウントは、登録画面のメニューは用意されません。 insert
削除 削除機能へのアクセスを制御します。 なし。削除機能のメニューは用意されません。 delete
ダウンロード CSVダウンロード画面へのアクセスを制御します。 あり。このパーミッションをもたないアカウントは、ダウンロード画面のメニューは用意されません。 download
アップロード CSVアップロード更新画面へのアクセスを制御します。 あり。このパーミッションをもたないアカウントは、アップロード更新画面のメニューは用意されません。 upload
メニュー 検索・一覧表示画面のメニューへの表示を制御します。 あり。このパーミッションをもたないアカウントは、検索・一覧表示画面のメニューは用意されません。 menu
一覧更新 一覧更新画面へのアクセスを制御します。 あり。このパーミッションをもたないアカウントは、一覧更新画面のメニューは用意されません。 uploadupdate

標準のプリンシパル

環境タブ内の「権限」でプリンシパルを管理しています。標準で次のプリンシパルを用意しています。

一般ユーザ

閲覧・検索・更新・登録・削除・ダウンロード・アップロード・メニュー・一覧更新という標準パーミッションを含んでいます。通常、ログオンアカウントには「一般ユーザ」プリンシパルを与えます。これによってすべてのモデルへの操作が可能になります。

アカウントごと、かつ、モデルごとに利用制限をかけたい場合は、一般ユーザプリンシパルを与えずに別途用意した(制限付きの)プリンシパルを与えるとよいでしょう。この方法は次ページ以降で説明します。

それ以外の特別なプリンシパル

「一般ユーザ」はシステムの利用のために用意されたものです。
それ以外に、システム管理のためのプリンシパルが用意されています。
各プリンシパルの説明は下表の通りです。

カテゴリ 種類 内容
アカウント 一般ユーザ (説明済みのため割愛します。)
システム管理者 すべての権限をもちます。標準で用意されているアカウント "admin" に割り当てられています。
ユーザ管理 ユーザアカウントの管理を行います。
グループ管理 グループの管理を行います。
アカウント閲覧者 自分以外のアカウント情報を閲覧することができます。
接続解除 ログオン済みの利用者を強制的に解除することだけが行える権限です。
お知らせ管理者 「お知らせ」の登録、更新操作を行うことができます。
休日設定更新者 システムが管理する「休日」を追加することができます。
共通処理 共通処理 プレファレンス(配色や、各パーツの表示制御)を指定することができます。
パスワード変更 パスワードの変更を行うことができます。
テンプレート メールテンプレート管理者 メールテンプレートの登録、更新操作を行うことができます。
ジョブ ジョブスケジュール管理者 Wagbyが提供する「ジョブ」の実行ルールを設定できます。指定した時間にジョブが起動します。
ジョブ専用アカウント ジョブを実行することができる特別な権限です。ジョブ機能は現在、準備中です。このプリンシパルはジョブ実行専用のため、これを有効にすると、ログオン画面からのログオンが行えなくなります。
システム システムログ閲覧 システムログ閲覧機能を利用できます。
統計情報閲覧 統計情報機能を利用できます。
システム情報閲覧 このアプリケーションについての詳細情報を閲覧できます。
メンテナンスモード切替 メンテナンスモード切り替え機能を利用できます。

これらはDesignerの「環境 > 権限 > プリンシパル」で確認できます。

設定されているプリンシパル一覧

重要

標準で用意されている上記プリンシパルを削除することはできません。

※ 「カテゴリ」は次のセクションで説明します。
※ 「表示順」はアカウント(juser)登録/更新/表示画面のプリンシパル設定欄の並びに反映されます。数値の昇順で並びます。表示順が空白の場合、内部で用意されたプリンシパルIDの昇順で並びます。
※ 「選択肢表示」はモデルに用意するプリンシパルの選択肢とするかどうかを指定します。[詳細...]

カテゴリ

すべてのプリンシパルは、次に示すいずれかのカテゴリに属します。開発者は自身でカテゴリを追加することもできます。

IDカテゴリ名
1アカウント
2共通処理
3テンプレート
4ジョブ
5ワークフロー
6システム
7アプリケーション

開発者が新規に作成するプリンシパルのカテゴリは、標準では "アプリケーション" を指定するとよいでしょう。プリンシパルが増えた場合は新しいカテゴリを作成し、カテゴリごとに管理することで見通しをよくすることができます。

重要

IDが1から6が割り当てられている標準プリンシパルのカテゴリを変更してはなりません。

ログオンアカウントにプリンシパルを割り当てる

ログオンアカウントの設定時に、どのプリンシパルを割り当てるかを指定することができます。

通常は次のプリンシパルを付与するとよいでしょう。

  • アカウント > 一般ユーザ (モデルの操作のため)
  • 共通処理 > 共通処理 (プレファレンス変更のため)
  • 共通処理 > パスワード変更
ログオンアカウント登録画面におけるプリンシパル設定欄(1)
ログオンアカウント登録画面におけるプリンシパル設定欄(2)
ログオンアカウント登録画面におけるプリンシパル設定欄(3)
ログオンアカウント登録画面におけるプリンシパル設定欄(4)

ジョブ専用アカウントプリンシパルの注意点

このプリンシパルを有効にすると、システム管理者であっても、ログオン画面からのログオンが行えなくなります。

ログオンアカウント登録画面におけるプリンシパル設定欄(5)

権限管理の対象範囲

機能

権限設定は「画面」「ダウンロード/アップロード更新」に適用されます。

アカウント

一般利用者が対象範囲となります。システム管理者 (admin) は、すべての権限が有効になります。

重要

権限管理の動作テストでは、システム管理者を用いないようにしてください。

システム管理者の扱い

「システム管理者」プリンシパルは、次のように動作します。

(*) これは、あるユーザーが表示できる画面をシステム管理者が表示できないという動作は許可しない、ことを意味します。一方で、システム管理者を含む、どのようなプリンシパルも与えられていない権限設定は可能です。この場合は誰も操作できない機能、となります。