
# Самообслуговуючий AI асистент комплаенсу: RAG поєднує рольовий контроль доступу для безпечної автоматизації анкет

У швидко мінливому світі SaaS безпекові анкети, аудити відповідності та оцінки постачальників стали ритуалом перевірки. Компанії, які здатні швидко, точно й з прозорою аудиторською слідуванням відповідати на такі запити, виграють контракти, утримують клієнтів та зменшують юридичні ризики. Традиційні ручні процеси — копіювання політик, пошук доказів та подвійна перевірка версій — вже не є сталими.

На сцену виходить **Самообслуговуючий AI асистент комплаенсу** (SSAIA). Об’єднавши **Retrieval‑Augmented Generation (RAG)** із **Role‑Based Access Control (RBAC)**, SSAIA надає кожному учаснику процесу — інженерам безпеки, менеджерам продукту, юридичним консультантам та навіть продавцям — можливість отримати потрібні докази, створити контекстно‑залежні відповіді та опублікувати їх у відповідному вигляді, все це з одного спільного хабу.

У цій статті розглядаються архітектурні стовпи, потік даних, гарантії безпеки та практичні кроки впровадження SSAIA у сучасній SaaS‑компанії. Ми також продемонструємо діаграму Mermaid, що ілюструє сквозний конвеєр, і підсумуємо рекомендаціями до дії.

---

## 1️⃣ Чому поєднувати RAG і RBAC?

| Аспект | Retrieval‑Augmented Generation (RAG) | Role‑Based Access Control (RBAC) |
|--------|--------------------------------------|-----------------------------------|
| **Основна мета** | Витягати релевантні фрагменти з бази знань та інтегрувати їх у текст, згенерований ШІ. | Забезпечити, що користувачі бачать або редагують лише те, на що мають дозвіл. |
| **Перевага для анкет** | Гарантує, що відповіді базуються на існуючих, перевірених доказах (політики, журнали аудиту, результати тестів). | Запобігає випадковому розкриттю конфіденційних контролів чи доказів неавторизованим особам. |
| **Вплив на відповідність** | Підтримує відповіді, засновані на доказах, які вимагаються [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/) тощо. | Відповідає вимогам законодавства про захист даних, що вимагають принципу найменшого привілею. |
| **Синергія** | RAG постачає *що*; RBAC керує *ким* і *як* цей контент використовується. | Разом вони забезпечують **безпечний, аудиторський та контекстно‑збагачений** процес генерації відповідей. |

Комбінація усуває два найбільші болі:

1. **Застарілі або нерелевантні докази** — RAG завжди отримує найактуальніший фрагмент на основі векторного схожості та метаданих.  
2. **Помилки людини у розкритті даних** — RBAC гарантує, що, наприклад, продавець бачить лише публічні витяги політик, а інженер безпеки може переглядати та прикріплювати внутрішні звіти про проникнення.

---

## 2️⃣ Огляд архітектури

Нижче наведено діаграму Mermaid високого рівня, що відображає основні компоненти та потік даних Самообслуговуючого AI асистента комплаенсу.

```mermaid
flowchart TD
    subgraph UserLayer["Шар взаємодії користувача"]
        UI[ "Веб‑інтерфейс / Slack‑бот" ]
        UI -->|Запит аутентифікації| Auth[ "Постачальник ідентичності (OIDC)" ]
    end

    subgraph AccessControl["Модуль RBAC"]
        Auth -->|Видає JWT| JWT[ "Підписаний токен" ]
        JWT -->|Валідація| RBAC[ "Точка прийняття рішення політики\n(PDP)" ]
        RBAC -->|Дозволити/Відмовити| Guard[ "Точка виконання політики\n(PEP)" ]
    end

    subgraph Retrieval["Рушій RAG‑витягнення"]
        Guard -->|Запит| VectorDB[ "Векторна база\n(FAISS / Pinecone)" ]
        Guard -->|Фільтрація метаданих| MetaDB[ "Метабаза\n(Postgres)" ]
        VectorDB -->|Топ‑K документи| Docs[ "Релевантні фрагменти документів" ]
    end

    subgraph Generation["Сервіс генерації LLM"]
        Docs -->|Контекст| LLM[ "Велика мовна модель\n(Claude‑3, GPT‑4o)" ]
        LLM -->|Відповідь| Draft[ "Чернетка відповіді" ]
    end

    subgraph Auditing["Аудит та версіонування"]
        Draft -->|Лог| AuditLog[ "Незмінний журнал\n(ChronicleDB)" ]
        Draft -->|Зберігання| Answers[ "Сховище відповідей\n(Encrypted S3)" ]
    end

    UI -->|Подати анкету| Query[ "Питання анкети" ]
    Query --> Guard
    Guard --> Retrieval
    Retrieval --> Generation
    Generation --> Auditing
    Auditing -->|Відобразити| UI
```

**Ключові моменти діаграми**

