
# Itsepalvelu AI‑yhteensopivuusavustaja: RAG kohtaa roolipohjaisen pääsyn turvallista kyselyautomaatiota varten

Nopeasti kehittyvässä SaaS‑maailmassa turvallisuuskyselyt, yhteensopivuusauditoinnit ja toimittajaarvioinnit ovat muodostuneet portinvartijarutiiniksi. Yritykset, jotka pystyvät vastaamaan näihin pyyntöihin nopeasti, tarkasti ja selkeällä auditointijäljellä, voittavat sopimuksia, säilyttävät asiakkaat ja vähentävät oikeudellisia riskejä. Perinteiset manuaaliset prosessit – politiikkakappaleiden kopioiminen, todisteiden etsiminen ja versioiden tarkistaminen – eivät enää kestä.

Tässä astuu kuvaan **Itsepalvelu AI‑yhteensopivuusavustaja** (SSAIA). Yhdistämällä **Retrieval‑Augmented Generation (RAG)** sekä **Roolipohjainen pääsynhallinta (RBAC)**, SSAIA valtuuttaa jokaisen sidosryhmän – turvallisuusinsinöörit, tuotepäälliköt, lakineuvonta ja jopa myyntiedustajat – hakemaan oikeat todisteet, luomaan kontekstitietoisia vastauksia ja julkaisemaan ne yhteensopivasti, kaikki yhdestä yhteistyöalustasta.

Tässä artikkelissa käymme läpi arkkitehtuurin pilarit, datan virtaus, turvallisuustakuut sekä käytännön askeleet SSAIA:n käyttöönottoon nykyaikaisessa SaaS‑organisaatiossa. Esittelemme myös Mermaid‑kaavion, joka kuvaa kokonaisputken, ja päätämme konkreettisilla toimenpiteillä.

---

## 1️⃣ Miksi yhdistää RAG ja RBAC?

| Näkökohta | Retrieval‑Augmented Generation (RAG) | Roolipohjainen pääsynhallinta (RBAC) |
|----------|--------------------------------------|--------------------------------------|
| **Keskeinen tavoite** | Hakea relevantteja osioita tietämyspankista ja integroida ne AI‑luotuun tekstiin. | Varmistaa, että käyttäjät näkevät tai muokkaavat vain heille sallittua dataa. |
| **Hyöty kyselyissä** | Varmistaa, että vastaukset perustuvat olemassa olevaan, tarkistettuun todisteeseen (politiikkadokumentit, auditointilokit, testitulokset). | Estää vahingossa tapahtuvan luottamuksellisten kontrollien tai todisteiden paljastumisen valtuuttamattomille osapuolille. |
| **Yhteensopivuusvaikutus** | Tukee todisteisiin perustuvia vastauksia, joita vaativat [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/) jne. | Noudattaa tietosuojalainsäädäntöä, joka vaatii vähimmän mahdollisen oikeuden (least‑privilege) käyttöä. |
| **Synergia** | RAG toimittaa *mitä*; RBAC hallitsee *kuka* ja *miten* tätä sisältöä käytetään. | Yhdessä ne tarjoavat **turvallisen, auditointikelpoisen ja kontekstirikkaan** vastausgenerointiprosessin. |

Kombinaatio poistaa kaksi suurinta kipupistettä:

1. **Vanhentunut tai epärelevantti todiste** – RAG hakee aina uusimman osion vektorisaman ja metadatan suodattimien perusteella.  
2. **Ihmisen tekemä datavuoto** – RBAC varmistaa, että esimerkiksi myyntiedustaja näkee vain julkiset politiikkakappaleet, kun taas turvallisuusinsinööri voi tarkastella sisäisiä tunkeutumistestiraportteja.

---

## 2️⃣ Arkkitehtuurin yleiskatsaus

Alla on korkean tason Mermaid‑kaavio, joka havainnollistaa Itsepalvelu AI‑yhteensopivuusavustajan keskeiset komponentit ja datavirran.

