Модуль VI — идентичность, разрешения и управление
Модуль VI — это плоскость управления над существующей у движка моделью авторизации — он не реализует заново энфорсер или коннекторы идентичностей, он их потребляет. Он связывает пять подсистем за одним ограниченным контекстом (идентичность и её управление): сверщик реестра каталога, мост «агент↔идентичность», который делает атрибуцию твёрдой, движок ABAC только-на-запрет, гейт одобрения с человеком в контуре (human-in-the-loop) и бэкенды авторинга политик/идентичностей. Это корень каждого управляемого действия в продукте.
Что это такое
Заголовок раздела «Что это такое»Модуль находится в слое управления (Management layer) и является авторитетом решений для control plane: кто и что может делать что и какие действия требуют сначала человека. Его контракт — это сделанная обеспечиваемой позиция только-на-запрет, deny-by-default —
- Сверка реестра сводит подключённый каталог (источники идентичностей) в
канонические сущности
Identityдвижка плюс собственный для модуля граф коллекций/членства, по принципу find-or-create с ключом по одному только внешнему id, так что она обновляет ту же строку, которую карта доступа создаёт из аудиторской ссылки. Именно эта сходимость к одной строке делает возможной твёрдую атрибуцию. - Мост «агент↔идентичность» привязывает агента к внутреннему id канонической нечеловеческой идентичности, которую предъявляют его учётные данные, разрешая жёсткую зависимость, что позволяет модулю III (карте доступа) отменять ложный дрейф permitted-vs-observed.
- Движок ABAC — это нативный оценщик, который работает после RBAC и может только дополнительно ограничивать — он никогда не расширяет грант.
Его контракт и сущности
Заголовок раздела «Его контракт и сущности»Модуль VI владеет четырьмя сущностями в разделяемой модели данных —
коллекцией и ребром член-коллекции (производный от источника граф
групп/ролей, разрешаемый транзитивно в пределах границ), одобрением
(изменяемый HITL-запрос) и трассой решений-одобрений только-для-добавления.
Идентичности не дублируются в таблицу модуля; они сверяются в каноническую
сущность Identity движка.
Оценщик ABAC реализует шов оценщика политик движка с проверенными свойствами: каждое правило — это правило deny; оно работает после RBAC внутри AND, поэтому политика никогда не может расширить доступ; некорректно сформированная включённая (enabled) политика отказывает закрыто (запрещает); горячий путь авторизации обслуживается из потенантного кеша, инвалидируемого после фиксации записи, строго изолированного по тенанту. Спецификации политик типизированы и пере-маршалируются при записи (операторский JSON никогда не проходит дословно туда-обратно), так что учётные данные не могут попасть в спецификацию. OPA/Rego — это шов внешнего оценщика, никогда не зависимость, затаскиваемая в движок.
Гейт одобрения — это прослеживаемость «действие→человек», которую закрепляет
аудиторский журнал: разделение обязанностей и страж дублирующего решающего
ключуются по стабильной идентичности пользователя (системный токен не может
принимать решение), порог множественного одобрения безопасен к гонкам на
хранилище (конкурентное пересечение разрешается ровно в одного победителя), а
истечение выводится лениво при чтении, затем материализуется явной, скоупленной
по тенанту вычисткой (sweep). Бэкенды авторинга (managed-settings/hooks,
политика-как-код Cedar/OPA, граф объектов WIF) добавляют путь записи
publish→неизменяемая-ревизия→дрейф; для Cedar опубликованная политика
активируется на живом потенантном оверлее только-на-запрет и перезагружается при
старте, так что утверждение active переживает перезапуск.
Что он потребляет и производит
Заголовок раздела «Что он потребляет и производит»Модуль потребляет базу авторизации и аудита движка и типизированный реестр
идентичностей из настроенных источников каталога; он заполняет поле
Agent.IdentityID, от которого зависит карта доступа. Он производит события
FindingReport на шине событий — разделяемая
идентичность, привязанная более чем к одному агенту, плюс эскалация и
истечение одобрения — каждое испускается один раз, ограниченное сохранённым
маркером, так что повторная вычистка не может испустить дважды. Каждая
привилегированная мутация и релевантные для сверки чтения идентичности и привязки
самоаудируются на реального принципала внутри зафиксированной транзакции;
аудиторский актор — это всегда типизированная ссылка на принципала, никогда не
email.
Связанное
Заголовок раздела «Связанное»- Каталог модулей — где находится модуль VI и его честный статус актуации.
- Карта доступа и ресурсов (III) — потребитель, чью зависимость атрибуции разрешает этот модуль.
- Справочник по шине событий — событие
finding.reported, которое испускает этот модуль. - Управляйте и одобряйте — использование поверхностей политик и одобрений.
- Обзор архитектуры — движок и слои, на которые компонуется этот модуль.
- Честность и ограничения — позиция deny-closed, детективная по умолчанию.