* **Постачальник ідентичності (IdP)** аутентифікує користувачів і видає JWT з ролями.  
* **Точка прийняття рішення політики (PDP)** оцінює ролі проти матриці дозволів (наприклад, *Читати публічну політику*, *Додавати внутрішні докази*).  
* **Точка виконання політики (PEP)** контролює кожен запит до рушія витягнення, гарантує, що повертаються лише дозволені докази.  
* **VectorDB** зберігає ембеддінги всіх артефактів відповідності (політики, аудиторські звіти, журнали тестів). **MetaDB** містить структуровані атрибути: рівень конфіденційності, дата перегляду, власник тощо.  
* **LLM** отримує підготовлені фрагменти та оригінальне питання, генерує чернетку, яку можна простежити до джерел.  
* **AuditLog** фіксує кожен запит, користувача та згенеровану відповідь, забезпечуючи повний форензичний огляд.

---

## 3️⃣ Моделювання даних: докази як структуровані знання

Надійний SSAIA базується на добре організованій базі знань. Нижче рекомендована схема для кожного елементу доказу:

```json
{
  "id": "evidence-12345",
  "title": "Звіт про пенетраційне тестування – Q2 2025",
  "type": "Report",
  "confidentiality": "internal",
  "tags": ["penetration-test", "network", "critical"],
  "owner": "security-team@example.com",
  "created_at": "2025-06-15T08:30:00Z",
  "last_updated": "2025-09-20T12:45:00Z",
  "version": "v2.1",
  "file_uri": "s3://compliance-evidence/pt-q2-2025.pdf",
  "embedding": [0.12, -0.04, ...],
  "metadata": {
    "risk_score": 8,
    "controls_covered": ["A.12.5", "A.13.2"],
    "audit_status": "approved"
  }
}
```

* **confidentiality** визначає фільтри RBAC — лише користувачі з роллю `security-engineer` можуть отримувати `internal` докази.  
* **embedding** живить семантичний пошук у VectorDB.  
* **metadata** дозволяє виконувати фасетований пошук (наприклад, «показати лише докази, затверджені для ISO 27001, ризик ≥ 7»).

---

## 4️⃣ Потік Retrieval‑Augmented Generation

1. **Користувач надсилає пункт анкети** — наприклад, *«Опишіть механізми шифрування даних у спокої»*.  
2. **RBAC‑охорона перевіряє роль користувача**. Якщо це *продукт‑менеджер* з доступом лише до публічних даних, пошук обмежується `confidentiality = public`.  
3. **Векторний пошук** повертає топ‑k (зазвичай 5‑7) найрелевантніших фрагментів.  
4. **Фільтри метаданих** додатково відсіюють, наприклад, лише документи зі статусом `audit_status = approved`.  
5. **LLM отримує підказку**:

   ```
   Питання: Опишіть механізми шифрування даних у спокої.
   Контекст:
   1. [Фрагмент з Політики A – деталі алгоритму шифрування]
   2. [Фрагмент з Архітектурної діаграми – процес управління ключами]
   3. [...]
   Надайте стислу, готову до аудиту відповідь. Цитуйте джерела за допомогою ID.
   ```

6. **Генерація** створює чернетку з вбудованими посиланнями: `Наша платформа шифрує дані у спокої за допомогою AES‑256‑GCM (Доказ ID: evidence‑9876). Обмін ключами здійснюється кожні 90 днів (Доказ ID: evidence‑12345).`  
7. **Людський огляд** (за потреби) — користувач може редагувати та схвалювати. Усі зміни версіонуются.  
8. **Відповідь зберігається** у зашифрованому сховищі, а незмінний аудиторський запис створюється.

---

## 5️⃣ Тонка грануляція рольового контролю доступу

| Роль | Дозволи | Типове використання |
|------|----------|----------------------|
| **Інженер безпеки** | Читати/писати будь‑які докази, генерувати відповіді, затверджувати чернетки | Глибокий аналіз внутрішніх контролів, прикріплення звітів про проникнення |
| **Продукт‑менеджер** | Читати лише публічні політики, генерувати відповіді (обмежені публічними доказами) | Підготовка маркетингових заяв про відповідність |
| **Юрисконсульт** | Читати всі докази, анотувати юридичні нюанси | Переконатися, що юридична мова відповідає вимогам юрисдикції |
| **Продавець** | Читати лише *публічні* відповіді, запитувати нові чернетки | Швидко відповідати на запити потенційних клієнтів |
| **Аудитор** | Читати всі докази, не може редагувати | Виконання сторонніх оцінок |

Тонкі дозволи можна описати у форматі **OPA (Open Policy Agent)**, що дозволяє динамічну оцінку на основі атрибутів запиту, таких як *тег питання* чи *риск‑скора доказу*. Приклад політики (JSON):

```json
{
  "allow": true,
  "input": {
    "role": "product-manager",
    "evidence_confidentiality": "public",
    "question_tags": ["encryption", "privacy"]
  },
  "output": {
    "reason": "Доступ дозволений: роль відповідає рівню конфіденційності."
  }
}
```

---

## 6️⃣ Аудиторський слід та переваги для відповідності

Аудиторам потрібно відповісти на три питання:

