Принцип мінімально необхідних прав
1) Мета і визначення
Мета: допускати користувача/сервіс тільки до тих ресурсів, які строго необхідні для виконання конкретного завдання, на мінімально достатній термін і в мінімальному обсязі.
Визначення: «мінімум по широті (ресурси), глибині (операції), часу (TTL), контексту (гео/пристрій/зміна), чутливості (PII/фінанси)».
2) Базові принципи реалізації
1. Need-to-Know: кожне право пов'язане з конкретним purpose (підставою).
2. Time-Bound: підвищені права надаються з TTL (JIT); постійні права - тільки read/masked.
3. Scope-Bound: доступ обмежений по оренді/регіону/бренду/проекту (tenant/region scoping).
4. Data-Minimization: PII за замовчуванням маскована; de-mask - тільки при явній основі.
5. Traceability: будь-який доступ → журнал +'purpose '/' ticket _ id'.
6. Revocability: швидкий відгук (offboarding ≤ 15 хвилин, JIT - автовідгук).
3) Зв'язок з іншими контролями
RBAC: задає хто в принципі може (базова роль).
ABAC: уточнює в яких умовах (гео, пристрій/MDM, час, рівень KYC, ризик).
SoD: забороняє небезпечні комбінації ролей, вимагає 4-eyes для чутливих дій.
Сегментація: мережеві/логічні периметри (платіжний, KYC, DWH, секрети).
PAM/JIT/break-glass: безпечна видача тимчасових привілеїв та їх запис.
4) Класифікація ресурсів і операцій
Операції: 'READ','MASKED _ READ'( за замовчуванням для PII),'WRITE'( scoped),'APPROVE _'( 4-eyes),'EXPORT'( тільки через вітрини, підпис/журнал).
5) Інженерія прав «від завдання до доступу»
1. User Story → Purpose: «Аналітику потрібно побудувати звіт конверсії по ЄС без PII».
2. Перелік ресурсів: вітрина'agg _ conversions _ eu'.
3. Операції: 'READ'( без PII), заборона'EXPORT _ RAW'.
4. Контекст ABAC: робочі години, корп-VPN/MDM, регіон = EU.
5. TTL: постійний masked-read; JIT для разового демаскування (якщо потрібно).
6. Журнали: `READ`/`EXPORT` с `purpose` и `fields_scope`.
6) Маскування та вибіркове демаскування
Маскування e-mail/телефону/IBAN/PAN за замовчуванням;
Немаскований доступ ('pii _ unmask') - тільки JIT +'purpose'+ підтвердження власника домену/Compliance;
У звітах - агрегати/к-анонімність, заборона «малих вибірок» (privacy thresholds).
7) Тимчасові привілеї: JIT и break-glass
JIT: 15-120 хвилин, під тікет, автовідгук, повний аудит.
Break-glass: аварійний доступ (MFA + друге підтвердження, запис сесії, пост-рев'ю Security + DPO).
PAM: сейф секретів, сесійний проксі, ротація привілеїв.
8) Процеси (SOP)
8. 1 Видача доступу (IDM/ITSM)
1. Заявка з'purpose', ресурсами, TTL/постійністю.
2. Автоперевірка SoD/юрисдикції/класу даних/контекстів.
3. Схвалення власника домену; для Restricted+ — Security/Compliance.
4. Видача мінімального скоупа (часто masked-read).
5. Запис до реєстру прав: дата перегляду, SLA відкликання.
8. 2 Ре-сертифікація (quarterly)
Власник домену підтверджує кожну роль/групу; невикористовувані права (> 30/60 днів) - автовідгук.
8. 3 Експорт даних
Тільки через схвалені вітрини; білі списки форматів; підпис/хеш; журнал вивантажень; PII - за замовчуванням знеособлена.
9) Контроль вендорів/субпроцесорів
Мінімальні скопи API, окремі ключі per інтеграція, allow-list IP, вікна часу.
DPA/SLA: ролі, журнали доступів, ретеншн, географія, інциденти, субпроцесори.
Оффбординг: відкликання ключів, підтвердження видалення, акт закриття.
10) Аудит і моніторинг
Журнали: `ROLE_ASSIGN/REVOKE`, `JIT_GRANT`, `READ_PII`, `EXPORT_DATA`, `PAYMENT_APPROVE`, `BREAK_GLASS`.
SIEM/SOAR: алерти на доступ без'purpose', аномальні обсяги, вихід за вікно часу/гео, порушення SoD.
WORM: незмінна копія журналів + хеш-ланцюги/підписи.
11) Метрики зрілості (KPI/KRI)
Coverage: % критичних систем під RBAC/ABAC ≥ 95%.
Masked Reads Ratio: ≥ 95% звернень до PII - масковані.
JIT Rate: ≥ 80% підвищень прав ідуть як JIT.
Offboarding TTR: відкликання прав ≤ 15 хв.
Exports Signed: 100% експортів підписані і зажурналені.
SoD Violations: = 0; спроби - авто-блок/тікет.
Dormant Access Cleanup: ≥ 98% «висячих» прав видаляються протягом 24 год.
12) Типові сценарії
A) Разовий перегляд KYC для VIP-клієнта
Базово: masked-read у VIP-менеджера.
Дія: JIT-доступ'pii _ unmask'на 30 хв за тікетом, запис полів/скрін-лог, пост-рев'ю.
B) Інженеру потрібен доступ до prod-БД
Тільки через PAM + JIT ≤ 60 хв, записана сесія, заборона'SELECT'по PII, пост-рев'ю і CAPA при порушеннях.
C) BI-звіт з розрізом по країні
Доступ до агрегатів без PII; фільтр ABAC: 'region in [EEA]', корп-VPN/MDM, час 08:00–21:00.
13) Анти-патерни і як їх уникати
«Суперролі «/успадкування без кордонів → дробити на доменні ролі, включати ABAC.
Постійні привілеї «про всяк випадок» → JIT + автовідгук.
Копіювання prod-даних в dev/stage → псевдонімізація/синтетика.
Експорт PII поза вітринами → білі списки, підпис, журнал, маскування.
Відсутність'purpose'→ жорсткий блок і авто-тікет.
14) RACI (укрупнено)
15) Чек-листи
15. 1 Перед видачею доступу
- Вказано'purpose'і TTL
- Перевірка SoD/юрисдикцій пройдена
- Маскування за замовчуванням, мінімальний скоуп
- Умови ABAC: мережа/пристрій/час/регіон
- Журналювання та дата перегляду налаштовані
15. 2 Щоквартально
- Ревізія ролей/груп, автовідгук «висячих» прав
- Перевірка аномальних експортів і break-glass
- Підтверджене навчання з приватності/безпеки
16) Дорожня карта впровадження
Тижні 1-2: інвентаризація даних/систем, класифікація, базова матриця ролей, включення маскування за замовчуванням.
Тижні 3-4: ABAC (середовище/гео/MDM/час), JIT і PAM, білі списки експортів, журнали'purpose'.
Місяць 2: автоматизація offboarding, SOAR-алерти (без'purpose '/аномалії), квартальна ре-сертифікація.
Місяць 3 +: розширення атрибутів (рівень КУС/ризик пристрою), privacy thresholds, регулярні tabletop-навчання.
TL; DR
Least Privilege = мінімальний скоуп + маскування PII + контекст ABAC + JIT/PAM + жорсткий аудит і швидкий відгук. Робить доступ керованим, знижує ризик витоків/шахрайства і прискорює проходження аудитів.