
# Samoobslužný AI asistent pro soulad: RAG potkává řízení přístupu na základě rolí pro automatizaci bezpečných dotazníků

Ve rychle se měnícím světě SaaS se bezpečnostní dotazníky, audity shody a hodnocení dodavatelů staly obřadním vstupním testem. Firmy, které dokáží rychle, přesně a s jasným auditním záznamem odpovědět na tyto požadavky, získávají zakázky, udržují zákazníky a snižují právní rizika. Tradiční manuální procesy – kopírování úryvků politik, hledání důkazů a dvojí kontrola verzí – už nejsou udržitelné.

Přichází **Samoobslužný AI asistent pro soulad** (SSAIA). Spojením **Retrieval‑Augmented Generation (RAG)** s **Role‑Based Access Control (RBAC)** umožňuje SSAIA všem zainteresovaným stranám – bezpečnostním inženýrům, produktovým manažerům, právníkům i obchodním zástupcům – získávat správné důkazy, generovat kontextově‑uvědomělé odpovědi a publikovat je v souladu se zásadami, a to vše z jednoho spolupracujícího hubu.

Tento článek popisuje architektonické pilíře, datový tok, bezpečnostní záruky a praktické kroky pro nasazení SSAIA v moderní SaaS organizaci. Ukážeme také Mermaid diagram, který ilustruje end‑to‑end pipeline, a uzavřeme článok s konkrétními doporučeními.

---

## 1️⃣ Proč kombinovat RAG a RBAC?

| Aspekt | Retrieval‑Augmented Generation (RAG) | Role‑Based Access Control (RBAC) |
|--------|--------------------------------------|-----------------------------------|
| **Hlavní cíl** | Vyhledá relevantní úryvky z databáze znalostí a integruje je do AI‑generovaného textu. | Zajistí, že uživatelé vidí nebo upravují pouze data, ke kterým mají oprávnění. |
| **Výhoda pro dotazníky** | Zaručuje, že odpovědi jsou založeny na existujících, ověřených důkazech (politiky, auditní logy, výsledky testů). | Zabraňuje náhodnému odhalení důvěrných kontrol či důkazů neoprávněným osobám. |
| **Dopad na soulad** | Podporuje odpovědi založené na důkazech požadované např. [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/). | Vyhovuje předpisům o ochraně dat, které vyžadují princip nejmenších oprávnění. |
| **Synergie** | RAG poskytuje *co*, RBAC řídí *kdo* a *jak* je obsah používán. | Společně dodávají **bezpečný, auditovatelný a kontextově bohatý** workflow generování odpovědí. |

Kombinace eliminuje dva největší problémy:

1. **Zastaralé nebo irelevantní důkazy** – RAG vždy načte nejaktuálnější úryvek na základě vektorové podobnosti a metadatových filtrů.  
2. **Lidská chyba při odhalování dat** – RBAC zajistí, že například obchodní zástupce může získat jen veřejné výňatky politik, zatímco bezpečnostní inženýr může prohlížet a připojovat interní penetrační testy.

---

## 2️⃣ Architektonický přehled

Níže je vysoká úroveň Mermaid diagramu zachycující hlavní komponenty a datový tok Samoobslužného AI asistenta pro soulad.

```mermaid
flowchart TD
    subgraph UserLayer["User Interaction Layer"]
        UI[ "Web UI / Slack Bot" ]
        UI -->|Auth Request| Auth[ "Identity Provider (OIDC)" ]
    end

    subgraph AccessControl["RBAC Engine"]
        Auth -->|Issue JWT| JWT[ "Signed Token" ]
        JWT -->|Validate| RBAC[ "Policy Decision Point\n(PDP)" ]
        RBAC -->|Allow/Deny| Guard[ "Policy Enforcement Point\n(PEP)" ]
    end

    subgraph Retrieval["RAG Retrieval Engine"]
        Guard -->|Query| VectorDB[ "Vector Store\n(FAISS / Pinecone)" ]
        Guard -->|Metadata Filter| MetaDB[ "Metadata DB\n(Postgres)" ]
        VectorDB -->|TopK Docs| Docs[ "Relevant Document Chunks" ]
    end

    subgraph Generation["LLM Generation Service"]
        Docs -->|Context| LLM[ "Large Language Model\n(Claude‑3, GPT‑4o)" ]
        LLM -->|Answer| Draft[ "Draft Answer" ]
    end

    subgraph Auditing["Audit & Versioning"]
        Draft -->|Log| AuditLog[ "Immutable Log\n(ChronicleDB)" ]
        Draft -->|Store| Answers[ "Answer Store\n(Encrypted S3)" ]
    end

    UI -->|Submit Questionnaire| Query[ "Questionnaire Prompt" ]
    Query --> Guard
    Guard --> Retrieval
    Retrieval --> Generation
    Generation --> Auditing
    Auditing -->|Render| UI
```