1. **Хто отримав доступ до доказу?** — логі JWT‑клеймів у `AuditLog`.  
2. **Які докази використано?** — цитати (`Evidence ID`) у відповіді, збережені разом із чернеткою.  
3. **Коли була згенерована відповідь?** — незмінні часові мітки у блокчейн‑подібному сховищі (наприклад, Amazon QLDB).

Ці журнали можна експортувати у CSV‑формат, сумісний із SOC 2, або зчитати через GraphQL‑API для інтеграції зі сторонніми панелями моніторингу відповідності.

---

## 7️⃣ План впровадження

| Етап | Ключові результати | Орієнтовний час |
|------|--------------------|------------------|
| **1. Фундаменти** | Налаштування IdP (Okta), визначення матриці RBAC, розгортання VectorDB & Postgres | 2 тижні |
| **2. Завантаження знань** | Побудова ETL‑конвеєру для PDF, markdown, таблиць → ембеддінги + метадані | 3 тижні |
| **3. Служба RAG** | Розгортання LLM (Claude‑3) в приватному середовищі, реалізація шаблонів підказок | 2 тижні |
| **4. UI та інтеграції** | Створення веб‑інтерфейсу, Slack‑бота, API‑з’єднання з Jira, ServiceNow | 4 тижні |
| **5. Аудит та звіти** | Реалізація незмінного журналу, версіонування, коннектори експорту | 2 тижні |
| **6. Пілот** | Запуск у команді безпеки, збір метрик (час відповіді, рівень помилок) | 4 тижні |
| **7. Масштабування** | Розширення ролей, навчання продажу та продукту, документування | Оngoing |

Ключові KPI:

* **Середній час відповіді** — ціль < 5 хв.  
* **Рівень повторного використання доказів** — % відповідей, що посилаються на існуючі докази (ціль > 80%).  
* **Кількість інцидентів у відповідності** — кількість виявлених недоліків у відповідях (ціль 0).

---

## 8️⃣ Приклад з реального світу: скорочення часу відповіді з днів до хвилин

*Компанія X* витрачала **30 днів** на відповіді на аудиторські анкети за **ISO 27001**. Після впровадження SSAIA:

| Показник | До SSAIA | Після SSAIA |
|-----------|-----------|--------------|
| Середній час відповіді | 72 години | 4 хвилини |
| Помилки копію‑вставка | 12 раз/міс | 0 |
| Місцезнаходження невідповідностей у доказах | 8 випадків | 0 |
| Оцінка задоволеності аудитора | 3,2 / 5 | 4,8 / 5 |

ROI‑розрахунок показав **$350 тис.** щорічної економії за рахунок зменшення витрат праці та швидших укладань контрактів.

---

## 9️⃣ Заходи безпеки та захист

1. **Zero‑Trust мережа** — усі сервіси в приватному VPC, обов’язкове mTLS.  
2. **Шифрування даних у спокої** — SSE‑KMS для S3, колонкове шифрування для PostgreSQL.  
3. **Захист від ін’єкції підказок** — санітизація вводу користувача, обмеження кількості токенів, фіксовані системні підказки.  
4. **Обмеження швидкості** — запобігання зловживанню кінцевою точкою LLM через API‑gateway.  
5. **Контроль у реальному часі** — включення CloudTrail, налаштування виявлення аномалій у патернах автентифікації.

---

## 🔟 Майбутні розширення

* **Federated Learning** — тренування локальної тонко‑налаштованої LLM на корпоративному жаргоні без передачі сирих даних зовнішнім провайдерам.  
* **Диференціальна приватність** — додавання шуму до ембеддінгів задля захисту чутливих доказів при збереженні якості пошуку.  
* **Багатомовний RAG** — автоматичний переклад доказів для глобальних команд, з підтримкою збереження посилань.  
* **Explainable AI** — візуалізація графа походження, що показує, які фрагменти вплинули на кожен токен відповіді, полегшуючи аудит.

---

## 📚 Висновки

* **Безпечна, аудиторська автоматизація** можлива завдяки поєднанню потужності RAG та суворого контрольного механізму RBAC.  
* **Структурована база знань** — ключ до успішного впровадження; включає ембеддінги, метадані та контроль версій.  
* **Людський нагляд** залишається критичним; система повинна *пропонувати*, а не *вимагати* остаточні відповіді.  
* **Впровадження, орієнтоване на метрики**, гарантує вимірювану віддачу інвестицій і підвищену впевненість у відповідності.

Інвестуючи у Самообслуговуючий AI асистент комплаенсу, SaaS‑компанії перетворюють традиційний вузький місце в стратегічну перевагу — швидші, точніші відповіді на анкети без ризику безпеки.

---

## <span class='highlight-content'>Дивіться також</span>

- [Retrieval‑Augmented Generation: The Next Frontier for Enterprise AI](https://arxiv.org/abs/2005.11401)  
- [Open Policy Agent (OPA) – Policy‑as‑Code for RBAC](https://www.openpolicyagent.org)  
- [Zero‑Trust Architecture for Cloud‑Native Applications](https://www.nist.gov/publications/zero-trust-architecture)