役割ベースのアクセス制御(RBAC) を見ると、ユーザーが 1 つ以上の役割のメンバーであり、役割が操作を許可する権限を保持しているモデルが表示されます。つまり、操作 (メソッドなど) は、サブジェクトがその操作のアクセス許可を付与することを保証する必要があります。サブジェクトの役割は、これらの権限を保持します。
[subject] * <-> * [role] * <-> * [permission] * <-> * [operation]
しかし、javax.annotation.security パッケージを見ると、はるかに単純化されたモデルが定義されており、操作はロール名のみをチェックします。これは私が見る限り、RBAC ではなく、グループ ベースの権限チェックに相当します。管理者は役割に操作を割り当てることはできませんが、開発者が決定したことに固執しています。これにより、役割の数が大幅に増加し、システムの保守が難しくなると予想されます。
[subject] * <-> * [role] * <-> * [operation]
これについての私の理解は正しいですか、それとも何か見逃していますか?