Использование OPA для AuthZ
Всем привет!
Если Вам нравится Kubernetes, то Вы, вероятно, сталкивались с таким проектом, как Gatekeeper. Он представляет из себя Admission Webhook, основанный на Open Policy Agent (OPA), который может принимать решения, основываясь на входных данных.
Однако, возможности OPA гораздо шире. В качестве примера Автор рассматривает ее в качестве «внешнего» сервиса, который реализует авторизацию в простом проекте на Spring Boot. Суть проста – пользователь может запрашивать свою зарплату и зарплату своих подчиненных.
Автор проделал следующее:
🍭 Написал код приложения. В качестве механизма авторизации – "стандартные" возможности технологий
🍭 Использование OPA в качестве инструмента авторизации
🍭 Реализация API Gateway – добавление AuthN
Каждый из примеров реализации приложения отлично описан, есть исходные коды и комментарии. В качестве «бонуса» - диаграмма последовательностей, в которой наглядно описан процесс и его «трансформация» в зависимости от способа реализации.
P.S. Если Вам интересно зачем потребовалось делать сторонний "сервис" - ответ есть в статье ☺️
Post #632
1.15K