```mermaid
flowchart TD
    subgraph UserLayer["Käyttäjän vuorovaikutuskerros"]
        UI[ "Web‑käyttöliittymä / Slack‑botti" ]
        UI -->|Auth Request| Auth[ "Identiteettipalvelu (OIDC)" ]
    end

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

    subgraph Retrieval["RAG‑haku­moottori"]
        Guard -->|Query| VectorDB[ "Vektorikauppa\n(FAISS / Pinecone)" ]
        Guard -->|Metadata Filter| MetaDB[ "Metadatakanta\n(Postgres)" ]
        VectorDB -->|TopK Docs| Docs[ "Relevantit dokumenttiosiot" ]
    end

    subgraph Generation["LLM‑generointipalvelu"]
        Docs -->|Context| LLM[ "Suuri kielimalli\n(Claude‑3, GPT‑4o)" ]
        LLM -->|Answer| Draft[ "Vastausluonnos" ]
    end

    subgraph Auditing["Auditointi & versiointi"]
        Draft -->|Log| AuditLog[ "Immutable Log\n(ChronicleDB)" ]
        Draft -->|Store| Answers[ "Vastauskauppa\n(Encrypted S3)" ]
    end

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

**Kaavion avainkohdat**

* **Identiteettipalvelu (IdP)** todentaa käyttäjät ja antaa JWT‑tokenin, jossa on rooliväitteet.  
* **Policy Decision Point (PDP)** arvioi väitteet oikeuksiematriisia vastaan (esim. *Lue julkinen politiikka*, *Liitä sisäinen todiste*).  
* **Policy Enforcement Point (PEP)** puukottaa jokaisen pyynnön haku‑moottoriin, varmistaen, että vain valtuutettu todiste palautetaan.  
* **VectorDB** tallentaa kaikkien yhteensopivuusartifaktien (politiikat, auditointiraportit, testilokit) upotukset. **MetaDB** sisältää rakenteelliset attribuutit kuten luottamustason, viimeisen tarkistuspäivän ja omistajan.  
* **LLM** saa kuratoidun dokumenttijoukon ja alkuperäisen kyselyn, ja generoi lähteisiin sidotun luonnoksen.  
* **AuditLog** kirjaa jokaisen kyselyn, käyttäjän ja generoidun vastauksen, mikä mahdollistaa täydellisen forensiikkarin tarkastelun.

---

## 3️⃣ Datan mallinnus: Todisteet strukturoituna tietämyksenä

SSAIA:n menestys perustuu hyvin rakennettuun tietopankkiin. Suositeltu skeema kullekin todisteelle:

```json
{
  "id": "evidence-12345",
  "title": "Quarterly Penetration Test Report – 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** (luottamustaso) ohjaa RBAC‑suodattimia – vain käyttäjät, joilla on `role: security-engineer`, saavat sisäisiä todisteita.  
* **embedding** mahdollistaa semanttisen haun vektoritietokannassa.  
* **metadata** mahdollistaa *faceted* haun, esim. “näytä vain todisteet, jotka on hyväksytty ISO 27001:een ja riskiarvo ≥ 7”.

---

## 4️⃣ Retrieval‑Augmented Generation -virtaus

1. **Käyttäjä lähettää kyselyn** – esim. “Kuvaile, miten suojataan levossa olevat tiedot.”  
2. **RBAC‑suojake** tarkistaa käyttäjän roolin. Jos käyttäjä on *tuotepäällikkö* ja saa vain julkisen pääsyn, haku rajoittuu `confidentiality = public`.  
3. **Vektorihaku** palauttaa top‑k (yleensä 5‑7) semanttisesti relevanttia kappaletta.  
4. **Metadatansuodatus** poistaa tulokset, joissa esimerkiksi `audit_status != approved`.  
5. **LLM saa promptin**:  
   ```
   Question: Kuvaile, miten suojataan levossa olevat tiedot.  
   Context:  
   1. [Kappale politiikka A – salausalgoritmin yksityiskohdat]  
   2. [Kappale arkkitehtuurikaavio – avainhallintaprosessi]  
   3. [...]  
   Laadi ytimekäs, compliance‑valmis vastaus. Liitä lähteet käyttäen ID‑tunnisteita.  
   ```  
6. **Generointi** tuottaa luonnoksen, jossa on sisällytettyinä viitteet: `Alustamme salaa levossa olevat tiedot AES‑256‑GCM‑algoritmilla (Evidence ID: evidence‑9876). Avaimen kierrätys tapahtuu 90‑päivän välein (Evidence ID: evidence‑12345).`  
7. **Ihmisen tarkistus** (valinnainen) – käyttäjä voi muokata ja hyväksyä. Kaikki muokkaukset versioidaan.  
8. **Vastaus tallennetaan** salattuun vastauskauppaan ja **audit‑kirjaus** kirjoitetaan pysyvään lokiin.

---

## 5️⃣ Roolipohjainen pääsynhallinta tarkasti

| Rooli | Oikeudet | Tyypillinen käyttötapaus |
|-------|----------|--------------------------|
| Turvallisuussuunnittelija | Lue/kirjoita kaikki todisteet, generoi vastaukset, hyväksy luonnokset | Syväluotaus sisäisiin kontrolliin, liitä tunkeutumistestiraportit |
| Tuotepäällikkö | Lue julkiset politiikat, generoi vastaukset (rajoitettu julkiseen dataan) | Laadi markkinointiin soveltuvia compliance‑lausuntoja |
| Lakineuvoja | Lue kaikki todisteet, lisää oikeudellisia merkintöjä | Varmista, että sääntelyn kieli on paikallisesti oikea |
| Myyntiedustaja | Lue vain *julkisia* vastauksia, pyydä uusia luonnoksia | Vastaa nopeasti potentiaalisille asiakkaille RFP‑kysymyksiin |
| Tarkastaja | Lue kaikki todisteet, mutta ei voi muokata | Suorita kolmannen osapuolen auditointeja |

Räätälöidyt oikeudet voidaan toteuttaa **OPA‑politiikoina (Open Policy Agent)**, jolloin päätökset tehdään dynaamisesti pyynnön ominaisuuksien, kuten *kysymystunnisteen* tai *todisteen riskiarvon* perusteella. Esimerkki‑politiikka (JSON):

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

---

## 6️⃣ Audit‑jälki & compliance‑hyödyt

Auditointiin vaadittavat kolme kysymystä:

1. **Kuka on katsellut todisteita?** – JWT‑väitteiden lokit `AuditLog`‑taulussa.  
2. **Mitä todisteita vastauksessa on käytetty?** – Viitteet (`Evidence ID`) sisällytettynä vastaukseen ja tallennettuna.  
3. **Milloin vastaus on generoitu?** – Muuttumattomat aikaleimat (ISO 8601) kirjoitettu kirjoituskertaiseen lokiin (esim. Amazon QLDB tai lohkoketju).

Nämä lokit voidaan viedä **SOC 2**‑yhteensopivaan CSV‑muotoon tai hakea GraphQL‑rajapinnan kautta ja liittää ulkoisiin compliance‑koontinäyttöihin.

---

## 7️⃣ Toteutusroadmap

| Vaihe | Merkittävät virstanpylväät | Aikataulu |
|------|-----------------------------|-----------|
| **1. Perustukset** | IdP‑asennus (Okta), RBAC‑matriisin määrittely, VectorDB & Postgres‑infrastruktuuri | 2 viikkoa |
| **2. Tietopankin syöttö** | ETL‑putki PDF‑, markdown‑ ja spreadsheet‑tiedostojen jäsentämiseen → upotukset + metatiedot | 3 viikkoa |
| **3. RAG‑palvelu** | LLM (Claude‑3) privaatin endpointin käyttöön, prompt‑mallien toteutus | 2 viikkoa |
| **4. UI & integraatiot** | Web‑käyttöliittymä, Slack‑botti, integraatiot (Jira, ServiceNow) | 4 viikkoa |
| **5. Auditointi & raportointi** | Immutable‑audit‑log, versionointi, vientiliittimet | 2 viikkoa |
| **6. Pilotti & palaute** | Käyttöönotto turvallisuustiimissä, mittareiden keruu (käsittelyaika, virheprosentti) | 4 viikkoa |
| **7. Laajamittainen käyttöönotto** | RBAC‑roolien laajentaminen, koulutus myynti‑ & tuotepäälliköille, dokumentaatio | Jatkuva |
| **KPIt** | Keskimääräinen vastausaika < 5 min, 80 % todisteiden uudelleenkäyttöaste, audit‑poikkeamat = 0 | — |

---

## 8️⃣ Reaalimaailman esimerkki: Aika päivistä minuutteihin

*Yritys X* kamppaili **30 päivän** keskimääräisen vasteajan kanssa **ISO 27001**‑auditointikyselyissä. SSAIA:n käyttöönoton jälkeen:

| Mittari | Ennen SSAIA | Jälkeen SSAIA |
|---------|--------------|---------------|
| Keski‑vastausaika | 72 tuntia | 4 minuuttia |
| Manuaaliset kopioi‑liitä -virheet | 12 kpl/kk | 0 |
| Todisteiden versio-epäjohdonmukaisuudet | 8 kpl | 0 |
| Tarkastajan tyytyväisyys | 3,2 / 5 | 4,8 / 5 |

ROI‑laskelma paljasti **350 k€** vuotuista säästöä työvoiman vähenemisestä ja nopeammista kauppojen sulkemisista.

---

## 9️⃣ Turvallisuusharkinnat & vahvistaminen

1. **Zero‑Trust‑verkko** – Kaikki palvelut yksityisessä VPC:ssä, pakollinen mTLS.  
2. **Salaus levossa** – SSE‑KMS S3‑ämpäreille, sarake‑tason salaus PostgreSQL‑tietokannassa.  
3. **Prompt‑injektion torjunta** – Syötteen sanitointi, token‑pituuden rajoitus, kiinteä järjestelmäprompti.  
4. **Nopeusrajoitus** – API‑gateway’n kautta LLM‑päätepisteen suojaus.  
5. **Jatkuva valvonta** – CloudTrail‑lokit, poikkeavuuksien tunnistus autentikointimallissa.

---

## 🔟 Tulevaisuuden kehitysmahdollisuudet

* **Federated Learning** – Paikallinen hienosäätö LLM:lle ilman, että raakadata lähtee organisaatiosta.  
* **Differential Privacy** – Lisää melua upotuksiin suojataksesi arkaluontoisia todisteita, säilyttäen haun tarkkuus.  
* **Monikielinen RAG** – Automaattinen käännös todisteista globaalille tiimille, säilyttäen lähdeviitteet.  
* **Selitettävä AI** – Näytä provenance‑kaavio, joka yhdistää jokaisen vastaus-tokenin lähdeosioon, helpottaen auditointia.

---

## 📚 Keskeiset kohdat

* **Turvallinen, auditointikelpoinen automaatio** on saavutettavissa yhdistämällä RAG:n kontekstuaalinen voima RBAC:n tiukkaan oikeushallintaan.  
* **Hyvin strukturoitu todisteiden tietovarasto** – upotukset, metatiedot ja versiointi – on perusta.  
* **Ihmisen tarkistus** säilyy olennaisena; avustajan tulisi *ehdottaa* eikä *sanella* lopullista vastausta.  
* **Mittaripohjainen käyttöönotto** varmistaa, että järjestelmä tuottaa mitattavaa ROI:ta ja compliance‑luottamusta.

Investoimalla Itsepalvelu AI‑yhteensopivuusavustajaan yritykset voivat muuttaa perinteisen manuaalisen pullonkaulan strategiseksi etulyöntiasemaksi – tarjota nopeampia, tarkempia vastauksia turvallisuuskyselyihin samalla säilyttäen korkein mahdollinen turvallisuustaso.

---

## <span class='highlight-content'>Katso</span> myös

- [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)