Кожне ребро в карті доступу несе два незалежних факти: чи дозволений доступ та чи був він спостережений. Різниця між цими двома шарами є відмінністю — саме вона перетворює статичний граф у висновок.
Два шари на одному ребрі
Карта не тримає окремий “граф політик” та “граф телеметрії”. Кожне ребро — це єдине відношення (джерело до ресурсу, типізоване як читання або читання-запис), що несе обидва прапорці:
- Дозволений — дозвіл або політика дозволяє цей доступ. Джерелом сигналу є задекларована політика.
- Фактичний — доступ був насправді помічений, виведений з телеметрії та нативного аудиту (OpenTelemetry від кооперативних агентів, PostgreSQL pgAudit, хмарні аудиторські журнали, спостерігач на рівні ядра eBPF).
Один нюанс, важливий для чесності: не дозволений означає “не відомо, що дозволений”, а не “заборонений”. Карта записує те, що може довести з задекларованих дозволів; відсутність дозволу — це прогалина для розслідування, а не вердикт застосування.
Різниця: де знаходиться цінність
Відхилення від найменших привілеїв — це просто набір ребер, де два прапорці не збігаються. Воно поділяється на два операційно відмінних висновки:
- Неочікуваний доступ — спостережений, але не дозволений. Агент торкнувся ресурсу, який жоден дозвіл не покриває. Це половина, що стосується безпеки, показана як головний висновок.
- Невикористані дозволи — дозволені, але ніколи не спостережені. Дозвіл, який ніхто ніколи не використовував. Це ваш конкретний список для очищення найменших привілеїв, а не розпливчасте нагадування “перегляньте ваш IAM”.
Ребра, де обидва прапорці збігаються — дозволені та використані, або жоден — це нудний, очікуваний стабільний стан. Різниця — це маленький, дієвий зріз посередині.
Чесність у межах різниці
Наївна різниця створює хибні висновки, тому узгодження навмисно консервативне.
Очікує узгодження
Аудит відносить доступ до облікового запису або ролі; дозвіл записаний проти
ідентичності; кооперативний сигнал називає агента або сесію. Коли карта доступу не може
ще твердо зв’язати діючого агента з ідентичністю, для якої написаний дозвіл, вона
не може довести, що доступ дозволений — але не повинна виділяти його як
порушення. Такі ребра позначаються reconciliation_pending: чесна
невизначеність, а не сфабрикований висновок. Вони вирішуються чисто, коли ідентифікація по кожному агенту
зв’язує обліковий запис з агентом.
Дозволи на ресурсах, за якими ніхто не спостерігає
Деякі дозволи стосуються типів ресурсів, які не мають колектора на стороні спостереження — немає нічого, що б спостерігало, хто насправді використовував каталог LDAP або призначення додатку IdP. Для них “ніколи не спостережений” є очікуваним стабільним станом, а не доказом надмірного надання привілеїв. Вони тримаються поза списком невикористаних дозволів, а не роздувають його шумом.
Покриття та атрибуція все ще супроводжують ребро
Різниця успадковує багаторівневу точність від базових
ребер. На opaque сховищі (Redis, SQLite, D1) взагалі немає пасивного сигналу читання/запису,
тому відсутність спостереженого ребра не є доказом того, що доступ не
відбувся — це тиша. Так само спільний сервісний обліковий запис зводить атрибуцію до
approximate. Різниця ніколи не представляє висновок із низькою впевненістю так, ніби він твердий.
Коли різниця обчислюється на частковому вікні (дуже велика інфраструктура, що перевищує ліміт сторінки), результат явно позначається як частковий, а не представляється як авторитетний.
Детективний, не на шляху
Створення цієї різниці — це позасмугова, детективна діяльність. Площина управління працює у вашій власній інфраструктурі (і може бути ізольованою); вона спостерігає через журнали, OpenTelemetry та нативний аудит, і не знаходиться на шляху запиту між агентом та його ресурсами. Відмова колектора ніколи не порушує продакшн трафік.
Два наслідки. По-перше, різниця — це звіт, а не шлюз: вона показує те, що вже сталося. Де продукт діє на висновок, він робить це закрито за замовчуванням і на вимогу — ніколи як загальний виконавець. По-друге, читання різниці саме є привілейованою, обмеженою орендарем, повністю аудитованою дією: сам акт інспектування хто-може-дістатися-до-чого є релевантним для розвідки, і читання записується в журнал тільки для додавання перед поверненням будь-якого ребра.
Ось чому різницю безпечно запускати на чутливих інфраструктурах: карта зберігає відношення — джерело, ресурс, читання/запис, джерело, впевненість, часові мітки — ніколи корисне навантаження, тіла SQL, секрети чи PII, що пройшли через ребро. Те, що не зберігається, не може витекти.
Пов’язане
- Карта доступу читання/запису — граф, на якому ця різниця працює.
- Точність — як виводяться рівні покриття та атрибуції.
- Керування та затвердження — реагування на висновок.
- Огляд карти доступу — накладення дозволеного проти фактичного на реальному знімку.