Files
oracle-deep-data-security-lab/scenarios/06-rag-vector-classified-docs/RUNBOOK.md
Rodrigo Pace 09bb0df326
Some checks failed
Repo Quality / structure (push) Has been cancelled
Add scenario runbooks and documentation updates
2026-05-08 13:23:37 -03:00

87 lines
2.5 KiB
Markdown

# Runbook - 06 RAG Vector Classified Docs
## Objetivo
Demonstrar que um agente RAG so recupera chunks/documentos autorizados antes de enviar contexto ao LLM.
## Valor De Seguranca
- Reduz over-retrieval em RAG.
- Evita que chunks confidenciais sejam enviados ao modelo.
- Combina vector search com data grants por classificacao.
## Pre-Requisitos
- Banco Oracle AI Database com suporte a `VECTOR`, `TO_VECTOR` e `VECTOR_DISTANCE`.
- Banco compativel com Oracle Deep Data Security.
- SQLcl ou SQL*Plus.
## Antes - Ambiente Vulneravel
1. Limpe o cenario:
```sql
@scenarios/06-rag-vector-classified-docs/sql/99_reset.sql
```
2. Crie chunks e personas, sem aplicar data grants:
```sql
@scenarios/06-rag-vector-classified-docs/sql/00_schema.sql
@scenarios/06-rag-vector-classified-docs/sql/01_seed_data.sql
@scenarios/06-rag-vector-classified-docs/sql/02_identities.sql
```
3. Simule a pergunta RAG:
```text
Resuma documentos criticos sobre renovacoes, pessoas e riscos legais.
```
4. Execute a busca vetorial:
```sql
@scenarios/06-rag-vector-classified-docs/sql/04_test_queries.sql
```
## Resultado Esperado Antes
- A busca pode recuperar chunks `HR_CONFIDENTIAL`, `LEGAL_CONFIDENTIAL` e `EXECUTIVE_CONFIDENTIAL`.
- O LLM poderia receber contexto sensivel antes mesmo de gerar a resposta.
## Depois - Aplicando Deep Data Security
1. Aplique data grants por classificacao:
```sql
@scenarios/06-rag-vector-classified-docs/sql/03_data_grants.sql
```
2. Execute a mesma busca como `nina`, `heitor`, `sofia` e `carlos`:
```sql
@scenarios/06-rag-vector-classified-docs/sql/04_test_queries.sql
```
## Resultado Esperado Depois
- `nina` recupera apenas `PUBLIC` e `INTERNAL`.
- `heitor` recupera conteudo de RH autorizado.
- `sofia` recupera conteudo juridico autorizado.
- `carlos` recupera todos os chunks por papel executivo.
- A camada RAG so envia contexto autorizado ao LLM.
## Evidencias Para Demo
- Lista de chunks recuperados antes/depois.
- Classificacoes visiveis por persona.
- Explicacao de que o controle ocorre antes da chamada ao LLM.
## Referencias Oficiais
- Oracle Deep Data Security Guide: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/index.html
- Create Data Grants: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/create-data-grants.html
- TO_VECTOR SQL Reference: https://docs.oracle.com/en/database/oracle/oracle-database/26/sqlrf/to_vector.html
- VECTOR operations in PL/SQL: https://docs.oracle.com/en/database/oracle/oracle-database/26/lnpls/sql-data-types.html