**Klíčové poznatky z diagramu**

* **Identity Provider (IdP)** autentizuje uživatele a vydává JWT obsahující role.  
* **Policy Decision Point (PDP)** vyhodnocuje tato tvrzení vůči matici oprávnění (např. *Číst veřejnou politiku*, *Připojit interní důkaz*).  
* **Policy Enforcement Point (PEP)** blokuje každý požadavek na retrieval engine a zajišťuje, že jsou vráceny jen oprávněné důkazy.  
* **VectorDB** uchovává vektory všech souvisejících artefaktů (policy, auditní zprávy, logy testů). **MetaDB** obsahuje strukturované atributy jako úroveň důvěrnosti, datum poslední revize a vlastníka.  
* **LLM** dostává kurátorský soubor dokumentových úryvků a originální dotazník, generuje návrh, který je **traceable** ke svým zdrojům.  
* **AuditLog** zachycuje každý dotaz, uživatele i vygenerovanou odpověď, což umožňuje úplnou forenzní revizi.

---

## 3️⃣ Modelování dat: Důkazy jako strukturované znalosti

Úspěšné fungování SSAIA závisí na dobře strukturované databázi znalostí. Níže je doporučené schéma pro každý důkazový element:

```json
{
  "id": "evidence-12345",
  "title": "Zpráva o čtvrtletním penetračním testu – 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** řídí RBAC filtry – jen uživatelé s `role: security-engineer` mohou získat `internal` důkazy.  
* **Embedding** pohání semantické vyhledávání ve VectorDB.  
* **Metadata** umožňuje *fascetové* vyhledávání (např. „ukázat jen důkazy schválené pro ISO 27001, riziko ≥ 7“).

---

## 4️⃣ Tok Retrieval‑Augmented Generation

1. **Uživatel odešle položku dotazníku** – např. „Popište, jaké šifrování používáte pro data v klidu.“  
2. **RBAC guard ověří roli uživatele**. Pokud je to *product manager* s přístupem jen k veřejným údajům, guard omezí vyhledávání na `confidentiality = public`.  
3. **Vektorové vyhledávání** načte nejrelevantnější úryvky (typicky 5‑7).  
4. **Metadatové filtry** dále ořezají výsledky (např. jen dokumenty s `audit_status = approved`).  
5. **LLM dostane prompt**:
   ```
   Question: Popište, jaké šifrování používáte pro data v klidu.
   Context:
   1. [Úryvek z Politiky A – podrobnosti o algoritmu šifrování]
   2. [Úryvek z Architektonického diagramu – tok správy klíčů]
   3. [...]
   Poskytněte stručnou, soulad‑připravenou odpověď. Citujte zdroje pomocí ID.
   ```  
6. **Generování** vytvoří návrh odpovědi s inline citacemi: `Naše platforma šifruje data v klidu pomocí AES‑256‑GCM (Důkaz ID: evidence‑9876). Rotace klíčů probíhá každých 90 dní (Důkaz ID: evidence‑12345).`  
7. **Lidská revize** (volitelná) – uživatel může upravit a schválit. Veškeré úpravy jsou verzovány.  
8. **Odpověď je uložena** v šifrovaném Answer Store a zapsán immutable auditní záznam.

---

## 5️⃣ Granularita řízení přístupu na základě rolí

| Role | Oprávnění | Typické použití |
|------|-----------|-----------------|
| **Security Engineer** | Číst a zapisovat jakýkoli důkaz, generovat odpovědi, schvalovat návrhy | Hluboký přehled o interních kontrolách, připojování penetration‑test zpráv |
| **Product Manager** | Číst veřejné politiky, generovat odpovědi (omezené na veřejné důkazy) | Vytvářet marketingově přívětivé souladové výpisy |
| **Legal Counsel** | Číst všechny důkazy, anotovat právní dopady | Zajišťovat, že regulatorní jazyk odpovídá jurisdikci |
| **Sales Rep** | Číst pouze *veřejné* odpovědi, požadovat nové návrhy | Rychle reagovat na RFP potenciálních zákazníků |
| **Auditor** | Číst všechny důkazy, ale nemůže editovat | Provádět třetí‑stranné audity |

Jemné oprávnění lze vyjádřit pomocí **OPA (Open Policy Agent)** politik, což umožňuje dynamické vyhodnocení na základě atributů požadavku jako *tag dotazníku* nebo *risk score* důkazu. Příklad OPA politiky (JSON):

```json
{
  "allow": true,
  "input": {
    "role": "product-manager",
    "evidence_confidentiality": "public",
    "question_tags": ["encryption", "privacy"]
  },
  "output": {
    "reason": "Access granted: role matches confidentiality level."
  }
}
```

---

## 6️⃣ Auditní stopa a výhody pro soulad

Auditní požadavky často kladou tři otázky:

1. **Kdo přistoupil k důkazu?** – JWT claimy zaznamenány v `AuditLog`.  
2. **Jaký důkaz byl použit?** – Citace (`Evidence ID`) vložené do odpovědi a uložené spolu s návrhem.  
3. **Kdy byla odpověď vytvořena?** – Nezapisovatelné časové razítko (ISO 8601) uložené v write‑once ledgeru (např. Amazon QLDB nebo blockchain‑backed úložiště).

Tyto logy lze exportovat ve formátu kompatibilním se **SOC 2** nebo zkonzumentovat pomocí **GraphQL** API pro integraci s externími dashboardy souhladu.

---

## 7️⃣ Implementační roadmapa

| Fáze | Milníky | Odhadovaný čas |
|------|----------|----------------|
| **1. Základy** | Nastavení IdP (Okta), definice RBAC matice, provisioning VectorDB & Postgres | 2 týdny |
| **2. Ingestace znalostí** | Vybudovat ETL pipeline pro zpracování PDF, markdown a spreadsheet → embedding + metadata | 3 týdny |
| **3. RAG služba** | Deploy LLM (Claude‑3) za privátním endpointem, implementace prompt šablon | 2 týdny |
| **4. UI & integrace** | Vytvořit web UI, Slack bota a API hooky pro existující ticketovací systémy (Jira, ServiceNow) | 4 týdny |
| **5. Auditing & reporting** | Implementovat immutable audit log, versioning a exportní konektory | 2 týdny |
| **6. Pilot & feedback** | Spustit pilot s bezpečnostním týmem, sbírat metriky (doba obratu, chybovost) | 4 týdny |
| **7. Široké nasazení** | Rozšířit RBAC role, školení pro obchod a produkt, publikovat dokumentaci | Ongoing |
| **KPI** | Průměrná doba odpovědi < 5 min, míra opětovného využití důkazů > 80 %, počet auditních incidentů = 0 | - |

---

## 8️⃣ Praktický příklad: Snížení doby odezvy z dnů na minuty

*Firma X* se potýkala s **30‑denním průměrem** na odpovědi na auditní dotazníky ISO 27001. Po nasazení SSAIA:

| Metrika | Před SSAIA | Po SSAIA |
|--------|------------|----------|
| Průměrná doba odpovědi | 72 hodin | 4 minuty |
| Manuální chyby při kopírování | 12 za měsíc | 0 |
| Neshodnosti verzí důkazů | 8 incidentů | 0 |
| Spokojenost auditorů | 3.2 / 5 | 4.8 / 5 |

ROI kalkulace ukázala **úsporu $350 k ročně** díky snížení práce a rychlejším uzavírkám zakázek.

---

## 9️⃣ Bezpečnostní úvahy a posílení

1. **Zero‑Trust síť** – Všechny služby běží v privátním VPC, vynucuje se Mutual TLS.  
2. **Šifrování v klidu** – SSE‑KMS pro S3 bucket, column‑level šifrování pro PostgreSQL.  
3. **Mitigace prompt injection** – Sanitizace uživatelského vstupu, omezení délky tokenu a přidání pevného system promptu.  
4. **Rate limiting** – Ochrana LLM endpointu před zneužitím pomocí API gateway.  
5. **Kontinuální monitoring** – Aktivace CloudTrail logů, nastavení detekce anomálií v autentizačních vzorcích.

---

## 🔟 Budoucí vylepšení

* **Federované učení** – Trénovat lokálně fine‑tuned LLM na firemním žargonu bez odesílání surových dat externím poskytovatelům.  
* **Differenciální soukromí** – Přidávat šum do embeddingů pro ochranu citlivých důkazů při zachování kvality vyhledávání.  
* **Vícejazykový RAG** – Automatický překlad důkazů pro globální týmy, s udržením citací napříč jazyky.  
* **Explainable AI** – Zobrazit graf provenance spojující každý token odpovědi se zdrojovými úryvky, usnadňující audit.

---

## 📚 Závěry

* **Bezpečná, auditovatelná automatizace** je dosažitelná spojením síly RAG s přísným řízením přístupu RBAC.  
* **Dobře strukturovaná databáze důkazů** – kompletní s embeddingy, metadaty a verzováním – je základem.  
* **Lidský dohled** zůstává klíčový; asistent by měl *navrhovat*, ne *vynučovat* finální odpovědi.  
* **Nasazení řízené metrikami** zajišťuje měřitelné ROI a důvěru v soulad.

Investicí do Samoobslužného AI asistenta pro soulad mohou SaaS firmy proměnit historicky časově náročnou překážku v strategickou výhodu – poskytovat rychlé, přesné odpovědi na dotazníky a zároveň zachovat nejvyšší úroveň bezpečnosti.

---

## <span class='highlight-content'>Viz také</span>

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