私は、アクセス許可とそれらのアクセス許可が適用されるスコープを分離できるRBACアクセス許可モデルを作成しようとしています。これを説明する標準モデルを見つけることができませんでした。
次に例を示します。
- (表示)(運用レポート)
- (作成)(運用レポート)
- (管理)(リリース)
- A (Product Manager) can (Manage Releases) and (View Ops Reports)
- A (Ops Manager) can (Create Ops Reports) and (View Ops Reports)
(アリス)と(ボブ)は(プロダクトマネージャー)です
これまでのところ、これは標準のRBAC-0です。次に、別の直交層を追加します。
- (アリス)は「クールな新製品(CNP)」の(プロダクトマネージャー)です
- (Bob)は、「Flagship Product(FSP)」の(Product Manager)です。
- (チャーリー)は...
- ...
これはかなり一般的な使用例のようです。
素朴な実装では、すべての製品の役割と権限を複製できます。だから代わりに:
- (プロダクトマネージャー)
- (管理)(リリース)
- (表示)(運用レポート)
私たちは今持っています:
- ([〜#〜] cnp [〜#〜]製品マネージャー)
- (管理)([〜#〜] cnp [〜#〜]リリース)
- (表示)([〜#〜] cnp [〜#〜] Opsレポート)
- ([〜#〜] fsp [〜#〜]製品マネージャー)
- (管理)([〜#〜] fsp [〜#〜]リリース)
- (表示)([〜#〜] fsp [〜#〜] Opsレポート)
- ...
- ...
これはすぐに手に負えなくなります。このシナリオをモデル化して指数関数的な重複を回避するにはどうすればよいですか?
役割ベースのアクセス制御(RBAC)は承認を管理するための主要なモデルですが、RBACの実装にはいくつかの制限と結果があります。
結果の1つは役割の急増であり、同じクラスの異なるデータセットへのアクセスを個別に管理するには、1つの役割の複数のバージョン(重複)が必要です。
役割中心の属性ベースのアクセス制御は、このRBAC制限を最小限に抑えるための従来のRBACモデルの拡張機能です。
アクセス制御に関連する各ユーザーとオブジェクトは、一連の属性に関連付けられています。
属性は、アクセス制御ロジックをユーザー、オブジェクトに割り当て、ユーザーと共同作業の方法を定義します。関連する属性が特定のユーザーに割り当てられている場合、オブジェクトに関連するどのようなアクティビティを利用できますか。
文献には、RCABACへのいくつかのアプローチが記載されています。
参考文献
その他のリンク