Рекомендации по использованию RBAC/ABAC в REST API с обязательными и необязательными атрибутамиJAVA

Программисты JAVA общаются здесь
Anonymous
Рекомендации по использованию RBAC/ABAC в REST API с обязательными и необязательными атрибутами

Сообщение Anonymous »

В настоящее время я работаю над REST API, в котором мы традиционно указывали, какие поля являются обязательными, а какие необязательными в ответе или DTO. Это было несложно, поскольку каждая конечная точка имела фиксированный набор обязательных и необязательных полей.
Теперь мы представляем управление доступом на основе атрибутов или ролей (RBAC) или управление доступом по атрибутам (ABAC). ) на определенных конечных точках, и этот подход больше не работает. Например. Каждая роль может иметь свой набор обязательных и необязательных полей, что усложняет поддержание четких и последовательных ответов и DTO.
Например:
У нас есть 3 атрибута в ответе a,b,c
a и c являются обязательными, а b необязательным
Роль A позволяет видеть атрибут a, b, но не c.
Роль B позволяет видеть атрибут c, b, но не a.
Должны ли все атрибуты быть необязательными?
Кроме того, в этом примере отсутствует/нулевой/необязательный параметр семантически то же самое в ответе.
Мой вопрос: каковы наилучшие методы управления доступом в REST API, где обязательные и необязательные атрибуты могут различаться в зависимости от правил доступа?
Как мне обеспечить понятную и удобную для пользователя документацию по API+ответы+классы DTO в таких условиях?
Будем очень признательны за любые идеи или примеры из вашего опыта!

Подробнее здесь: https://stackoverflow.com/questions/787 ... attributes

Вернуться в «JAVA»