【あーるばっく】
RBAC とは?
最終更新:
💡 役割に権限をまとめ、利用者へ割り当てる
利用者へ役割を割り当て、役割に付けた権限で操作を制御する方式。利用者・役割・権限の関係と、権限の見直しを解説します。
📌 このページのポイント
- Role-Based Access Controlの略
- 利用者へ役割を割り当て、役割へ権限を割り当てる
- 一人に複数の役割、同じ役割に複数の利用者を割り当てられる
- 役割の階層や職務分離等は、モデルや実装に応じて扱う
RBACは、管理者と一般ユーザーに分けること?
それも役割を使う例だね。中心となるのは、役割に操作の権限をまとめ、利用者へ役割を割り当てること。役割は二つに限らず、業務に合わせて定義するよ。
図の編集担当は、何ができる?
説明用の例では、記事の閲覧と編集を許可しているよ。AさんとBさんをその役割へ割り当てると、役割を通じて権限を得られる。線は割り当ての関係で、通信が流れる順番ではないんだ。
役割は、一人につき一つ?
複数の役割を割り当てられるよ。同じ権限を複数の役割に割り当てることもできる。実際に使える権限は、有効な役割や制約など、そのシステムの設定を確認するんだ。
役割は、必ず上下関係になる?
基本の割り当てとは別に、権限を引き継ぐ階層を扱うモデルもあるよ。申請と承認など、同じ人へ集めたくない役割の組み合わせを制限する職務分離もある。すべてが同じ階層構造とは限らないんだ。
異動したら、役割を外せばよい?
必要な役割を見直すよ。その役割から得ていた権限は変わるけれど、ほかの役割や別の付与経路も確認する。役割の名前だけで判断せず、実際に許可される操作を点検しよう。
もっと詳しく知りたい人へ
権限と役割は、同じもの?
権限は、対象に対して操作を行う許可です。役割は、仕事上の役割等に対応させて、その権限をまとめる単位です。「記事を編集できる権限」と「編集担当という役割」を分けると理解しやすくなります。
管理者という役割なら、何でもできる?
役割名だけでは決まりません。その役割へどの権限を割り当てたか、継承や制約をどう設定したかを確認します。役割を用意するだけで、適切な権限の範囲が自動的に決まるわけではありません。
まとめ:ざっくりこれだけ覚えればOK!
「RBAC」って出てきたら「役割に権限をまとめて、利用者の操作を制御する方式」と思えばだいたいOK!
📖 おまけ:英語の意味
「Role-Based Access Control」 = 役割に基づくアクセス制御
💬 Roleは役割、Access Controlはアクセス制御です。何ができるかを利用者ごとに列挙する代わりに、役割と権限の関係を管理します。