https://github.com/cerbos/cerbos Достаточно интересное решение для управления правами доступа и авторизацией. Поднимается микросервис, в который мы отправляем данные пользователя и (если нужно) сущности. В самом cerbos через yaml настроены права и правила доступа. С одной стороны, мы полностью отделяем логику проверки доступов от приложений. С другой стороны, создаём восхитительную точку отказа.

apiVersion: api.cerbos.dev/v1 resourcePolicy: importDerivedRoles:

  • common_roles resource: "album:object" version: "default" rules:

  • actions: ['*'] effect: EFFECT_ALLOW derivedRoles:

  • owner

  • actions: ['view', 'flag'] effect: EFFECT_ALLOW roles:

  • user condition: match: expr: request.resource.attr.public == true

  • actions: ['view', 'delete'] effect: EFFECT_ALLOW derivedRoles:

  • abuse_moderator

https://github.com/cerbos/cerbos
Достаточно интересное решение для управления правами доступа и авторизацией | Сетка — социальная сеть от hh.ru