背景
手元で作っているRailsのサービスの要求が肥大化してきたので、権限モデルをちょっと整理してみました。
権限が複雑になる原因は、メトリックが多くなること。要件レベルでどれだけメトリックを減らせるかが重要。
ビジネスで利用するサービスの場合、細かい権限設定が要求されるのでメトリックが増えやすい。
今回扱わなければいけないメトリックは以下
- アクター
- ロール
- マスタデータのステータス遷移
- Webから操作 or APIから操作
メトリックが3つ以上になった時点で直交表が作成できなくなってしまう。
メトリックが3つであれば、直交表を複数作ればギリギリ対応できるが、4つになると表現が厳しい。
アプローチ
クリーンアーキテクチャのレイヤと比較して、このような感じで考える。これ以上メトリックが増える場合は、独自にビジネスロジックのレイヤーを追加するなりして対応する必要がある。
メトリックが4つになった時点で、権限をわかりやすくまとめろと言われても不可能に近い。
Comments