Вроде как под ABAC это и подходит. Только не понятно про "роли", там вроде все на политиках и правилах построено? В ABAC есть такая вещь как Policy Information Point, которая должна предоставлять значения атрибутов в Контекст проверки, а откуда это уже на усмотрения разработчика.