Модуль авторизации
Модуль авторизации предназначен для настройки и управления правами доступов пользователей в системе. Модуль разграничивает доступ пользователей к функциям и данным системы согласно заранее настроенным правилам.
Настройка модуля авторизации осуществляется в таблицах базы данных в схеме authorization.
В схему входят следующие таблицы:
- authorization.service — сервис.
- authorization.resource — ресурс.
- authorization.action — действие.
- authorization.action_statement — связь действия и утверждения.
- authorization.statement — утверждение.
- authorization.policy_statement — связь политики с утверждением.
- authorization.policy — политика.
- authorization.policy_group — связь политики с группой пользователей.
- authorization.group — группы пользователей.
- authorization.user_group — связь пользователей и групп пользователей.
Также в сервисе авторизации используется таблица public.users в которой хранятся данные о пользователях системы.
Таблица authorization.service предназначена для разделения политик авторизации посервисно (монолит, аудит, аналитические инструменты работы с таблицами и т.д.)
С таблицей authorization.resource могут быть связаны полномочия, определяющие права и возможности совершения определенных операций. Ресурс мапится 1к1 с таблицей сущности. Resource вместе с Action является точкой входа для проверок авторизации.
Таблица authorization.action отвечает за действия, которые можно производить над сущностью.
таблица authorization.statement отвечает за утверждение авторизации и является основным элементом управления авторизацией в системе. Именно statement определяет условия, по которым пользователю предоставляется или не предоставляется доступ.
Таблица authorization.action_statement отвечает за связь между действиями и утверждениями.
Таблица authorization.policy отвечает за хранение политик. Политика — поименованная совокупность утверждений, которые отвечают за доступ/запрет к используемым информационным объектам.
Таблица authorization.policy_statement отвечает за связь между политиками и утверждениями.
Таблица authorization.group отвечает за хранение данных о группах пользователей. Политики привязываются только к группам пользователей.
Таблица authorization.policy_group отвечает за связь между политиками и группами пользователей.
Таблица authorization.user_group отвечает за связь между пользователями и группами пользователей.
Таблица public.user предназначена для хранения данных о пользователях системы