3. 認可 概要¶
intra-mart Accel Platform ではユーザに対する権限判断を行う処理を認可機構として切り出し、統一的な概念のもとにユーザの権限の管理を集約できるようにしています。
アクセス権モデル¶
ここでは intra-mart Accel Platform におけるアクセス権モデルを説明します。
intra-mart Accel Platform では「誰が」「何を」「どうする」という文脈に対してそれを許可するか禁止するかを権限設定情報として管理します。
![]()
これによって例えば以下のようにユーザの権限を表現できます。
例1 例2 だれが 管理者ロールのユーザ 営業部の社員 何を メニュー管理機能 営業日報 どうする 使用(実行) 参照・登録 許可/禁止 許可 許可
誰が (Subject)¶
「誰が」を表す情報は サブジェクト と呼称します。(認可管理画面上では「対象者」と表示しています。)intra-mart Accel Platform では「誰が」を表す情報には複数の種類があります。たとえば、IM共通マスタ をインストールした状態では以下の種類があります。
- ユーザ
- ロール
- 会社組織
- 役職
- パブリックグループ
- パブリックグループ役割
- IPv4アドレス
- ゲストユーザ・認証済みユーザ(認証状態)
- 期間
何を (Resource)¶
「何を」を表す情報は リソース と呼称します。リソース はユーザが何らかの操作を行おうとする対象であり、開発者または開発者の作成したアプリケーションによってシステムに追加されます。たとえば intra-mart Accel Platform では ルータ の定義するURLは最も基本的な リソース です。あるページのユーザのアクセス権を管理する場合、このURLに対してのアクセスを許可するか禁止するかを管理者が設定します。
どうする (Action)¶
「どうする」を表す情報は アクション と呼称します。 アクション はユーザがリソースに対して行おうとする操作です。リソースによって取りうる アクション は異なります。たとえば ルータ の定義するURL型のリソースでは利用可能なアクションは 実行(execute) のみです。メニューを管理する際に作成されるメニューグループというリソースがありますが、このリソースの場合 管理(admin), 参照(read) の2種のアクションが定義されています。
認可機構の構造¶
上記のようなモデルをもとに権限管理を行うに当たって、 intra-mart Accel Platform の認可機構は
- 認可設定情報(アクセス権設定)を管理する管理者
- システム上のリソースに対する操作を要求するユーザ
- その要求を管理者の用意した設定をもとに許可・禁止の認可判定を行う認可機構
という三者の立場で構成されます。
![]()
認可設定情報(アクセス権設定)を管理する立場¶
システムに存在するリソースについて、どういったサブジェクトに対してどういった権限を与えるのかを設定するのが認可管理者の立場です。
認可要求を行う立場¶
システムに対してアクセスを行うユーザの立場です。ユーザはシステムにアクセスして様々な操作を行おうとしますが、この際にその操作が許可されているかを管理者の設定に従ってチェックされ、操作を制限されます。
実際には、ユーザが何かしらの操作を行おうとする際にアプリケーションがそのユーザが行おうとしている操作を許可してよいかを認可機構に問い合わせ、アプリケーションが操作を続行したり中断したりします。認可機構が直接ユーザの操作を遮断したりするわけではなく、認可機構を利用しようとするアプリケーションがユーザの代わりに認可要求を行い、その結果に応じて振る舞いを変えます。
認可判定を行う立場¶
ユーザの行おうとしている操作とその操作対象について、管理者の設定する認可設定情報を参照して許可するかどうかを判断します。これを行うのが intra-mart Accel Platform における認可機構です。