1. ์๋ก : ์ RAG 2.0์ธ๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ฌด์์ด ๋ฌ๋ผ์ก๋๊ฐ?
1.1 RAG์ ๋ถ์๊ณผ ๊ตฌ์กฐ์ ํ์
Retrieval-Augmented Generation (RAG)๋ ์์ฑ AI์ ์๋ก์ด ํ์ฉ ๋ฐฉ์์ผ๋ก ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค. RAG๋ ๋ํ ์ธ์ด ๋ชจ๋ธ(LLM)์ด ์ฌ์ ํ์ต๋ ์ ๋ณด์ ์์กดํ๋ ํ๊ณ๋ฅผ ๋์ด์, ์ธ๋ถ์์ ๊ฒ์ํ ๋ฌธ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ ์ง์์ ์ค์๊ฐ์ผ๋ก ํ๋กฌํํธ์ ์ฝ์ ํ์ฌ ์๋ต์ ์ ํ์ฑ๊ณผ ์ต์ ์ฑ์ ๊ทน๋ํํฉ๋๋ค. ์ด๋ก ์ธํด GPT-4๋ Claude, Gemini์ ๊ฐ์ ๊ณ ๋ํ๋ ๋ชจ๋ธ ์กฐ์ฐจ๋ ์์ฒด ์ง์๋ง์ผ๋ก๋ ๋์ํ๊ธฐ ์ด๋ ค์ด ๊ธฐ์ ๋ด๋ถ ์ง์์ ๋์ ์ ํ๋๋ก ์๋ตํ ์ ์๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ฌํ ๊ตฌ์กฐ์ ์ง๋ณด๋ ๋์์ ์๋ก์ด ๋ณด์ ์ํ์ ์ด๋ํฉ๋๋ค. ํนํ ๋ฉํฐํ ๋ํธ ํ๊ฒฝ์์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋์ผํ ๋ฒกํฐ ์ธํ๋ผ๋ ํ๋กฌํํธ ์ฒด์ธ์ ๊ณต์ ํ ๊ฒฝ์ฐ, ์ ๊ทผ ๊ถํ์ ์ด๊ณผํ ๋ฌธ์๊ฐ ๊ฒ์๋์ด ํ๋กฌํํธ์ ์ฝ์ ๋๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ๊ถํ ์๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋ ์ ์์ต๋๋ค. ์ด๋ ๋จ์ํ ํ๋กฌํํธ ์ค๊ณ ์คํจ๊ฐ ์๋๋ผ, LLM ์ด์ ๋จ๊ณ์์ ๋ฐ์ํ๋ ๊ฒ์ ๋ฐ ์ฃผ์ ํ๋ฆ์ ํต์ ์คํจ๋ก ์ธํด ์๊ธฐ๋ ๊ตฌ์กฐ์ ๊ฒฐํจ์ ๋๋ค[1].
-
๋ฒกํฐ ์ธํ๋ผ (Vector Infrastructure)
- ๋ฌธ์, ์ง์, ๋ก๊ทธ ๋ฑ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ ๋ฉ(embedding)ํ์ฌ ๋ฒกํฐ ํํ๋ก ์ ์ฅํ๋ ์์คํ ๊ตฌ์ฑ
- RAG์์๋ ์ฌ์ฉ์์ ์ง๋ฌธ์ด ์ด ๋ฒกํฐ ๊ณต๊ฐ์์ ๊ฐ์ฅ ์ ์ฌํ ๋ฌธ์๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฃผ๋ก Pinecone, Weaviate, Qdrant, FAISS ๋ฑ์ ๋ฒกํฐDB๊ฐ ํ์ฉ๋ฉ๋๋ค.
-
ํ๋กฌํํธ ์ฒด์ธ (Prompt Chain)
- ๊ฒ์๋ ๋ฌธ์๋ฅผ LLM์ ์ ๋ฌํ๊ธฐ ์ํ ์ผ๋ จ์ ํ๋กฌํํธ ๊ตฌ์ฑ ์ ์ฐจ
- ์ ์ฒด ํ๋ฆ: ์ฌ์ฉ์ ์ง๋ฌธ โ ๋ฌธ์ ๊ฒ์ โ ํ๋กฌํํธ ์ฃผ์ โ ์๋ต ์์ฑ
- ์ผ๋ฐ์ ์ผ๋ก LangChain, LlamaIndex ๋ฐ AutoGen๊ณผ ๊ฐ์ ํ๋ ์์ํฌ์์ ์ฒด๊ณ์ ์ผ๋ก ์ ์๋ฉ๋๋ค.
๊ธฐ์กด IAM(Identity and Access Management) ๊ธฐ๋ฐ ์ธ์ฆ ๋๋ RBAC(Role Based Access Control) ์ค์ฌ์ ๊ถํ ๊ด๋ฆฌ ์ฒด๊ณ๋ก๋ ์ด๋ฌํ ํ๋ฆ์ ์๋ฒฝํ ํต์ ํ ์ ์์ต๋๋ค. ํนํ ๋ฒกํฐ ๊ฒ์์ ์ ํ ์ฟผ๋ฆฌ๊ฐ ์๋ ์ ์ฌ๋ ๊ธฐ๋ฐ ์ถ๋ก ์ ์์กดํ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ๋ถ์์ ํ๊ณ ์์ธก ๋ถ๊ฐ๋ฅํ๋ฉฐ, ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง์ด ๋๋ฝ๋๋ฉด, ACL์ด ์กด์ฌํ๋๋ผ๋ ์ค์ ์๋ต ํ๋ฆ์์๋ ๋ฌด์๋๋ ๊ฒฐ๊ณผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ RAG ๋ณด์์ ๋จ์ ๋ฌธ์ ๊ฒฉ๋ฆฌ ์์ค์์ ์คํ ์์ ๋ณด์ ์ ์ด(runtime security control)๋ก ํ์ฅํด์ผ ํ๋ค๋ ์ฃผ์ฅ์ด ํ์ ์ป๊ณ ์์ต๋๋ค[2].
1.2 ์คํ ๊ธฐ๋ฐ ์ํ ์๋๋ฆฌ์ค: Kenny ์ฌ๋ก
QueryPie๋ ์ด๋ฌํ ๊ตฌ์กฐ์ ๋ณด์ ์ทจ์ฝ์ฑ์ ๋ด๋ถ ์คํ์ ํตํด ๊ตฌ์ฒด์ ์ผ๋ก ๊ฒ์ฆํ์์ต๋๋ค. ๋ค์์ ํด๋น ์คํ ์ค ๊ฐ์ฅ ๋ํ์ ์ธ ์ํ ์๋๋ฆฌ์ค๋ก ์ ๋ฆฌ๋ "Kenny ์ฌ๋ก"์ ๋๋ค.
์คํ ๊ธฐ๋ฐ ์ฌ๋ก: Kenny์ Brant์ ์ฐ๋ด ์ ๋ณด ์ ์ถ
![[๊ทธ๋ฆผ 1] ์คํ ๊ธฐ๋ฐ ์๋๋ฆฌ์ค: Kenny ์ฌ๋ก](/whitepapers/23/wp23-1-threat-scenario-kenny-case.png)
-
์ํฉ ๊ตฌ์ฑ
- Kenny: ๋ณด์ํ ์์์ผ๋ก, ํ๋ก์ ํธ ํ์๋ก๊ณผ ์ฐ๋ด ์ ๋ณด๊ฐ ํฌํจ๋ ๋ฌธ์๋ฅผ ์ฌ๋ด Confluence์ ์ ๋ก๋
- Brant: ๊ฐ๋ฐํ ์์์ผ๋ก, "์ต๊ทผ ์ ์ฌ์์ ์ฐ๋ด ๋ฒ์๋?"์ด๋ผ๋ ์ง๋ฌธ์ ์ฌ๋ด RAG ๊ธฐ๋ฐ ์์ด์ ํธ์ ์ ์ก
- ์์คํ ๊ตฌ์กฐ: ์ธ์ฆ์ ๋์ด ์์ผ๋, ๊ฒ์ ์ user_id ๊ธฐ๋ฐ ๋ฉํ๋ฐ์ดํฐ ํํฐ ๋ฏธ์ ์ฉ
-
์ํ ๊ฒฝ๋ก
- a. Brant์ ์ง๋ฌธ์ด ๋ฒกํฐ ๊ฒ์์ ์ ๋ํจ
- b. Kenny ์์ฑ ๋ฌธ์๊ฐ ์ ์ฌ๋ ๊ธฐ์ค์ผ๋ก ์ ํ๋์ด ํ๋กฌํํธ์ ์ฝ์ ๋จ
- c. ํด๋น ๋ฌธ์์ ์ฐ๋ด ์ ๋ณด ์์ฝ์ด ํฌํจ๋ ์๋ต์ด LLM์ ํตํด ์์ฑ๋์ด Brant์๊ฒ ๋ฐํ๋จ
- d. Brant๋ ์์ ์ ์ ๊ทผ ๊ถํ์ ์ด๊ณผํ๋ ๋ฏผ๊ฐ ์ ๋ณด๋ฅผ ์ ๋ฌ๋ฐ์
-
์์ธ ๋ถ์
- ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ(user_id)๋ ์กด์ฌํ์ผ๋, ๊ฒ์ API ๊ณ์ธต์์ ํํฐ๋ง ๋ฏธ์ ์ฉ
- ์ธ์ ๊ธฐ๋ฐ ๊ถํ ๋ถ๊ธฐ ๋ฏธ๊ตฌํ
- ํ๋กฌํํธ ์ฃผ์ ์ ์ปจํ ์คํธ ์ ์ด ๋ถ์ฌ
๋ฒกํฐ DB์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ๋ฐฉ์ - ๋ฌธ์ ์ธ๋ฑ์ฑ ๋ฐ ๋ฒกํฐํ
1. ์๋ฌธ ๋ถํ (Chunking)
- ๊ธด ๋ฌธ์๋ ๋ฌธ๋จ ๋๋ ์๋ฏธ ๋จ์๋ก ์๊ฒ ์ชผ๊ฐฌ (์: 500~1000 tokens)
- Kenny์ Confluence ๋ฌธ์๊ฐ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋จ
2. ์๋ฒ ๋ฉ ์์ฑ (Embedding)
- ๊ฐ ์กฐ๊ฐ์ ์๋ฒ ๋ฉ ๋ชจ๋ธ(์: OpenAI, Cohere, BGE ๋ฑ)์ ํตํด ๊ณ ์ฐจ์ ๋ฒกํฐ๋ก ๋ณํ๋จ
- ์:
vector = embed("ํด๋น ๋ฌธ์ ์กฐ๊ฐ ๋ด์ฉ")
3. ๋ฒกํฐ์ ๋ฉํ๋ฐ์ดํฐ ๊ฒฐํฉ ํ ์ ์ฅ
๋ฒกํฐ์ ํจ๊ป ๋ค์๊ณผ ๊ฐ์ ๋ฉํ๋ฐ์ดํฐ๊ฐ JSON ํํ๋ก ๊ฒฐํฉ๋์ด ์ ์ฅ๋จ:
{
"vector": [0.12, -0.45, ..., 0.33],
"metadata": {
"doc_id": "CONF-2024-001",
"user_id": "kenny",
"department": "security",
"upload_time": "2024-03-11T08:15:00Z",
"sensitivity": "confidential"
}
}
4. ๋ฒกํฐ DB ์ ์ฅ (Vector Database Storage)
- ์ด๋ฌํ ๊ฒฐํฉ๋ ๋ฒกํฐ์ ๋ฉํ๋ฐ์ดํฐ๋ Pinecone, Weaviate, Qdrant ๋๋ FAISS์ ๊ฐ์ ๋ฒกํฐ DB์ ์ ์ฅ๋จ
๋ฉํ๋ฐ์ดํฐ๊ฐ ์ฐ๊ฒฐ๋๋ ๋ฐฉ์ - ๋ฒกํฐ์ ๋ณ๊ฐ๊ฐ ์๋ โ๊ฒฐํฉ ๊ตฌ์กฐโ
- ๋๋ถ๋ถ์ ๋ฒกํฐ DB๋ ๋ฒกํฐ + ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ผ์ฒดํ ๊ฐ์ฒด๋ก ๋ค๋ฃธ
- ์: Weaviate์
Object๋จ์, Pinecone์Item, Qdrant์Point - ๋ฐ๋ผ์ ์ ์ฅ ์ ๋ฉํ๋ฐ์ดํฐ๋ ๊ฒ์ ์กฐ๊ฑด ํํฐ๋ง์ ์ฌ์ฉ ๊ฐ๋ฅ
์์ โ Kenny์ ๋ฌธ์ ์ ์ฅ ๊ตฌ์กฐ
| Field | Value |
|---|---|
vector | [0.12, -0.45, ...] |
user_id | "kenny" |
doc_id | "CONF-2024-001" |
department | "security" |
sensitivity | "confidential" |
๊ฒ์ ์ ์๋ ๋ฐฉ์ - Brant์ ์ง์๊ฐ ์ฒ๋ฆฌ๋๋ ๊ณผ์
- ์ฌ์ฉ์ ์ ๋ ฅ โ "์ต๊ทผ ์ ์ฌ์์ ์ฐ๋ด ๋ฒ์๋?"
- ์๋ฒ ๋ฉ ์์ฑ โ ์ฟผ๋ฆฌ ๋ฒกํฐ๊ฐ ์์ฑ๋จ
- ๋ฒกํฐ ์ ์ฌ๋ ๊ฒ์
- ํํฐ๋ง ๋ฏธ์ ์ฉ โ Kenny์ ๋ฌธ์๊ฐ ๊ฒฐ๊ณผ์ ํฌํจ๋จ
- Top-K ์ ์ฌ ๋ฌธ์ ์ ํ โ ํ๋กฌํํธ๋ก ์ฝ์
- LLM ์๋ต ์์ฑ โ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ Brant์๊ฒ ์ ๋ฌ๋จ
ํต์ฌ ๋ฌธ์ : ํํฐ ์กฐ๊ฑด ๋ฏธ์ ์ฉ
์ด์์ ์ธ ๊ตฌ์กฐ๋ผ๋ฉด ์๋์ ๊ฐ์ด ์ธ์ ๊ธฐ๋ฐ ๋์ ํํฐ๊ฐ ์๋ํด์ผ ํจ:
results = vector_db.search(
vector=query_vector,
top_k=5, // ์ ์ฌ๋๊ฐ ๊ฐ์ฅ ๋์ 5๊ฐ
filter={
"user_id": {"$eq": "brant"},
"sensitivity": {"$ne": "confidential"}
}
)
ํ์ง๋ง Brant๋ ๊ถํ ๊ธฐ๋ฐ ํํฐ ์์ด ์ ์ฌ๋ ๊ธฐ์ค์ผ๋ก Kenny์ ๋ฌธ์๋ฅผ ๋ฐ์๋ณด๊ฒ ๋จ
์ด ์ฌ๋ก๋ ๋ณด์ ์ฌ๊ณ ๊ฐ LLM์ ์๋ต ์์ฑ ๋จ๊ณ๊ฐ ์๋, ๊ทธ ์ด์ ์ ๋ฒกํฐ ๊ฒ์ ๋ฐ ๋ฌธ์ ์ฝ์ ๋จ๊ณ์์ ์ด๋ฏธ ๊ฒฐ์ ๋๋ค๋ ์ ์ ๋ถ๋ช ํ ๋ณด์ฌ์ค๋๋ค. ๋ชจ๋ธ์ด ์๋ชป ์์ฑํ ๊ฒ์ด ์๋๋ผ, ์์คํ ์ด ๊ถํ์ด ์๋ ๋ฌธ์๋ฅผ ํ๋กฌํํธ์ ํ์ฉํ ๊ฒ์ด ๋ฌธ์ ์ ํต์ฌ์ ๋๋ค[2].
1.3 RAG 2.0์ ๋ฑ์ฅ: ์ ์ ๊ฒ์ ๊ธฐ๋ฐ(static retrieval-based structure)์์ ์คํ ์์ ๋ณด์ ์ ์ด(runtime security control)๋ก์ ์ ํ
์ด๋ฌํ ๋ฌธ์ ์์ ์์์ ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก RAG 2.0์ ๋๋ค. RAG 1.0์ด ์๋ฒ ๋ฉ, ๊ฒ์, ์ฝ์ , ์๋ต์ด๋ผ๋ ๊ณ ์ ๋ 4๋จ๊ณ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์๋ค๋ฉด, RAG 2.0์ ๋ค์๊ณผ ๊ฐ์ ๋ณด์ ์ค์ฌ์ ์คํ ๊ธฐ๋ฐ ํ๊ฐ ํ๋ฆ์ ์งํฅํฉ๋๋ค:
RAG 2.0 ๋ณด์ ๋ชจ๋ธ์ ์ฃผ์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ธ์ ๊ธฐ๋ฐ ์ ์ฑ ํ๊ฐ(Session-based policy evaluation)
- ํ๋กฌํํธ ์ฝ์ ์ ๋ฉํ๋ฐ์ดํฐ ํํฐ ์ ์ฉ
- ์คํ ํ๋ฆ ์ค๊ฐ์ ๊ถํ ๋ถ๊ธฐ ๋ฐ ์ฐจ๋จ
- ์๋ต ๊ทผ๊ฑฐ์ ์ถ์ (Explainable provenance)
- ์ฌ์ฉ์/๋ฌธ์/์ปจํ ์คํธ ๋จ์์ ACL ํตํฉ ๊ด๋ฆฌ
์ด๋ฌํ ํต์ ์์๋ ๊ธฐ์กด์ ์ธ์ฆ/์ธ๊ฐ ์์คํ ์ธ๋ถ์์ ์ฒ๋ฆฌ๋๋ ๊ฒ์ด ์๋๋ผ, LLM ํธ์ถ ์ ํ์ ์คํ ์์ (runtime)์์ ๋ณด์ ์ ์ฑ ์ด ๋์ ์ผ๋ก ํ๊ฐ๋์ด์ผ ํ๋ฉฐ, ์ด๋ฅผ ํตํด์๋ง ์ง์ ํ ์๋ฏธ์ ๋ฐ์ดํฐ ๋ณด์ ๊ฒฉ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค. RAG 2.0์ ํต์ฌ์ ๊ฒ์๊ณผ ์๋ต ์ฌ์ด์ ์ ์ฑ ํ๋ฆ ํตํฉ์ด๋ฉฐ, ์ด๋ ๋จ์ ์ ๊ทผ์ ์ด๊ฐ ์๋ ํ๋กฌํํธ ๊ตฌ์ฑ ๊ถํ์ ๋ถ๊ธฐ์ ๊ฒ์ฆ์ ํฌํจํฉ๋๋ค[3].
1.4 ์คํ ์์ ๋ณด์ ์ ์ด(runtime security control)์ ํ์์ฑ: ๋๊ฐ ๋ฌด์์, ์ธ์ ์ด๋ค ๋ฌธ์๋ฅผ ์ฐธ์กฐํ ์ ์๋๊ฐ?
์์ ์ดํด๋ณธ ๋ฐ์ ๊ฐ์ด, RAG 2.0 ํ๊ฒฝ์์๋ ๋จ์ํ ์ ์ ํํฐ๋ง์ด๋ ์ฌ์ฉ์ ์ธ์ฆ๋ง์ผ๋ก๋ ๋ณด์ ํต์ ๊ฐ ์์ฑ๋์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฌด์์ ์์ฒญํ๋์ง๋ฟ ์๋๋ผ, ๊ทธ ์์ฒญ์ ๋ํด ์ด๋ค ๋ฌธ์๊ฐ ์ธ์ , ๋๊ตฌ์ ์ํด ์ ๊ณต๋์๋์ง๋ฅผ ๋์ ์ผ๋ก ํ๊ฐํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฅธ๋ฐ ์คํ ์์ ๋ณด์ ์ ์ด(runtime security control)๊ฐ ์๊ตฌ๋๋ ์ด์ ์ ๋๋ค.
์ค์ ๋ก Microsoft, Meta, ๊ทธ๋ฆฌ๊ณ QueryPie์ ๊ฐ์ ๊ธฐ์ ๋ค์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ด๋ฌํ ๋ฌธ์ ์ ์ ๊ทผํ๊ณ ์์ผ๋ฉฐ, ์คํ ๊ธฐ๋ฐ ์ ์ฑ ํต์ ๊ตฌ์กฐ๋ฅผ ์ ์ง์ ์ผ๋ก ๋ด์ฌํํ๊ณ ์์ต๋๋ค. ์ด๋ค์ ๊ตฌ์กฐ๋ ์์ดํด ๋ณด์ด์ง๋ง, ๊ณตํต์ ์ผ๋ก โ๋ชจ๋ธ์ด ๋ต์ ์์ฑํ๊ธฐ ์ ์, ์ด๋ค ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์๋์ง๋ฅผ ํ๊ฐํ๋คโ๋ ๋ณด์ ์ฒ ํ์ ๊ณต์ ํ๊ณ ์์ต๋๋ค.
| ๊ธฐ์ | ์ ์ฑ ํ๊ฐ ์์น | ์ ์ฉ ๋ฐฉ์ ์์ฝ |
|---|---|---|
| Microsoft | Copilot API ๊ณ์ธต(PDP ์ญํ ์ํ) | Microsoft Graph ๊ธฐ๋ฐ ๋ฌธ์ ๊ถํ์ ํ์ธํ ํ ํ๋กฌํํธ ์ฝ์ ์ฌ๋ถ ๊ฒฐ์ |
| Meta | ์ค์ผ์คํธ๋ ์ดํฐ ๋ด๋ถ ์ ์ฑ ํ๊ฐ | ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ + ์ธ์ ์ปจํ ์คํธ ๊ธฐ๋ฐ ์ฝ์ ์ ์ฑ ์ ์ฉ |
| QueryPie | MCP Agent PAM ํ๋ก์ ๊ณ์ธต ์ ์ฒด ํ๋ฆ | ์ฌ์ฉ์, ๋ฌธ์, ์๊ฐ ๋ฐ ๋ฆฌ์คํฌ ๊ธฐ๋ฐ OPA ์ ์ฑ ํ๊ฐ + ์คํ ์ ์ด |
์ด๋ฌํ ์ ๋ต์ ํ๋ฆ๊ณผ ๊ตฌํ์์ ์ฐจ์ด๋ 5์ฅ์์ ์์ธํ ๋ถ์ํฉ๋๋ค. ์ด ๋ฐฑ์์ ํ๋ฐ์์๋, ๋จ์ผ ์ ์ฑ ํต์ ๊ณ์ธต์ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ธฐ์ ์ ์ ๊ทผ๋ฒ๊ณผ, ์คํ ํ๋ฆ์ ์ ์ดํ ์ ์๋ ์ ์ฑ ๊ตฌ์ฑ ์กฐ๊ฑด์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํ ์์ ์ ๋๋ค.
2. ๋ฉํฐํ ๋ํธ RAG ๋ณด์ ์ํคํ ์ฒ ๊ตฌํ ์ฌ๋ก
2.1 ์คํ ๊ธฐ๋ฐ ์ฌ๋ก ๊ฐ์: ๋ฉํฐํ ๋ํธ RAG ํ๊ฒฝ์์์ ์ฌ์ฉ์ ๊ฒฉ๋ฆฌ ์คํจ
RAG๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์ ์๋ฒ ๋ฉ, ๋ฒกํฐ ๊ฒ์, ํ๋กฌํํธ ์ฝ์ , ์๋ต ์์ฑ์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฆ ๋๋ค. ์ด ์ค ๋ฒกํฐ ๊ฒ์๊ณผ ํ๋กฌํํธ ์ฝ์ ๋จ๊ณ๋ ์ธ๋ถ ๋ฌธ์๋ฅผ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์ ๊ถํ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ณด ํ๋ฆ์ ํต์ ํ์ง ์์ผ๋ฉด ๋ฐ์ดํฐ ์ ์ถ ์ํ์ด ๋งค์ฐ ๋์์ง๋๋ค.
ํนํ ๋ฉํฐํ ๋ํธ SaaS ํ๊ฒฝ์์๋ ์ฌ๋ฌ ์กฐ์ง ๋๋ ์ฌ์ฉ์์ ๋ฌธ์๊ฐ ๋์ผํ ๋ฒกํฐ ์ ์ฅ์์ ์ธํ๋ผ์์ ๊ณต์กดํ๋ฉฐ, ๊ฐ ์ฌ์ฉ์ ์ธ์ ์ด ๊ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋ ์คํ ์์ ์ ๊ถํ ํ๊ฐ๊ฐ ์ํ๋์ง ์์ผ๋ฉด, ๋น์ธ๊ฐ ์ ๋ณด๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๋ ธ์ถ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ์์ ๋ฐ์ํ๋ ํต์ฌ ๋ฌธ์ ๋ ์ฌ์ฉ์ ๊ธฐ๋ฐ ์ ๊ทผ ํต์ (User-level Authorization) ๊ฐ ๋๋ฝ๋ ์ํ์์ ๋ฒกํฐ ์ ์ฌ๋ ๊ธฐ์ค๋ง์ผ๋ก ๋ฌธ์๊ฐ ์ ํ๋์ด, LLM ํ๋กฌํํธ์ ๋น์ธ๊ฐ ๋ฌธ์๊ฐ ํฌํจ๋๋ค๋ ์ ์ ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก, RAG ๋ณด์์ ํต์ฌ์ LLM ์๋ต์ด ์๋, ๊ทธ ์ด์ ๋จ๊ณ์ธ ๊ฒ์ ๋ฐ ๋ฌธ์ ์ฝ์ ๊ณ์ธต์์์ ๊ถํ ์ ์ด์ ๋ฌ๋ ค ์์ผ๋ฉฐ, ์ด๋ ์ธ์ ๊ธฐ๋ฐ ์ฌ์ฉ์ ๊ฒฉ๋ฆฌ(Session-based User Isolation) ์์ด๋ ์คํ๋ ์ ์์ต๋๋ค.
๋ค์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค์ ๊ธฐ์ ๊ณผ ์คํ์์ค ํ๋ก์ ํธ๋ค์ด ์ด๋ค ๊ตฌ์กฐ์ ์ ๊ทผ์ ํ๊ณ ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ตฌํ ์ฌ๋ก๋ค์ ๋๋ค.
2.2 Microsoft: API ๊ฒ์ดํธ์จ์ด ๊ธฐ๋ฐ์ ํ ๋ํธ ๋ผ์ฐํ ๋ฐ ๋ฉํ๋ฐ์ดํฐ ํํฐ
Microsoft๋ Azure OpenAI ๊ธฐ๋ฐ ๋ฉํฐํ ๋ํธ RAG ์๋ฃจ์ ์์, ์ฌ์ฉ์ ์ธ์ฆ๊ณผ ๋ฌธ์ ์ ๊ทผ ์ ์ด๋ฅผ ๋จ์ผ API ๊ฒ์ดํธ์จ์ด ๊ณ์ธต์์ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ณ ์์ต๋๋ค. ์ด ๊ตฌ์กฐ๋ ๋จ์ํ ์ง์๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ด ์๋๋ผ, ์คํ ์์ ์์ ์ฌ์ฉ์์ ์ธ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฒกํฐ ๊ฒ์ ๋์๊ณผ ๊ฒฐ๊ณผ ๋ฌธ์๋ฅผ ๋์ ์ผ๋ก ํต์ ํฉ๋๋ค.
์ฌ์ฉ์๊ฐ RAG ์์ฒญ์ ๋ณด๋ผ ๊ฒฝ์ฐ, API Gateway๋ ๋จผ์ OAuth ํ ํฐ์ ๊ฒ์ฆํ๊ณ ์ฌ์ฉ์์ ํ
๋ํธ๋ฅผ ์๋ณํ ํ, ํด๋น ํ
๋ํธ ์ ์ฉ ๋ฒกํฐ ์ ์ฅ์๋ก ์์ฒญ์ ๋ผ์ฐํ
ํฉ๋๋ค. ๊ณต์ฉ ์ ์ฅ์์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ์๋ user_id, tenant_id, access_scope ๋ฑ ๋ฉํ๋ฐ์ดํฐ ์กฐ๊ฑด์ ๋ฐํ์ผ๋ก ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ์ฌ ๋ฏผ๊ฐ ๋ฌธ์๊ฐ ํ๋กฌํํธ์ ์ฝ์
๋์ง ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ์ ํ๋ ๋ฌธ์์ ์์ฑ๋ ์๋ต์ ๋ชจ๋ ๊ฐ์ฌ ๋ก๊ทธ๋ก ์ ์ฅ๋๋ฉฐ, ์คํ ๋ณด์๊ณผ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ํจ๊ป ํ๋ณดํฉ๋๋ค [7].
์ด๋ฌํ ์ํคํ ์ฒ๋ API Gateway โ Orchestrator โ Vector DB โ LLM โ Logging์ด๋ผ๋ ์ผ๋ จ์ ํ๋ฆ ์์์ ์คํ ์์ ์ ๊ทผ ํต์ (runtime policy enforcement)๋ฅผ ์คํํ ๋ํ์ ์ฌ๋ก์ ๋๋ค.
๋ค์ด์ด๊ทธ๋จ: Microsoft RAG ๋ณด์ ํ๋ฆ ๊ตฌ์กฐ
![[๊ทธ๋ฆผ 2] Microsoft RAG ๋ณด์ ํ๋ก์ฐ](/whitepapers/23/wp23-2-microsoft-rag-security-flow.png)
ํต์ฌ ์ ์ด ๊ธฐ๋ฅ ํ ์ด๋ธ
| ์ ์ด ํญ๋ชฉ | ๊ตฌํ ๋ฐฉ์ ์ค๋ช |
|---|---|
| ์ฌ์ฉ์ ์ธ์ฆ | OAuth ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ ๋ฐ ์ธ์ ์ถ์ถ |
| ํ ๋ํธ ๋ถ๋ฆฌ | API Gateway์์ ์ํ๋๋ ํ ๋ํธ ๋ผ์ฐํ ์ํ |
| ๋ฌธ์ ์ ๊ทผ ์ ์ด | user_id, tenant_id ๊ธฐ๋ฐ ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง |
| ์คํ ์์ ์ ์ฑ ํ๊ฐ | ๊ฒ์ ์ง์๋ง๋ค ๋์ ํํฐ ์ ์ฉ |
| ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ | ์ ํ๋ ๋ฌธ์, ์์ฑ๋ ์๋ต ๋ฐ ์ง์ ๋ก๊ทธ๋ฅผ ๊ฐ์ฌ ์์คํ ์ ๊ธฐ๋ก |
2.3 AWS: S3 ๊ธฐ๋ฐ Knowledge Base ๋ด ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง๊ณผ ๋ ผ๋ฆฌ์ ๋ถ๋ฆฌ ๊ตฌ์กฐ
AWS ํ๊ฒฝ์์๋ ๋ฉํฐํ ๋ํธ RAG ์์คํ ์ ๊ตฌํํ ๋, S3 ๋ฒํท์ ์ค์ฌ์ผ๋ก ๋จ์ผ Knowledge Base๋ฅผ ๊ตฌ์ฑํ๋, ๋ด๋ถ์ ์ผ๋ก ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํํฐ๋ง๊ณผ ๋ ผ๋ฆฌ์ ๋ถ๋ฆฌ(logical partitioning)๋ฅผ ๊ฒฐํฉํ์ฌ ๋ณด์ ๊ฒฝ๊ณ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
S3์ ์ ์ฅ๋ ๋ฌธ์๋ค์ x-amz-meta-* ํ์์ ์ปค์คํ
๋ฉํ๋ฐ์ดํฐ๋ฅผ ํตํด tenant_id, access_level, classification ๋ฑ์ ์ ๋ณด๋ฅผ ๋ถ์ฌ๋ฐ์ต๋๋ค. ์ดํ RAG ๊ฒ์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด, SageMaker ๋๋ Bedrock ๊ธฐ๋ฐ์ ์ค์ผ์คํธ๋ ์ด์
๊ณ์ธต์์ ์ฟผ๋ฆฌ ๋ฒกํฐ์ ํจ๊ป IAM ์ธ์ฆ ์ ๋ณด ๋๋ JWT๋ฅผ ์ถ์ถํ์ฌ, ๊ถํ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฌธ์๋ง ๊ฒ์ ๋์์ผ๋ก ์ค์ ํฉ๋๋ค.
๊ณตํต ๋ฒกํฐ DB(์: Amazon OpenSearch ๋๋ Kendra)๋ฅผ ์ฌ์ฉํ๋๋ผ๋, ๋ฌธ์ ์ ๊ทผ์ ๋ฉํ๋ฐ์ดํฐ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋์ ํํฐ๋ง๋๋ฉฐ, ์ด๋ ๋จ์ผ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ํ ๋ํธ๋ฅผ ๋ถ๋ฆฌํ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์๊ฐ ๊ณต์ ์ ์ฅ์์ ์กด์ฌํ๋๋ผ๋, ๊ฐ ์ฌ์ฉ์ ๋๋ ์กฐ์ง์ ์์ ์ด ์ ๊ทผํ ์ ์๋ ๋ฌธ์๋ง์ ๋์์ผ๋ก ๋ฒกํฐ ๊ฒ์ ๋ฐ ํ๋กฌํํธ ์ฝ์ ์ ์ํํ๊ฒ ๋ฉ๋๋ค.[8]
์ด ๊ตฌ์กฐ๋ ์ค์ ์ธํ๋ผ ๋ถ๋ฆฌ๋ฅผ ํ์ง ์๋๋ผ๋ ๋ฉํฐํ ๋์ ๋ณด์์ ๊ตฌํํ ์ ์๋ ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ ผ๋ฆฌ ๊ฒฝ๊ณ(LBAC: Label-Based Access Control) ๋ชจ๋ธ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
๋ค์ด์ด๊ทธ๋จ: AWS S3 ๊ธฐ๋ฐ ๋ฉํฐํ ๋์ RAG ๊ตฌ์กฐ
![[๊ทธ๋ฆผ 3] AWS ๋ฉํฐํ
๋ํธ RAG ์ํคํ
์ฒ with S3](/whitepapers/23/wp23-3-aws-multi-tenant-rag-architecture-with-s3.png)
ํต์ฌ ์ ์ด ๊ธฐ๋ฅ ํ ์ด๋ธ
| ์ ์ด ํญ๋ชฉ | ๊ตฌํ ๋ฐฉ์ ์ค๋ช |
|---|---|
| ์ธ์ฆ ์ ๋ณด ์ ๋ฌ | IAM Role ๋๋ JWT ํ ํฐ ๊ธฐ๋ฐ ์ฌ์ฉ์ ์๋ณ |
| ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ ์ ์ฉ | x-amz-meta.tenant_id, access_level ๋ฑ์ผ๋ก ๋ฌธ์ ๋ถ๋ฅ |
| ๋ฒกํฐ ๊ฒ์ ํํฐ๋ง | ๊ฒ์ ์์ฒญ ์ ๋ฉํ๋ฐ์ดํฐ ์กฐ๊ฑด ํํฐ๋ก ์ ํจํ ๋ฌธ์๋ง ๋์ํ |
| ๋ ผ๋ฆฌ์ ํ ๋ํธ ๋ถ๋ฆฌ ๊ตฌํ | S3 ๋ด๋ถ ๋ ผ๋ฆฌ ๋ถ๋ฆฌ + ๋ฒกํฐ DB ๋ด ๋ฉํ ํํฐ ์กฐํฉ์ผ๋ก ํ ๋์ ๊ตฌ๋ถ |
| ์๋ต ๋ณด์ ๋ณด์ฅ | ํ์ฉ๋ ๋ฌธ์ ์กฐ๊ฐ๋ง ํ๋กฌํํธ์ ์ฝ์ ๋๋๋ก ์ ํ |
2.4 LlamaIndex: ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํํฐ๋ง์ ๊ฐ๊ฒฐํ ๊ตฌ์กฐ
LlamaIndex๋ Search-to-Generate ์ํคํ
์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉด์๋, ๋งค์ฐ ๋จ์ํ๊ณ ๋ช
ํํ ๋ฐฉ์์ผ๋ก ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ณด์์ ๊ตฌํํฉ๋๋ค. LlamaIndex์ ํต์ฌ ํน์ง์ ๊ฐ ๋ฌธ์ ์กฐ๊ฐ(chunk)์ ์ธ๋ฑ์ฑํ ๋ metadata={"user_id": ..., "department": ..., "access_level": ...} ํ์์ ํค-๊ฐ ๊ตฌ์กฐ๋ก ์ ์ฅํ๊ณ , ๊ฒ์ ์ ์ด ํ๋๋ฅผ ํ์ฉํด ํํฐ ์กฐ๊ฑด์ ์ ์ฉํ๋ ๋ฐฉ์์
๋๋ค.
์ด ๊ตฌ์กฐ๋ ๋ณต์กํ IAM ์์คํ
์ด๋ ์ธ๋ถ ๊ถํ ์๋น์ค ์์ด๋, ๋จ์ผ Python ์ ํ๋ฆฌ์ผ์ด์
๋ด์์ ์ฌ์ฉ์ ์ธ์
์ ๋ณด์ ๋ฐ๋ผ ๊ถํ ํ๊ฐ๋ฅผ ์ํํ ์ ์๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ธ์
์์ ์ ์ถ๋ user_id ๋๋ role ๊ฐ์ ๋ฐ๋ผ ์ฟผ๋ฆฌ ํํฐ๊ฐ ๋์ ์ผ๋ก ์์ฑ๋๋ฉฐ, LLM์ ์ ๋ฌ๋๋ ๋ฌธ์๋ ํญ์ ํด๋น ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์กฐ๊ฐ์ผ๋ก ์ ํ๋ฉ๋๋ค.
๋ํ LlamaIndex๋ ๋ฒกํฐ ๊ฒ์ ์์ง(Faiss, Weaviate, Qdrant ๋ฑ)๊ณผ ์ ์ฐํ๊ฒ ์ฐ๋๋๋ฉฐ, ๊ฒ์ ๊ฒฐ๊ณผ์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๊ฒฐํฉ๋ ํํ๋ก ๋ฐํ๋์ด ๊ฒฐ๊ณผ ํํฐ๋ง ๋ก์ง์ ๋งค์ฐ ๋จ์ํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค.
๊ณต์ ๋ฐ๋ชจ์์๋ ์๋ก ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๋์ผํ ์ง๋ฌธ์ ์ ๋ ฅํ๋๋ผ๋, ๊ฐ ์ฌ์ฉ์๋ ์์ ์ด ์ ๋ก๋ํ ๋ฌธ์์ ๊ธฐ๋ฐํ ์๋ต๋ง ๋ฐ์ ์ ์์ผ๋ฉฐ, ๊ถํ์ด ์๋ ๋ฌธ์๋ ๊ฒ์ ๋จ๊ณ์์ ์ ์ธ๋ฉ๋๋ค. ์ด๋ ํ๋กฌํํธ ์ฃผ์ ์ด์ ์ ๋ฉํ๋ฐ์ดํฐ ํํฐ ์กฐ๊ฑด์ ๊ฐ์ ์ ์ฉํจ์ผ๋ก์จ, ๋งค์ฐ ์ง๊ด์ ์ด๊ณ ๊ฒฝ๋ํ๋ ์คํ ์์ ์ ์ด(runtime enforcement)๋ฅผ ์คํํ ๋ํ ์ฌ๋ก์ ๋๋ค [9].
๋ค์ด์ด๊ทธ๋จ: LlamaIndex์ ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง ๊ตฌ์กฐ
![[๊ทธ๋ฆผ 4] LlamaIndex์ ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํํฐ๋ง](/whitepapers/23/wp23-4-metadata-based-filtering-in-llamaindex.png)
ํต์ฌ ์ ์ด ๊ธฐ๋ฅ ํ ์ด๋ธ
| ์ ์ด ํญ๋ชฉ | ๊ตฌํ ๋ฐฉ์ ์ค๋ช |
|---|---|
| ๋ฌธ์ ์ธ๋ฑ์ฑ | ๋ฌธ์ chunk ๋จ์๋ก ๊ด๋ จ metadata ํ๋์ ํจ๊ป ์ ์ฅ |
| ์ธ์ ์ ๋ณด ๊ธฐ๋ฐ ํ๊ฐ | user_id, department, access_level ๊ธฐ์ค์ผ๋ก ํํฐ ์กฐ๊ฑด ์์ฑ |
| ๊ฒ์ ํํฐ๋ง | ๋ฒกํฐ ์ ์ฌ๋ ๊ฒ์๊ณผ ๋์์ metadata ์กฐ๊ฑด์ผ๋ก ํ๋ณด ์ ํ |
| ๋ ผ๋ฆฌ์ ํ ๋ํธ ๋ถ๋ฆฌ | ๋ฉํ๋ฐ์ดํฐ์ ๋ฒกํฐ ์คํ ์ด ํํฐ๋ง์ ๊ฒฐํฉํ์ฌ ํจ๊ณผ์ ์ธ ๋ถ๋ฆฌ ์์ฑ |
| ๊ตฌ์กฐ์ ๊ฐ๊ฒฐ์ฑ | ๋ณ๋ ์ธ์ฆ ์์คํ ์์ด Python ๋ด ๋ก์ง๋ง์ผ๋ก ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ |
| ํตํฉ ์ ์ฐ์ฑ | Faiss, Weaviate, Qdrant ๋ฑ ๋ค์ํ ๋ฐฑ์๋์ ๊ฒฐํฉ ๊ฐ๋ฅ |
2.5 Pinecone & Weaviate: ๋ฒกํฐ ์ธํ๋ผ ๋จ์์์ ๊ตฌ์กฐ์ ๋ถ๋ฆฌ
์์ฉ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ Pinecone๊ณผ Weaviate๋ ๋ฉํฐํ ๋์ ๋ณด์์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ฒกํฐ ์ธํ๋ผ ๊ณ์ธต์์์ ๊ตฌ์กฐ์ ๋ถ๋ฆฌ(structural isolation) ์ ๋ต์ ์ฑํํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ๋ฒกํฐ ๊ฒ์ ์์ฒญ์ ๋ณ๋์ ์ ์ฑ ํ๊ฐ๊ฐ ์์ด๋, ์ํคํ ์ฒ ์์ค์์ ๋ฐ์ดํฐ ๊ฐ ๊ฒฉ๋ฆฌ๋ฅผ ์ ์ ์ ์ผ๋ก ์ํํ ์ ์๋ค๋ ํน์ง์ ๊ฐ์ง๋๋ค.
Pinecone์ ํ๋์ ์ธ๋ฑ์ค ์์์ namespace ๋จ์๋ฅผ ์ค์ ํ์ฌ, ๊ฐ ๊ณ ๊ฐ ๋๋ ์กฐ์ง๋ณ๋ก ๋
๋ฆฝ๋ ์ ์ฅ ๊ณต๊ฐ์ ๊ตฌ์ฑํฉ๋๋ค. ๋ฒกํฐ ๊ฒ์ ์ ํด๋ผ์ด์ธํธ๋ ํน์ namespace๋ฅผ ๋ช
์ํด์ผ ํ๋ฉฐ, ๋ค๋ฅธ namespace์ ๋ฐ์ดํฐ์๋ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ด๋ ์ ์ฅ์ ์์ค์์์ ํ๋ ๊ฒฉ๋ฆฌ(hard isolation) ๊ตฌ์กฐ๋ฅผ ํตํด ๋ณด์์ ๋ฌ์ฑํฉ๋๋ค.
Weaviate๋ ๋ฐ์ดํฐ ์ ์ฅ ๊ตฌ์กฐ๋ฅผ shard ๋จ์๋ก ๊ตฌ์ฑํ๋ฉฐ, ๊ฐ ํ
๋ํธ์ ๋ฐ์ดํฐ๋ฅผ ๋
๋ฆฝ์ ์ธ ์ค๋์ ์ ์ฅํฉ๋๋ค. ๊ฒ์ ์ง์๋ ํด๋น ์ค๋์๋ง ๋ผ์ฐํ
๋๋๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์ค์ ์ค์ ์์ด๋ ๋ฌผ๋ฆฌ์ ๋ถ๋ฆฌ์ ์คํ๋ ๋
ผ๋ฆฌ์ ๋ถ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค [10].
์ด๋ฌํ ๋ฐฉ์์ ์ ์ฑ ์์ง ์์ด๋ ์ฌ์ฉ์ ๊ฐ ์ ๋ณด ๊ฒฝ๊ณ๋ฅผ ๋ณด์ฅํ ์ ์์ผ๋ฉฐ, ์์ฒ ๊ฐ ์ด์์ ํ ๋ํธ๋ฅผ ๋์์ ์ด์ํ๋ SaaS ํ๊ฒฝ์์ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ํ๋ณดํ ์ ์๋ ๋ฒกํฐ ์ธํ๋ผ ์ค๊ณ ์ ๋ต์ผ๋ก ์ฃผ๋ชฉ๋ฐ๊ณ ์์ต๋๋ค.
๋ค์ด์ด๊ทธ๋จ: Pinecone & Weaviate์ ๋ฒกํฐ ๊ธฐ๋ฐ ๋ฉํฐํ ๋์ ๊ตฌ์กฐ
![[๊ทธ๋ฆผ 5] Pinecone & Weaviate์ ๋ฒกํฐ ๊ธฐ๋ฐ ๋ฉํฐํ
๋์](/whitepapers/23/wp23-5-vector-based-multi-tenancy-in-pinecone-and-weaviate.png)
ํต์ฌ ์ ์ด ๊ธฐ๋ฅ ํ ์ด๋ธ
| ์ ์ด ํญ๋ชฉ | ๊ตฌํ ๋ฐฉ์ ์ค๋ช |
|---|---|
| ์ ์ฅ์ ๋ถ๋ฆฌ ๊ตฌ์กฐ | Pinecone์ namespaces๋ฅผ, Weaviate๋ shards ๋จ์๋ก ํ
๋ํธ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค. |
| ์ธ๋ถ ์ ๊ทผ ๊ฒฉ๋ฆฌ | ๊ฐ ์์ฒญ์ ํ ๋น๋ namespace ๋๋ shard ์ธ์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ต๋๋ค. |
| ์คํ ์์ ์ ์ด ๋ถํ์ | ๊ฒฉ๋ฆฌ๋ ์ ์ฑ ์์ง ์์ด ๊ฒ์ ๊ณ์ธต์์ ๊ฐ์ ์ ์ฉ๋ฉ๋๋ค. |
| ์ด์ ํ์ฅ์ฑ | ์์ฒ ๊ฐ ํ ๋ํธ๊ฐ ์กด์ฌํ๋๋ผ๋ ๋ ผ๋ฆฌ ๊ฒฉ๋ฆฌ๋ฅผ ํตํด ์ฑ๋ฅ ์ ์ง ๊ฐ๋ฅ |
| ์ธํ๋ผ ๊ธฐ๋ฐ ๋ณด์ | ์ธ๋ฑ์ค ๋๋ ์ค๋ ๋จ์ ์ค์ ๋ง์ผ๋ก ๋ค๊ณ์ธต ๋ณด์ ์์ด๋ ๊ฒฉ๋ฆฌ ๋ฌ์ฑ ๊ฐ๋ฅ |
2.6 Meta: ํ๋กฌํํธ ์ฝ์ ์ ์ปจํ ์คํธ ๊ธฐ๋ฐ ํํฐ๋ง
Meta๋ ์์ฒด LLM ์คํ ๋ฐ ์คํ ๋ฆฌ์์น๋ฅผ ํตํด, ํ๋กฌํํธ ์ฝ์ ๋จ๊ณ์์์ ์คํ ์์ ์ ์ฑ ์ ์ฉ์ ๊ฐํํ๊ณ ์์ต๋๋ค. ์ด๋ ๋จ์ํ ๋ฒกํฐ ์ ์ฌ๋ ๊ธฐ๋ฐ ๊ฒ์์ ๋์ด์, ์ฌ์ฉ์ ์ธ์ ์ ๋ณด์ ๋ฌธ์์ ์ปจํ ์คํธ ์์ฑ์ ํจ๊ป ๊ณ ๋ คํ๋ PBAC (Purpose-Based Access Control) ๊ตฌ์กฐ๋ก ํด์๋ฉ๋๋ค.
Meta๋ ์ ํํ ๋ด๋ถ ๊ตฌํ์ ๊ณต๊ฐํ์ง ์์์ผ๋, ์ฌ๋ฌ ๋ฐํ์ ๋ฆฌ์์น ํ๋์ ํตํด ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๊ฐ ์ถ๋ก ๊ฐ๋ฅํฉ๋๋ค.
- ๋ฌธ์ ์ ์ฅ ์
access_scope,confidentiality,created_at๋ฑ์ ์ปจํ ์คํธ ๊ธฐ๋ฐ ๋ฉํ๋ฐ์ดํฐ ํ๋๊ฐ ํฌํจ๋จ - LLM ํ๋กฌํํธ๋ฅผ ์์ฑํ๊ธฐ ์ ์, ์ธ์ ์ ๋ณด(user, role, query context) ์ ๋น๊ตํ์ฌ ์ฝ์ ๊ฐ๋ฅํ ๋ฌธ์๋ฅผ ์ ์ฑ ์ ์ผ๋ก ์ ๋ณํจ
- LLM ์๋ต์๋ ์ฐธ์กฐ๋ ๋ฌธ์์ ID ๋๋ ์์ฝ ํด์๊ฐ ํจ๊ป ๊ธฐ๋ก๋์ด, ์ฌํ ๊ฐ์ฌ๊ฐ ๊ฐ๋ฅํจ
์ด ๊ตฌ์กฐ๋ Microsoft๋ QueryPie์ RAG ๋ณด์ ์ ๋ต๊ณผ ์ ์ฌํ๊ฒ, ํ๋กฌํํธ ์ฝ์ ์ง์ ์ ์คํ ์์ ๋ณด์ ํ๊ฐ(runtime enforcement) ๋ฅผ ํตํด ๋ฏผ๊ฐ ์ ๋ณด ๋ ธ์ถ์ ์ฌ์ ์ ๋ฐฉ์งํฉ๋๋ค. ํนํ, LLM์ด ์๋ต์ ์์ฑํ๊ธฐ ์ ์ ์ ์ฑ ์ ์ ์ฉํจ์ผ๋ก์จ, ์ฌํ ํํฐ๋ง์ด ์๋ ์ฌ์ ์ ์ด ์ค์ฌ์ ์ค๊ณ๊ฐ ์คํ๋ ๊ตฌ์กฐ๋ก ํ๊ฐ๋ฉ๋๋ค [11].
๋ค์ด์ด๊ทธ๋จ: Meta์ ์ปจํ ์คํธ ๊ธฐ๋ฐ PBAC ํ๋ฆ
![[๊ทธ๋ฆผ 6] Meta์ ์ปจํ
์คํธ ๊ธฐ๋ฐ PBAC ํ๋ก์ฐ](/whitepapers/23/wp23-6-meta-context-based-pbac-flow.png)
ํต์ฌ ์ ์ด ๊ธฐ๋ฅ ํ ์ด๋ธ
| ์ ์ด ํญ๋ชฉ | ๊ตฌํ ๋ฐฉ์ ์ค๋ช |
|---|---|
| ์ปจํ ์คํธ ๊ธฐ๋ฐ ์ ์ฑ ํ๋ | access_scope, confidentiality, created_at ๋ฑ์ ํ๊ทธ๊ฐ ํฌํจ๋ ๋ฌธ์ |
| ์ฌ์ฉ์ ์ธ์ ํ๊ฐ | user.role, session.purpose, query.context์ ๋ฐ๋ผ ์ ๊ทผ ๊ถํ ๊ฒฐ์ |
| ์ฌ์ ํํฐ ์ ์ฉ | LLM ์ ๋ ฅ ์ด์ ๋จ๊ณ์์ ์ ์ฑ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์ ์ฝ์ ์ฌ๋ถ๋ฅผ ํต์ |
| ์๋ต ์ถ์ ์ฑ ํ๋ณด | ์๋ต์ ์ฐธ์กฐ๋ ๋ฌธ์ ์๋ณ์ ๋๋ ์์ฝ ํด์๋ฅผ ์ฒจ๋ถํ์ฌ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ ํ๋ณด |
| PBAC ์ ์ฉ ๊ตฌ์กฐ | ๋ชฉ์ (Purpose), ์ฌ์ฉ์ ์์ฑ(Attribute), ๋ฌธ์ ์์ฑ(Context)์ ํตํฉํ ํํฐ๋ง ๊ตฌ์กฐ ๊ตฌํ |
2.7 ์ค๋ฌด์ ์์ฌ์ ๊ณผ ๊ธฐ์ ์ ๊ณผ์
์์ ๋ถ์ํ Microsoft, AWS, Meta, LlamaIndex, Pinecone, Weaviate ์ฌ๋ก๋ ์๋ก ๋ค๋ฅธ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ง๋ง, ํ๋กฌํํธ ์ฝ์ ์ด์ ์ ์คํ ํ๋ฆ ํต์ ๊ฐ RAG ๋ณด์์ ํต์ฌ์ด๋ผ๋ ์ ์์ ๊ณตํต๋ ์ ๋ต์ ๋ฐฉํฅ์ฑ์ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. ํนํ RAG 2.0 ํ๊ฒฝ์์๋ ๋จ์ํ ๊ถํ ์ค์ ๋ง์ผ๋ก๋ ์ ๋ณด ์ ์ถ์ ๋ฐฉ์งํ ์ ์์ผ๋ฉฐ, ์ง๋ฌธ-๋ฌธ์-์๋ต์ผ๋ก ์ด์ด์ง๋ ๋์ ์คํ ํ๋ฆ์ ๋ณด์ ์ ์ฑ ์ด ์ค์๊ฐ์ผ๋ก ์ ์ฉ๋์ด์ผ ํฉ๋๋ค.
์ค๋ฌด์ ์์ฌ์
-
ํ๋กฌํํธ ์ฝ์ ์์ ์ ์กฐ๊ฑด ํ๊ฐ๊ฐ ๋ณด์ ํต์ ์ ํต์ฌ: Most LLMs generate ๋๋ถ๋ถ์ LLM์ ์ ๋ฌ๋ฐ์ ๋ฌธ์๋ฅผ ๋ฐํ์ผ๋ก ์๋ต์ ์์ฑํ๋ฏ๋ก, ์ด๋ค ๋ฌธ์๊ฐ ํ๋กฌํํธ์ ์ฝ์ ๋๋์ง๊ฐ ๋ณด์ ํต์ ์ ๋ง์ง๋ง ๋ฐฉ์ด์ ์ด ๋ฉ๋๋ค.Microsoft์ Meta๋ ์ด ์ง์ ์ PBAC (Purpose-Based Access Control) ์ ์ฑ ์ ์ฉ ์ง์ ์ผ๋ก ํ์ฉํ๊ณ ์์ผ๋ฉฐ, ํ๋กฌํํธ ๊ตฌ์ฑ ์ด์ ๋จ๊ณ์์ ์ฌ์ฉ์์ ๋ชฉ์ , ์ธ์ ์์ฑ, ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ข ํฉ์ ์ผ๋ก ํ๊ฐํฉ๋๋ค.
-
์คํ ํ๋ฆ์ ๋ค๋จ๊ณ ์ ์ด ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ: RAG ์์คํ ์ ์ง์ ์๋ฒ ๋ฉ, ๋ฒกํฐ ๊ฒ์, ๋ฌธ์ ํํฐ๋ง, ํ๋กฌํํธ ๊ตฌ์ฑ, ์๋ต ์์ฑ์ด๋ผ๋ ์ผ๋ จ์ ์คํ ํ๋ฆ์ ๋ฐ๋ฆ ๋๋ค. ์ด๋ฌํ ๊ฐ ๋จ๊ณ๋ ์๋ก ๋ค๋ฅธ ์์คํ ๊ณ์ธต์์ ์๋ํ๊ธฐ ๋๋ฌธ์, ๋ณด์ ํต์ ์ญ์ ๋จ์ผ ์ง์ ์ด ์๋๋ผ ๊ฐ ๊ณ์ธต๋ณ๋ก ๋ฐ๋ณต์ ์ด๊ณ ๋์ ์ ์ผ๋ก ์ํ๋์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, LlamaIndex๋ ๊ฒ์ ์์ ์ ํํฐ๋ฅผ ์ ์ฉํ๊ณ , Meta๋ ํ๋กฌํํธ ๊ตฌ์ฑ ์ง์ ๋จ๊ณ์์ ์ ์ฑ ํ๊ฐ๋ฅผ ์ํํฉ๋๋ค.
-
๋ฒกํฐ ์ธํ๋ผ ์์ค์ ๊ฒฉ๋ฆฌ๋ ํจ๊ณผ์ ์ธ ๋ณด์ ์๋จ: Pinecone๊ณผ Weaviate๋ ์คํ ํ๋ฆ ์ค๊ฐ์ ๋ณ๋ ์ ์ฑ ์์ง์ ๋์ง ์๋๋ผ๋, namespace ๋๋ shard ๋จ์์ ๊ตฌ์กฐ์ ์ ์ฅ์ ๋ถ๋ฆฌ๋ฅผ ํตํด ๊ณ ๊ฐ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฒฉ๋ฆฌํฉ๋๋ค. ์ด๋ ๋๊ท๋ชจ ๋ฉํฐํ ๋์ ํ๊ฒฝ์์ ์ ์ฑ ๊ธฐ๋ฐ ํ๊ฐ๊ฐ ์ด๋ ค์ด ๊ฒฝ์ฐ์๋ ํจ๊ณผ์ ์ธ ๋ณด์ ๋ชจ๋ธ๋ก ๊ธฐ๋ฅํฉ๋๋ค.
-
์ ์ฑ ํํ์ ACL์ ๋์ด CBACยทPBAC์ผ๋ก ํ์ฅ๋์ด์ผ ํ๋ค: ๋จ์ํ ACL (Access Control List) ๊ธฐ๋ฐ ๋ฌธ์ ์ ๊ทผ ์ ์ด๋ง์ผ๋ก๋ ์คํ ํ๋ฆ ํต์ ๋ฅผ ์คํํ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ฌ์ฉ์์ ์ธ์ ์์ฑ, ์ง์ ๋ชฉ์ , ์์ฒญ ์์ , ๋ฌธ์ ์ํ ๋ฑ์ ํตํฉ์ ์ผ๋ก ํ๊ฐํ๋ CBAC (Context-Based Access Control) ๋ฐ PBAC ๋ชจ๋ธ์ด ํ์ํ๋ฉฐ, Meta๋ ์ด ๊ตฌ์กฐ๋ฅผ ๋ด์ฌํํ๊ณ ์์ต๋๋ค.
-
์ ์ฑ ์ ์๋ณด๋ค ์ ์ฑ ๋ฐ์์ด ๋ณด์์ ๋ณธ์ง: ๋ง์ ์กฐ์ง์ด ์ ์ฑ ์ ์์๋ ๋ณด์ ํ๊ณ ์์ผ๋, ๊ทธ๊ฒ์ด ์ค์ ์คํ ํ๋ฆ ๋ด์์ ์ด๋์์, ์ด๋ป๊ฒ ๋ฐ์๋๋๊ฐ์ ๋ํ ๊ตฌ์กฐ๋ ๋ฏธํกํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ณด์ ํต์ ๋ ์ ์ธ ๊ทธ ์์ฒด๊ฐ ์๋๋ผ, ์ ์ฑ ์ ์คํ ๋ฐ์ ์ฌ๋ถ์ ๋ฐ๋ผ ์ฑ๋ฆฝํฉ๋๋ค.
๊ธฐ์ ์ ๊ณผ์
์คํ ํ๋ฆ ๊ธฐ๋ฐ ๋ณด์์ ์์ ์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ ๊ณผ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
| ๊ณผ์ ํญ๋ชฉ | ์ค๋ช |
|---|---|
| ์ ์ฑ ํ๊ฐ ์ง์ ์ ๋ถ์ฐ ๋ฌธ์ | ๊ฒ์, ํํฐ, ์ฝ์ , ์๋ต ๋ฑ ๊ฐ ๊ณ์ธต์ ๊ธฐ์ ์ ๋ถ์ฐ์ผ๋ก ์ธํด ์ ์ฑ ์ผ๊ด์ฑ ์ ์ง๊ฐ ์ด๋ ต์ต๋๋ค. |
| ํํฐ ์กฐ๊ฑด ๋๋ฝ ๊ฐ๋ฅ์ฑ | ๋ฒกํฐ ๊ฒ์ ์ user_id, access_scope ๋ฑ์ ํํฐ๊ฐ ๋๋ฝ๋๋ฉด ๋ฏผ๊ฐ ์ ๋ณด๊ฐ ์ฝ์
๋ ์ ์์ต๋๋ค. |
| ์ธ์ ์ ๋ณด ์ฐ๊ณ ์คํจ | ์ฌ์ฉ์ ์ธ์ ์ ์ปจํ ์คํธ ์ ๋ณด๊ฐ ์ ์ฑ ํ๊ฐ ์ง์ ๊น์ง ์ ๋ฌ๋์ง ์์ผ๋ฉด ์ ์ฑ ์ด ๋ฌด๋ ฅํ๋ ์ ์์ต๋๋ค. |
| ๊ฐ์ฌ ๋ฐ ์ถ์ ๋ถ๊ฐ ๊ตฌ์กฐ์ ํ๊ณ | ์ด๋ค ๋ฌธ์๊ฐ ์ด๋ค ์ง๋ฌธ์ ๋ํด ์ด๋ค ์กฐ๊ฑด์ผ๋ก ์ฝ์ ๋์๋์ง๋ฅผ ์ถ์ ํ ์ ์๋ ์์คํ ์ด ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. |
์ ๋ต ์์ฝ
์ด์์ ๋ถ์์ ํตํด, ๋ค์๊ณผ ๊ฐ์ ์ ๋ต์ ํต์ฐฐ์ ๋์ถํ ์ ์์ต๋๋ค:
- ํ๋กฌํํธ ์ฝ์ ํต์ ๊ฐ ์คํ ํ๋ฆ ๋ณด์์ ํต์ฌ ์ง์ ์ ๋๋ค.
- ์ฌ์ฉ์ ์ธ์ ์ ๋ณด์ ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์๊ฐ ์ ์ฑ ํ๊ฐ๊ฐ ์ํ๋์ด์ผ ํฉ๋๋ค.
- PBAC (Purpose-Based Access Control), CBAC (Context-Based Access Control), ACL (Access Control List)์ ํตํฉ์ ์ผ๋ก ์ค๊ณ๋์ด์ผ ํฉ๋๋ค.
- ์ ์ฑ ์ ์ ์ธํ ๋ฌธ์๊ฐ ์๋๋ผ, ์คํ ํ๋ฆ ๋ด์์ ๋์ ์ผ๋ก ๋ฐ์๋์ด์ผ ์คํจ์ฑ์ ๊ฐ์ง๋๋ค.
3. ์คํ ํ๋ฆ ํต์ ๋ฅผ ์ํ ๋ณด์ ์ ๋ต ์ค๊ณ ์์น
3.1 ์ ๋ต์ ์ ์ : ์คํ ํ๋ฆ์ ํต์ ํ์ง ์์ผ๋ฉด ๋ณด์์ ๋ฌด๋ ฅํ๋๋ค
์์ ์ดํด๋ณธ ๋ค์ํ ๊ธฐ์ ๊ณผ ํ๋ ์์ํฌ(Microsoft, Meta, AWS, LlamaIndex, QueryPie)๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ฉํฐํ ๋ํธ RAG์ ๋ณด์์ ๊ตฌํํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค ์ฌ๋ก๊ฐ ์งํฅํ๋ ๊ถ๊ทน์ ์ธ ๋ชฉํ๋ ํ๋์ ๋๋ค. ๋ชจ๋ธ์ด ์ด๋ค ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์๋ต์ ์์ฑํ๋์ง๋ฅผ ์คํ ํ๋ฆ์ ๊ฐ ๋จ๊ณ์์ ํต์ ํ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฒกํฐ ์๋ฒ ๋ฉ, ๊ฒ์, ํ๋กฌํํธ ๊ตฌ์ฑ, ๋ชจ๋ธ ํธ์ถ, ์๋ต ๋ฐํ์ด๋ผ๋ RAG์ ์คํ ๊ฒฝ๋ก ์ค, ํ๋๋ผ๋ ๋ณด์ ํต์ ๊ฐ ๋๋ฝ๋๋ฉด ACL์ ์ฌ์ค์ ๋ฌด๋ ฅํ๋ฉ๋๋ค. ํนํ LLM์ ์๋ํ ๋ฐ ์์ด ํฌํจ๋ ์ ๋ณด๋ฅผ ์๋ต์ ๋ น์ฌ๋ด๊ธฐ ๋๋ฌธ์, ํ๋กฌํํธ ์ฝ์ ์ ๋จ๊ณ์์์ ํต์ ๊ฐ ๊ฐ์ฅ ์ค์ํ ๋ณด์ ์ง์ ์ด ๋ฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ์ ๋ฐฐ๊ฒฝ ์์์, ์คํ ํ๋ฆ ๊ธฐ๋ฐ ๋ณด์ ์ ๋ต์ ๋ค์ ์ธ ๊ฐ์ง ์ง๋ฌธ์ ๋์ํ ์ ์์ด์ผ ํฉ๋๋ค:
- ์ง๋ฌธ์๋ ๋๊ตฌ์ธ๊ฐ (์ธ์ ๊ธฐ๋ฐ ์ฌ์ฉ์ ๋งฅ๋ฝ)
- ์ง๋ฌธ ๋งฅ๋ฝ์ ๋ฌด์์ธ๊ฐ (๋ชฉ์ , ์๊ฐ, ์์ ์กฐ๊ฑด ๋ฑ)
- ์ฝ์ ๊ฐ๋ฅํ ๋ฌธ์๋ ์ด๋ค ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋๊ฐ (๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ์ฝ ์กฐ๊ฑด)
3.2 ์คํ ํ๋ฆ ๋ณด์์ ๊ตฌ์ฑํ๋ 5๋ ์์น
์ค์ ๋ณด์ ์ค๊ณ์์ ์คํ ํ๋ฆ์ ํต์ ํ๊ธฐ ์ํด ์๊ตฌ๋๋ ๊ธฐ์ ์ ๋ต์ ๋ค์์ 5๊ฐ์ง ์์น์ผ๋ก ์ ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ์์น๋ค์ ํ๋ซํผ๊ณผ ํ๋ ์์ํฌ์ ๊ด๊ณ์์ด, RAG 2.0์ ๊ตฌํํ๊ธฐ ์ํ ๋ณด์ ์ต์ ๊ธฐ์ค์ด๋ผ ํ ์ ์์ต๋๋ค.
์์น 1. ์ธ์ ๊ธฐ๋ฐ ์ ์ฑ ํ๊ฐ (Session-based Policy Evaluation)
์ฌ์ฉ์์ ์ธ์ฆ ํ ํฐ ๋๋ ์ธ์ ID๋ ๋จ์ ์ธ์ฆ์๋ง ์ฌ์ฉ๋๋ ๊ฒ์ด ์๋๋ผ, ์ ์ฑ ํ๊ฐ์ ํต์ฌ ์ปจํ ์คํธ ์ ๋ณด๋ก ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค. ํ๋กฌํํธ ์์ฑ ์ด์ ๋จ๊ณ์์ ํ์ฌ ์ฌ์ฉ์์ ๊ถํ ์์ค, ์ญํ , ์์ฑ ๋ฑ์ ๋ฐ์ํ ์ ์ฑ ํ๊ฐ๊ฐ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ฉฐ, ์ด๋ฅผ ํตํด โ์ด๋ค ๋ฌธ์๋ฅผ ์ด๋ค ์ง๋ฌธ์ ์ฝ์ ํ ์ ์๋๊ฐโ๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. Microsoft, Meta, QueryPie๋ ๋ชจ๋ ์ด ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ฑฐ๋ ์งํฅํ๊ณ ์์ต๋๋ค[9].
์์น 2. ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฌธ์ ํํฐ๋ง
์๋ฒ ๋ฉ๋ ๋ฌธ์์๋ user_id, tenant_id, security_level, document_type ๋ฑ ๋ค์ํ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด์ผ ํ๋ฉฐ, ๋ฒกํฐ ๊ฒ์ ์ ๋ฐ๋์ ํํฐ๋ง ์กฐ๊ฑด์ผ๋ก ํ์ฉ๋์ด์ผ ํฉ๋๋ค. ์ด ๊ณผ์ ์ ์ฝ๋ ์์์ ๊ฐ๋ฐ์๊ฐ ๋๋ฝํ ์ ์๋ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์, ์ ์ฑ
๊ณ์ธต์์ ์ด๋ฅผ ๊ฐ์ ํ๊ฑฐ๋ API ํ๋ก์์์ ๋ํ ๊ตฌ์กฐ๋ก ๊ฐ์ธ๋ ๋ฐฉ์์ด ์ถ์ฒ๋ฉ๋๋ค[10].
์์น 3. ์คํ ํ๋ฆ ์ค๊ฐ์ ๋ถ๊ธฐ (Mid-Pipeline Branching)
๊ฒ์๋ ๋ฌธ์๋ฅผ ํ๋กฌํํธ์ ์ฝ์ ํ๊ธฐ ์ , ์ ์ฑ ํ๊ฐ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ถ๊ธฐ ๋๋ ์ฐจ๋จ์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์ง๋ฌธํ ์นดํ ๊ณ ๋ฆฌ(์: "์ฑ๊ณผํ๊ฐ")๊ฐ ํน์ ๋ฌธ์ ๋ถ๋ฅ์ ์ถฉ๋ํ๊ฑฐ๋, ์์ฒญ ์์ ์ด ํ์ฉ๋ ์๊ฐ๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ฝ์ ์ด ๊ฑฐ๋ถ๋์ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋์ ์ํฉ ๋ณํ์๋ ์ ์ฐํ ๋์์ด ๊ฐ๋ฅํฉ๋๋ค.
์์น 4. ์คํ ๊ฒฝ๋ก์ ์ถ์ ๊ฐ๋ฅ์ฑ (Traceable Path Evaluation)
๋ชจ๋ ์คํ ํ๋ฆ์ ๋ก๊ทธ๋ก ๊ตฌ์ฑ๋ ์คํ ํธ๋ ์ด์ค๋ก ๋จ์์ผ ํฉ๋๋ค. ๋จ์ ๋ก๊ทธ ์์ค์ด ์๋๋ผ, ์ด๋ค ์ง๋ฌธ์ ์ด๋ค ๋ฌธ์๊ฐ ์ฝ์ ๋์๊ณ , ์ด๋ค ์กฐ๊ฑด ํ์์ ์ ์ฑ ์ด ํต๊ณผ ํน์ ์ฐจ๋จ๋์๋์ง๋ฅผ ์๊ฐํ ๊ฐ๋ฅํ๋๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๋ณด์ ๊ฐ์ฌ ๋ฐ ์ค๋ช ๊ฐ๋ฅ์ฑ ํ๋ณด์ ์ค์ํ๋ฉฐ, ํนํ ๊ธ์ตยท๊ณต๊ณตยท์๋ฃ ์ฐ์ ์์ ์๊ตฌ๋ฉ๋๋ค[11].
์์น 5. ์๋ต ๊ฒฐ๊ณผ์ ์ ๋ ฅ ๊ฒฝ๋ก์ ์ฐ๊ณ (Provenance Binding)
๋ชจ๋ธ์ด ๋ฐํํ ์๋ต์ โ์ด๋ค ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์๋๊ฐโ๋ฅผ ๋ช ์์ ์ผ๋ก ํํํ ์ ์์ด์ผ ํ๋ฉฐ, ์๋ต ๋ด๋ถ์ ์ฐธ์กฐ ๋ฌธ์ ID๋ ์๊ทธ๋์ฒ๋ฅผ ํฌํจํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ์ด๋ ์ฌ์ฉ์๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ขฐํ๊ฒ ํ๊ณ , ๋์์ ์ถํ ์ฌํ ๊ฐ์ฌ๋ ์๋์น ์์ ์ ๋ณด ์ ์ถ์ ๊ฒฝ๋ก๋ฅผ ์ญ์ถ์ ํ ์ ์๊ฒ ํด์ค๋๋ค.
3.3 ์คํ ํ๋ฆ ๋ณด์ ์ ๋ต์ ์ํคํ ์ฒ์ ์ ๋ฆฌ
๋ค์ ๋์์ ์ ์์น๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ๋ ์คํ ์์ ๋ณด์ ์ ์ด(runtime security control)์ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ์์ฝํ ๊ฒ์ ๋๋ค.
![[๊ทธ๋ฆผ 7] ์คํ ํ๋ก์ฐ ๋ณด์ ์ํคํ
์ฒ](/whitepapers/23/wp23-7-architectural-summary-of-execution-flow-security.png)
3.4 ๊ตฌ์กฐ์ ์ค๊ณ๋ฅผ ๋ฌด๋ ฅํํ๋ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค์ ์คํ ๊ฐ๋ฅ์ฑ
์ง๊ธ๊น์ง ์ ๋ฆฌํ 5๋ ์ ๋ต์ ๋ณด์ ์ํคํ ์ฒ์ ์ค๊ณ ๊ธฐ์ค์ ๋๋ค. ๊ทธ๋ฌ๋ ํ์ค์์๋ ๋จ์ํ ์ค๊ณ ๋ฏธ๋น๊ฐ ์๋, ์๋์ ์ฐํ, ์ ์ฑ ๋๋ฝ, ์ธ์ ์ค์ฉ ๋ฑ์ ๋ฐฉ์์ผ๋ก ์คํ ํ๋ฆ์ด ์ฐํ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ํ์ ๋จ์ํ ๊ธฐ์ ์ ์ทจ์ฝ์ ์ด๋ผ๊ธฐ๋ณด๋ค๋, ํ๋กฌํํธ ์ฝ์ ๊ตฌ์กฐ์ ์ ์ฑ ํ๊ฐ ํ๋ฆ ์ฌ์ด์ ๋จ์ ์ ๋ ธ๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ๋ํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ณด์ ์ค๊ณ๋ "๋ฌด์์ ํ์ฉํ ๊ฒ์ธ๊ฐ?"๋ผ๋ ์ ์ฑ ์ ์ธ์ ๋์ด์, "์ค์ ๋ก ๊ทธ ํ์ฉ์ด ์ง์ผ์ง๊ณ ์๋๊ฐ?"๋ฅผ ์ฆ๋ช ํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ค์ ์ฅ์์๋ ์ด๋ฌํ ์๋๋ฆฌ์ค๋ฅผ ๊ตฌ์ฒดํํ์ฌ ๋ถ์ํฉ๋๋ค. Kenny ์ฌ๋ก ์ธ์๋, ๋ค์๊ณผ ๊ฐ์ ๊ณต๊ฒฉ ๊ฒฝ๋ก๋ฅผ ์ค์ฌ์ผ๋ก ์คํ ๊ฐ๋ฅํ 5๊ฐ์ง ์๋๋ฆฌ์ค๋ฅผ ์ ์ํฉ๋๋ค:
- ์ฐ๋ด ์ ๋ณด์ ๊ฐ์ ์ธ์ฌ ๋ฐ์ดํฐ ์ ์ถ
- ์ ๊ทผ ๋ถ๊ฐํ ๋ฌธ์์ ์ธ์ฉ ์์ฝ
- ํ ์ธ ๋ฌธ์ ๊ธฐ๋ฐ์ ํ์ ์๋ต ์์ฑ
- ์ธ์ ๊ณต์ ๋ฅผ ํตํ ๊ถํ ํ์ฅ
- ๋ฌธ์ ๋ง๋ฃ ์ ์ฑ ๋ฏธ์ ์ฉ์ผ๋ก ์ธํ ๊ณผ๊ฑฐ ๊ธฐ๋ก ๋ ธ์ถ
4. ๊ตฌ์กฐ์ ์ค๊ณ๋ฅผ ์ฐํํ๋ ์ํ ์๋๋ฆฌ์ค ๋ถ์
4.1 ์๋๋ฆฌ์ค ๊ธฐ๋ฐ ์ํ ๋ถ์์ ํ์์ฑ
์์ ์ดํด๋ณธ ์คํ ํ๋ฆ ๊ธฐ๋ฐ ๋ณด์ ์ ๋ต์ ์ค๊ณ ์์น์ ๊ด์ ์์๋ ์ถฉ๋ถํ ๊ฐ๋ ฅํด ๋ณด์ด์ง๋ง, ์ค์ ์ด์ ํ๊ฒฝ์์๋ ์ค๊ณ์ ๊ตฌํ ์ฌ์ด์ ๊ณต๋ฐฑ, ๋๋ ์์ธ ์กฐ๊ฑด ์ฒ๋ฆฌ์ ๋๋ฝ์ผ๋ก ์ธํด ์ํ์ด ํ์คํ๋ ์ ์์ต๋๋ค. ํนํ RAG ์์คํ ์ ๋ฒกํฐ ๊ฒ์, ๋ฌธ์ ์ฝ์ , ํ๋กฌํํธ ๊ตฌ์ฑ, ์๋ต ๋ฐํ์ด๋ผ๋ ์ผ๋ จ์ ํ๋ฆ์ด ์กด์ฌํ๋ฉฐ, ๊ฐ ๋จ๊ณ๊ฐ ๊ธฐ์ ์ ์ผ๋ก๋ ๋ถ๋ฆฌ๋ ๊ตฌ์ฑ ์์๋ก ๊ด๋ฆฌ๋๊ธฐ ๋๋ฌธ์, ๋ณด์ ์ ์ด ์ง์ ์ฌ์ด์ ํ์ด ๊ณต๊ฒฉ ํฌ์ธํธ๊ฐ ๋ ์ ์์ต๋๋ค.
๋ณธ ์ ์์๋ ์คํ ํ๋ฆ ๊ธฐ๋ฐ ๋ณด์ ์ ๋ต์ด ์ด๋ป๊ฒ ์ฐํ๋ ์ ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ 5๊ฐ์ง ์๋๋ฆฌ์ค๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค๋ ๋ชจ๋ ์ค์ ๊ธฐ์ ๋ด๋ถ ํ ์คํธ, ์ค๋ฌด ์ด์ ์ฌ๋ก, ๋๋ ๋ณด์ ์ปค๋ฎค๋ํฐ์์ ์ ๊ธฐ๋ ๊ตฌ์กฐ์ ์ทจ์ฝ์ฑ์์ ํ์๋ ๊ฒ์ผ๋ก, ๊ธฐ์ ์ด ์๋ ์ ์ฑ ์ ๋งน์ ์์ ๋ฐ์ํ๋ ์ ๋ณด ์ ์ถ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฌ์ค๋๋ค.
4.2 ์๋๋ฆฌ์ค 1: ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ ํํฐ ๋๋ฝ์ผ๋ก ์ธํ ์ฐ๋ด ์ ๋ณด ๋ ธ์ถ
์ํฉ ์์ฝ
- ์ฌ์ฉ์๋ "์ต๊ทผ ์ ์ฌ์์ ์ฐ๋ด ์์ค์?"์ด๋ผ๋ ์ง๋ฌธ์ RAG ๊ธฐ๋ฐ ์ฌ๋ด ์์ด์ ํธ์ ์ ๋ ฅํฉ๋๋ค.
- ์์คํ
์ ํด๋น ์ฌ์ฉ์์ ์ธ์
์ ๋ณด๋ฅผ ํ์ธํ์ง๋ง, ๋ฒกํฐ ๊ฒ์ ์
user_id์กฐ๊ฑด์ด ํํฐ์ ์ ์ฉ๋์ง ์์์ต๋๋ค. - ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ค๋ฅธ ๋ถ์์ ๊ธฐ๋ฐ ๋ฌธ์๊ฐ ๊ฒ์๋์ด ํ๋กฌํํธ์ ์ฝ์ ๋๊ณ , ์ฐ๋ด ์ ๋ณด๊ฐ ์์ฝ๋ ํํ๋ก ์๋ต๋ฉ๋๋ค.
๋ณด์ ์์น ์๋ฐ ์ง์
- ์์น 2: ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํํฐ๋ง ๋๋ฝ
- ์์น 3: ์คํ ํ๋ฆ ์ค๊ฐ ๋ถ๊ธฐ ์์
์คํ ๊ฐ๋ฅ์ฑ ํ๊ฐ
- ๋ฒกํฐDB์์ ํํฐ ์กฐ๊ฑด์ด ๊ฐ๋ฐ์๊ฐ ์๋์ผ๋ก ๋ฃ์ด์ผ ํ๋ ๊ตฌ์กฐ์ผ ๊ฒฝ์ฐ ์ค์๋ก ๋๋ฝ๋๊ธฐ ์ฝ์ต๋๋ค.
- API ๊ณ์ธต์ด ์ ์ฑ ํ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์์ง ์๋ค๋ฉด, ์ด๋ฐ ํํฐ๋ง ๋๋ฝ์ ๋ณต๊ตฌํ๊ธฐ ์ด๋ ต์ต๋๋ค[12].
4.3 ์๋๋ฆฌ์ค 2: ํ ์ธ๋ถ ๋ฌธ์์ ์ธ์ฉ ์๋ต ์์ฑ
์ํฉ ์์ฝ
- ํ ๊ฐ๋ฐ์๊ฐ "์ ์ ํ์ ๋์์ธ ์ฒ ํ์ ๋ฌด์์ด์๋?"๋ผ๋ ์ง๋ฌธ์ ํฉ๋๋ค.
- LLM์ ๊ฒ์ ๊ฒฐ๊ณผ ์ค ๋์์ธํ์ด ์์ฑํ ๋ฌธ์์ ์์ฝ ๋ด์ฉ์ ํฌํจํด ์๋ตํฉ๋๋ค.
- ํด๋น ๋ฌธ์๋ ๊ณต๊ฐ ๋ฌธ์์ด์ง๋ง, ์ง๋ฌธ์์ ์ธ์ ๋งฅ๋ฝ์์๋ ์ ๊ทผ ๊ถํ์ด ์๋ ๋ฌธ์์ ๋๋ค.
๋ณด์ ์์น ์๋ฐ ์ง์
- ์์น 1: ์ธ์ ๊ธฐ๋ฐ ์ ์ฑ ํ๊ฐ ๋๋ฝ
- ์์น 5: ์๋ต-์ถ์ฒ ์ฐ๊ณ ์์
์คํ ๊ฐ๋ฅ์ฑ ํ๊ฐ
- ๋ง์ ์์คํ ์ด ๋ฌธ์์ "๊ณต๊ฐ" ์ํ์๋ง ๊ธฐ๋ฐํ์ฌ ์ ๊ทผ์ ํ์ฉํฉ๋๋ค.
- ํ์ง๋ง RAG ํ๊ฒฝ์์๋ ๋ฌธ๋งฅ ์ โ๋๊ฐ ์ง๋ฌธํ๋๊ฐโ์ ๋ฐ๋ผ ๋์ผ ๋ฌธ์๋ ์๋ต ์ฝ์ ์ฌ๋ถ๊ฐ ๋ฌ๋ผ์ ธ์ผ ํฉ๋๋ค[13].
4.4 ์๋๋ฆฌ์ค 3: ์ธ์ ๊ณต์ ๋๋ ์์ด์ ํธ ํด๋ก๋(๋ณต์ )์ ํตํ ๊ถํ ์์น
์ํฉ ์์ฝ
- ์ฌ์ฉ์ A๊ฐ ์น์ธ๋ ์ธ์ ํ ํฐ์ ์ฌ์ฉ์ B์ ๊ณต์ ํ๊ฑฐ๋, ๋ด๋ถ RAG ์์ด์ ํธ๋ฅผ ๊ฐ์ธ ์์ ๊ณต๊ฐ์ผ๋ก ๋ณต์ ํฉ๋๋ค.
- ๋ณต์ ๋ ์์ด์ ํธ๋ ํตํฉ๋ ์ ์ฑ ์งํ(PDP ๋ฑ)์ด ์์ง๋ง, ์ฌ์ ํ ์๋ ๊ตฌ์ฑ์ผ๋ก ๊ฒ์์ ์ํํ์ฌ B์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๋ฌธ์์ ์ ๊ทผํฉ๋๋ค.
๋ณด์ ์์น ์๋ฐ ์ง์
- ์์น 1: ์ธ์ ๊ธฐ๋ฐ ํ๊ฐ ๋ฏธ์ ์ฉ
- ์์น 4: ์คํ ๊ฒฝ๋ก ์ถ์ ์์
์คํ ๊ฐ๋ฅ์ฑ ํ๊ฐ
- ๋ณต์ ๋ ์ํฌํ๋ก์ฐ์์ ํ๋ก์๋ PDP(Policy Decision Point: ์ ์ฑ ๊ฒฐ์ ์ง์ )๊ฐ ์ด์๋์ง ์์ผ๋ฉด ์ ์ฑ ์ด ์ ํ ์ ์ฉ๋์ง ์์ต๋๋ค.
- ํนํ LangChain, LlamaIndex ๊ธฐ๋ฐ ์์ด์ ํธ๋ ์ฝ๊ฒ ๋ณต์ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ด ์ฐํ๊ฐ ์ฉ์ดํฉ๋๋ค[14].
4.5 ์๋๋ฆฌ์ค 4: ๋ฌธ์ ๋ง๋ฃ ๋ฐ ๊ธฐ๋ฐ๋ ์ ์ฑ ๋ฏธ์ ์ฉ
์ํฉ ์์ฝ
- 3๋ ์ ์์์ ํด์ฌ ๊ด๋ จ ๋ฌธ์๊ฐ ๋ฒกํฐ ์ ์ฅ์์ ๋จ์ ์์ผ๋ฉฐ, ์ต๊ทผ ์ง์์์ ๋์ ์ ์ฌ๋๋ก ๊ฒ์๋ฉ๋๋ค.
- ํด๋น ๋ฌธ์๋ ์ด๋ฏธ ํ๊ธฐ ๋์์ผ๋ก ๋ถ๋ฅ๋์์ง๋ง, ์์คํ ์ ์๋ฒ ๋ฉ๋ ๋ฒกํฐ์ ๋ํ ์๋ช ์ ์ฑ ์ ๊ณ ๋ คํ์ง ์์ต๋๋ค.
- ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ชจ๋ธ์ ์ค๋๋ ๋ด๋ถ ์ด์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํด์ ์์ง๊ฐ ์๋ ๋ต๋ณ์ ์์ฑํฉ๋๋ค.
๋ณด์ ์์น ์๋ฐ ์ง์
- ์์น 2: ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง (์ ํจ๊ธฐ๊ฐ/๊ธฐ๋ฐ๋ฑ๊ธ ๋ฏธ์ ์ฉ)
- ์์น 3: ์ ์ฑ ๊ธฐ๋ฐ ๋ถ๊ธฐ ์์
์คํ ๊ฐ๋ฅ์ฑ ํ๊ฐ
- ๋๋ถ๋ถ์ ๋ฒกํฐDB๋ TTL(Time-To-Live) ์ ์ฑ ์ ๊ธฐ๋ณธ ์ง์ํ์ง ์์ผ๋ฉฐ, ์๋ฒ ๋ฉ ์๋ช ์ ๋ํ ๋ช ์์ ๋ง๋ฃ ์ ์ด๊ฐ ์ด๋ ต์ต๋๋ค[15].
4.6 ์๋๋ฆฌ์ค ์์ฝ
| ์๋๋ฆฌ์ค ๋ฒํธ | ์ํ ์ ํ | ์๋ฐ ์์น | ๋ํ ์ํ ์ง์ |
|---|---|---|---|
| 4.2 | ํํฐ ๋๋ฝ์ผ๋ก ์ธํ ์ ๋ณด ๋ ธ์ถ | ์์น 2, 3 | ๋ฒกํฐ ๊ฒ์ ์ |
| 4.3 | ๋ฌธ๋งฅ ๋ฌด์ ์๋ต | ์์น 1, 5 | ์๋ต ์ฝ์ ์์ |
| 4.4 | ํด๋ก ๊ธฐ๋ฐ ์ฐํ | ์์น 1, 4 | ์ธ์ฆ/๊ฐ์ฌ ๊ฒฐํจ |
| 4.5 | ๋ง๋ฃ ์ ์ฑ ๋ฏธ์ ์ฉ์ผ๋ก ์ธํ ์ ์ถ | ์์น 2, 3 | ์๋ฒ ๋ฉ ์ ์ง ๊ธฐ๊ฐ |
4.7 ์คํ ํ๋ฆ ๋ณด์ ์ฐํ ์ํ์ด ์ ์ํ๋ ๊ณผ์
์ด์์ ์๋๋ฆฌ์ค๋ ๋จ์ํ ์ ์ฑ ์ ์ธ์ด๋ ์ธ์ฆ ๊ตฌ์กฐ๋ง์ผ๋ก๋ ๋ณด์์ฑ์ ๋ด๋ณดํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค. ๊ฐ ์๋๋ฆฌ์ค์์ ๋ฐ์ํ ์ํ์ ๋ณด์ ์ ์ฑ ์ด ์์คํ ์ ์คํ ํ๋ฆ์ ์ ์ฉ๋์ง ์๊ฑฐ๋, ํ๋กฌํํธ ๊ตฌ์ฑ ๊ฒฝ๋ก์ ์ ํํ ์ฐ๋๋์ง ์์ ๊ฒฝ์ฐ์ ๋ฐ์ํฉ๋๋ค.
์ด์ ์ด๋ฌํ ์ํ ์๋๋ฆฌ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ์ค์ ๊ธฐ์ ๋ค์ด ์ด๋ ํ ๋ฐฉ์์ผ๋ก ์คํ ํ๋ฆ์ ์ ์ดํ๊ณ ์๋์ง๋ฅผ ์ดํด๋ณผ ํ์๊ฐ ์์ต๋๋ค. ํนํ Microsoft, Meta, ๊ทธ๋ฆฌ๊ณ QueryPie๋ ๋ณด์ ์ ์ฑ ์ ์ค๊ณ ์ ์ธ ์์ค์ด ์๋๋ผ ์คํ ๊ฒฝ๋ก ๋ด์ ํตํฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ํด PBAC(Purpose-Based Access Control: ๋ชฉ์ ๊ธฐ๋ฐ ์ ๊ทผ์ ์ด), CBAC(Context-Based Access Control: ๋ฌธ๋งฅ ๊ธฐ๋ฐ ์ ๊ทผ์ ์ด), ACL(Access Control List: ์ ๊ทผ์ ์ด ๋ชฉ๋ก), PDP(Policy Decision Point: ์ ์ฑ ๊ฒฐ์ ์ง์ )์ ๊ฐ์ ์ ์ฑ ๊ตฌ์กฐ๋ฅผ ๋ณตํฉ์ ์ผ๋ก ์ ์ฉํ๊ณ ์์ต๋๋ค.
๋ค์ ์ ์์๋ ์ด๋ค ์ธ ๊ธฐ์ ์ด RAG 2.0 ๋ณด์ ๊ตฌํ์ ์ํด ์ ํํ ์ ๋ต๊ณผ ์ํคํ ์ฒ์ ์ ๊ทผ์ ๋น๊ต ๋ถ์ํฉ๋๋ค.
5. ์คํ ํ๋ฆ ํต์ ์ ๋ต ๋น๊ต: Microsoft, Meta, QueryPie
5.1 ๋น๊ต ๋ชฉ์ : ์ ์ธํ ์ ์ฑ ์์ ์คํ ํ๋ฆ ํตํฉ์ผ๋ก
์์ ์ ์ํ ์ํ ์๋๋ฆฌ์ค๋ ๋จ์ํ ๋ณด์ ์ ์ฑ ์ด ๋ถ์ฌํด์ ๋ฐ์ํ ๊ฒ์ด ์๋๋ผ, ์ ์๋ ์ ์ฑ ์ด ์คํ ํ๋ฆ์ ํตํฉ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๊ฒ์ ๋๋ค. ํนํ RAG(Retrieval-Augmented Generation) ํ๊ฒฝ์์๋ ๋ฌธ์๊ฐ ์ธ์ , ์ด๋ค ๋งฅ๋ฝ์์, ๋๊ตฌ์ ์ํด ํ๋กฌํํธ์ ์ฝ์ ๋๋์ง๊ฐ ๋ณด์ ํต์ ์ ํต์ฌ ์ง์ ์ด ๋ฉ๋๋ค. ์ด๋ ๋จ์ํ RBAC ์์ค์ ํต์ ๋ก๋ ํด๊ฒฐํ ์ ์์ต๋๋ค.
Microsoft, Meta, ๊ทธ๋ฆฌ๊ณ QueryPie๋ ์ด๋ฌํ ์คํ ํ๋ฆ ๋ณด์์ ๋ํด ๊ฐ๊ธฐ ๋ค๋ฅธ ์ ๋ต์ผ๋ก ์ ๊ทผํ๊ณ ์์ต๋๋ค. Microsoft๋ Graph API์ Copilot ๊ฒ์ดํธ์จ์ด๋ฅผ ์ค์ฌ์ผ๋ก API ๊ณ์ธต์์์ ์ ์ฑ ํ๊ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ์๊ณ [16], Meta๋ LLM ํ๋กฌํํธ ์ง์ ๋จ๊ณ์์ ์ธ์ ๊ธฐ๋ฐ ๋ฌธ๋งฅ ์กฐ๊ฑด(Context-Based Access Control, CBAC) ์ ๋ฐ์ํ์ฌ ๋ฌธ์ ์ฝ์ ์ฌ๋ถ๋ฅผ ๋์ ์ผ๋ก ํ๊ฐํฉ๋๋ค[17]. ํํธ, QueryPie๋ RAG ์์คํ ์์ฒด๋ ์ ๊ณตํ์ง ์์ง๋ง, RAG๋ฅผ ํฌํจํ ๋ค์ํ ์ธ๋ถ LLM ์์คํ ์ ์คํ ํ๋ฆ์ ์ ์ดํ ์ ์๋ ์ ์ฑ ์คํ ๊ณ์ธต(MCP Agent PAM) ์ ์ ๊ณตํฉ๋๋ค[18].
QueryPie์ ์ ๊ทผ ๋ฐฉ์์ ๋ค์ํ RAG ์๋ฃจ์ ์๋จ์์ ์ ์ฑ ์ ํ๊ฐ(PDP), ์คํ(PEP), ์ ๋ณด ์์ง(PIP) ํ ์ ์๋ ๋ ๋ฆฝ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ณด์ ์ํคํ ์ฒ๋ฅผ ์ ๊ณตํ๋ค๋ ์ ์์ Microsoft ๋ฐ Meta์ ์ฐจ๋ณํ๋ฉ๋๋ค. ์ด๋ ๊ณง QueryPie๊ฐ ๋จ์ผ ๋ฒกํฐDB๋ ๋จ์ผ ์์ด์ ํธ์ ์ข ์๋์ง ์๊ณ , ๋ฉํฐํ ๋ํธ ํ๊ฒฝ์ ๋ค์ํ ์คํ ํ๋ฆ์ ์ ์ฑ ๊ธฐ๋ฐ ๋ณด์ ๊ณ์ธต์ ๋ง์์ธ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋ณธ ์ฅ์์๋ ์ด๋ค ์ธ ๊ธฐ์ ์ ์คํ ํ๋ฆ ํต์ ์ ๋ต์ ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง ์์๋ฅผ ์ค์ฌ์ผ๋ก ๋น๊ตํฉ๋๋ค:
- PBAC (Purpose-Based Access Control) ์ ์ฑ ์ ์ฉ ์์น
- CBAC (Context-Based Access Control) ๊ตฌํ ๋ฐฉ์
- ACL ์ฐ๋ ๊ตฌ์กฐ์ ๋ฒ์์ ์ ์ฐ์ฑ
- PDP(PIP/PEP ํฌํจ) ๊ตฌ์ฑ ์์น ๋ฐ ํํ
- ํ์ฅ์ฑ ๋ฐ ์คํ ํ๋ฆ ํต์ ๋ฒ์
์ด๋ฌํ ๋น๊ต๋ ๋จ์ํ ๊ธฐ๋ฅ์ ์ ๋ฌด๊ฐ ์๋๋ผ, ์ ์ฑ ์ด ์คํ ๊ฒฝ๋ก ๋ด ์ด๋์ ์กด์ฌํ๊ณ , ์ด๋ป๊ฒ ๋ฐ์๋๋์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ์ํฉ๋๋ค. ์ ์ฑ ์ ๋ฌธ์๋ก ์กด์ฌํ๋ ๊ฒ์ด ์๋๋ผ, ์คํ ๊ฒฝ๋ก ๋ด์์ ์ค์ง์ ์ผ๋ก ํ๊ฐ๋๊ณ ์งํ๋๋์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ์๋์ด์ผ ํฉ๋๋ค. ๋ณธ ์ ์์๋ ์คํ ํ๋ฆ์ ํตํฉ๋ ์ ์ฑ ๊ตฌ์กฐ์ ๊ตฌํ ์ฌ๋ถ๋ฅผ ์ค์ฌ์ผ๋ก ๊ฐ ์ฌ๋ก๋ฅผ ๋น๊ตํ๊ฒ ์ต๋๋ค.
5.2 Microsoft: Graph ๊ธฐ๋ฐ ์ ์ฑ ์กฐ๊ฑด, API ๊ณ์ธต์ ๊ฒฐํฉ๋ PDP ๊ตฌ์กฐ
Microsoft๋ Copilot ๋ฐ Azure OpenAI ๊ธฐ๋ฐ์ ๋ฉํฐํ ๋ํธ ํ๊ฒฝ์์, Microsoft Graph API๋ฅผ ํตํด ์ฌ์ฉ์ ๊ถํ, ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ, ํ์ ๋งฅ๋ฝ์ ํตํฉ ๊ด๋ฆฌํฉ๋๋ค. ์ด ๋ฐ์ดํฐ๋ API Gateway ๊ณ์ธต์ ์ฐ๋๋ PDP(Policy Decision Point) ์ญํ ์ ๋ณด์ ๋ก์ง์ ์ํด ์ค์๊ฐ์ผ๋ก ํ๊ฐ๋๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๋กฌํํธ ์ฝ์ ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค[19].
์ด ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ์คํ ํ๋ฆ ํต์ ๋ฐฉ์์ ๋ฐ๋ฆ ๋๋ค:
- ์ฌ์ฉ์์ ์ง์๊ฐ Copilot API๋ฅผ ํตํด ์ ๋ฌ๋๋ฉด, Microsoft Graph๋ฅผ ํตํด ํด๋น ์ฌ์ฉ์์ ์กฐ์ง ๋ด ๊ถํ, ํ์ ๋์์, ์ ๋ฌด ๋ชฉ์ ๋ฑ์ ์ ๋ณด๊ฐ ์์ง๋ฉ๋๋ค.
- API Gateway๋ ์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์ฌ์ฉ์์ ์ง์ ๋ชฉ์ (Purpose)์ ์ถ๋ก ํ๊ณ , ์ฐ๊ด ๋ฌธ์์ ์ ๊ทผ ํ์ฉ ์ฌ๋ถ๋ฅผ ํ๊ฐํฉ๋๋ค.
- ํ์ฉ๋ ๋ฌธ์๋ง ํ๋กฌํํธ์ ์ฝ์ ๋๋ฉฐ, ์ฝ์ ๋ด์ญ๊ณผ ์๋ต์ ๊ฐ์ฌ(Audit) ์์คํ ์ ์ ์ฅ๋ฉ๋๋ค.
Microsoft์ ๋ฐฉ์์ PBAC(Purpose-Based Access Control) ๊ตฌํ์์ ๊ฐ์ฅ ๋ช ํํ ์์ ์ค ํ๋๋ก, ์กฐ์ง ๋ด ์ญํ ๊ณผ ์ ๋ฌด ๋ชฉ์ ์ ๋ฐ๋ผ ๋ฌธ์ ๋ ธ์ถ์ ๋์ ์ผ๋ก ํต์ ํฉ๋๋ค. ๋ํ CBAC(Context-Based Access Control) ์์๋ก๋ ์ฌ์ฉ์ ์ธ์ ์ ์์ , ๋๋ฐ์ด์ค, ์์น ๋ฑ์ ์กฐ๊ฑด์ผ๋ก ํ์ฉํ๊ณ ์์ต๋๋ค. ์ด์ ๊ฐ์ด ์ธ์ ๊ธฐ๋ฐ ๋งฅ๋ฝ ์ ๋ณด๊ฐ ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ์ ๊ฒฐํฉ๋์ด ํ๋กฌํํธ ์ฝ์ ์ ์ฑ ์ด ๋์ํ๊ฒ ๋ฉ๋๋ค.
ACL(Access Control List) ์ฐ๋ ๊ตฌ์กฐ ์ธก๋ฉด์์๋ Microsoft 365 ๊ธฐ๋ฐ์ ๋ฌธ์ ๊ถํ ์ฒด๊ณ์ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ด, ๊ธฐ์กด์ SharePoint, OneDrive, Teams ๋ฑ์ ๊ถํ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ํ์ฉํ ์ ์์ต๋๋ค.
ํํธ, Microsoft์ PDP ๊ตฌ์กฐ๋ Copilot API Gateway์ ์ง์ค๋์ด ์๋ ์ค์์ง์คํ ํํ๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ์ด๋ ๊ธฐ์ ๋ด๋ถ ์์คํ ๊ณผ์ ์ฐ๊ณ์๋ ์ ํฉํ์ง๋ง, ์กฐ์ง ์ธ๋ถ์ ๋ค์ํ RAG ๊ตฌ์ฑ ์์์ ์ฐ๊ฒฐํ๊ฑฐ๋ ์ฌ์ฉ์ ์ ์ ์ ์ฑ ์ ๋์ ์ผ๋ก ํ์ฅํ๊ธฐ์๋ ์ ์ฐ์ฑ์ด ๋ค์ ์ ํ๋ ์ ์์ต๋๋ค.
Microsoft์ ์คํ ํ๋ฆ ํต์ ๊ตฌ์ฑ ์์ฝ
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| PBAC ์ ์ฉ ์์น | Microsoft Graph + API Gateway์์ ์ง์ ๋ชฉ์ ํ๊ฐ |
| CBAC ๊ตฌํ ๋ฐฉ์ | ์ธ์ ์ปจํ ์คํธ ๊ธฐ๋ฐ(API ํธ์ถ์, ์์ , ๋๋ฐ์ด์ค ๋ฑ) |
| ACL ์ฐ๋ ๊ตฌ์กฐ | Microsoft 365 ๊ถํ์ฒด๊ณ ๊ทธ๋๋ก ์ฐ๊ณ |
| PDP ๊ตฌ์ฑ ์์น | Copilot API Gateway ๋ด๋ถ์ ์ค์์ง์คํ ๊ตฌํ |
| ์คํ ํ๋ฆ ํต์ ๋ฒ์ | Copilot ํ๋ฆ ๋ด์์ ๊ณ ์ ๋ ์ ์ฑ ์กฐ๊ฑด์ ๋ํด ์ค๊ฐ ์ ์ด ๊ฐ๋ฅ |
Microsoft์ ๋ณด์ ์ํคํ ์ฒ๋ ์ ์ฌ์ ์์๊ณผ ๋ณด์ ์ ์ฑ ์ด ์ผ๊ด๋ ์ฒด๊ณ ์์์ ์ด์๋ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ๋ค๋ง ์คํ ํ๋ฆ ์ธ๋ถ์์ API๋ฅผ ํตํด ๋ค์ด์ค๋ ์ด๊ธฐ์ข RAG ์์คํ ์ด๋ LLM ์ํฌํ๋ก์ฐ์์ ์ฐ๊ฒฐ์ฑ์ ์ ํ์ ์ด๋ฏ๋ก, ๋ค์ค ์์คํ ๊ณผ์ ํตํฉ ๋ณด์ ์ ์ด์๋ ์ถ๊ฐ ๊ตฌ์ฑ์ด ์๊ตฌ๋ฉ๋๋ค[20].
5.3 Meta: LLM ํ๋กฌํํธ ์ ๋ฌธ์ ์ฝ์ ํ๋ฆ์ CBAC ๋ด์ฅ
Meta๋ ์์ฌ์ LLM ์ด์ ํ๊ฒฝ์์ ํ๋กฌํํธ ๊ตฌ์ฑ ์ง์ ๋จ๊ณ์์์ ์ ์ฑ ํ๊ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์กฐํฉ๋๋ค. ์ด๋ ๋จ์ํ ์ฌ์ฉ์ ์ธ์ฆ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ทผ์ ์ ์ดํ๋ ๊ฒ์ด ์๋๋ผ, ์ธ์ ๋งฅ๋ฝ(Session Context)๊ณผ ๋ฌธ์์ ์ปจํ ์คํธ(Context Metadata) ๋ฅผ ๊ฒฐํฉํ์ฌ ๋ฌธ์ ์ฝ์ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์คํ ์์ ์์ ์ ์ฑ ์ ์ผ๋ก ํ๋จํ๋ ๊ตฌ์กฐ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค[21].
Meta๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์คํ ํ๋ฆ์ ๋ฐ๋ฆ ๋๋ค:
- ์ฌ์ฉ์๊ฐ ์ง๋ฌธ์ ์ ๋ ฅํ๋ฉด, ์ธ์ ID ๋ฐ ์ฌ์ฉ์ ์ญํ (Role), ์ธ์ ๋ชฉ์ (Purpose) ๋ฑ์ ์ ๋ณด๊ฐ ๋ด๋ถ ํ๊ฐ ๋ก์ง์ ์ ๋ฌ๋ฉ๋๋ค.
- ๊ฒ์๋ ๋ฌธ์๋ค์๋
access_scope,confidentiality,created_at๋ฑ๊ณผ ๊ฐ์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ด๋ ์ธ์ ์ปจํ ์คํธ์ ๋น๊ต ํ๊ฐ๋ฉ๋๋ค. - ์ฝ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ๋ฌธ์ ์ค, ์ ์ฑ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฌธ์๋ง ํ๋กฌํํธ์ ์ ๋ฌ๋ฉ๋๋ค.
- ์์ฑ๋ ์๋ต์๋ ์ฐธ์กฐ๋ ๋ฌธ์์ ํด์ ๋๋ ๋ฌธ์ ID๊ฐ ์ฒจ๋ถ๋์ด, ์ฌํ ๊ฐ์ฌ ๋ฐ ์ถ์ ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ Context-Based Access Control (CBAC) ์ ๋ํ์ ์ธ ๊ตฌํ ์ฌ๋ก๋ก, ์ฌ์ฉ์์ ์คํ ๋งฅ๋ฝ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ฌธ์ ์ ๊ทผ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ๋ํ ๋ฌธ์์ ๋ชฉ์ ํ๊ทธ๋ ๋ถ๋ฅ ๋ฑ ์ถ๊ฐ ์กฐ๊ฑด์ด ํฌํจ๋๋ ๊ฒฝ์ฐ์๋ PBAC(Purpose-Based Access Control) ๋ก ํ์ฅ๋์ด ๋์ํฉ๋๋ค.
Meta๋ ๋ด๋ถ ACL ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์-์ฌ์ฉ์ ๊ถํ์ ๋ฏธ๋ฆฌ ์ ์ํ๋ฉฐ, ์คํ ์์ ์๋ CBAC ์ ์ฑ ๋ก์ง์ด ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์ ์ฝ์ ์กฐ๊ฑด์ ์ฌํ๊ฐํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ Microsoft์ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๋์ํ์ง๋ง, ํ๋กฌํํธ ๊ตฌ์ฑ ์ง์ ์ ๋ด๋ถ ์ค์ผ์คํธ๋ ์ด์ ๊ณ์ธต์์ ์ ์ฑ ์ด ํ๊ฐ๋๋ค๋ ์ ์์ ์ฐจ๋ณํ๋ฉ๋๋ค.
ํํธ Meta์ ๊ตฌ์กฐ๋ ๋๋ถ๋ถ ์์ฒด ํ๋ซํผ์ ๋ด์ฅ๋ ํํ๋ก ์ด์๋๋ฉฐ, ์ธ๋ถ SaaS ํ๊ฒฝ์ด๋ ๋ค์ํ RAG ๊ตฌ์ฑ์์์ ์ฐ๊ณ ๊ฐ๋ฅํ ๋ฒ์ฉ API๋ฅผ ์ ๊ณตํ์ง๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ์ฑ ์ ์ฐ์ฑ์ด๋ ์ธ๋ถ ์ฐ๋์ฑ ์ธก๋ฉด์์๋ ์ ํ์ ์ธ ๋ถ๋ถ์ด ์กด์ฌํฉ๋๋ค.
Meta์ ์คํ ํ๋ฆ ํต์ ๊ตฌ์ฑ ์์ฝ
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| PBAC ์ ์ฉ ์์น | ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ์ ํฌํจ๋ ๋ชฉ์ ํ๋ ๊ธฐ๋ฐ |
| CBAC ๊ตฌํ ๋ฐฉ์ | ์ธ์ ์ปจํ ์คํธ + ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ ๋น๊ต |
| ACL ์ฐ๋ ๊ตฌ์กฐ | ๋ด๋ถ ์ ์ฉ ACL ๋ชจ๋ธ ๊ธฐ๋ฐ ๋ฌธ์-์ฌ์ฉ์ ๋งคํ |
| PDP ๊ตฌ์ฑ ์์น | ์ค์ผ์คํธ๋ ์ดํฐ ๋ด๋ถ(ํ๋กฌํํธ ์ฝ์ ์ง์ ๋จ๊ณ) |
| ๋ด๋ถ ํ๋ฆ ํต์ ๋ฒ์ | ๋ด๋ถ LLM ํ๋ฆ ๋ด ํตํฉ ์ ์ด, ์ธ๋ถ ์ฐ๋ ์ ํ |
Meta์ ๋ณด์ ์ ๋ต์ ์คํ ์์ ํ๊ฐ ์ค์ฌ ๊ตฌ์กฐ๋ก ์ค๊ณ๋์ด ์์ผ๋ฉฐ, ํนํ LLM์ด ์๋ต์ ์์ฑํ๊ธฐ ์ ์ ์ ์ฑ ์ ํตํด ๋ฌธ์ ์ฝ์ ์ ์ ์ดํ๋ค๋ ์ ์์ ๋ณด์ ํจ๊ณผ๊ฐ ๋์ต๋๋ค. ํ์ง๋ง ๋ด๋ถ ํ๊ฒฝ์ ์ต์ ํ๋ ์ค๊ณ๋ก ์ธํด ํ์ฅ์ฑ์ ์ ํ์ ์ด๋ฉฐ, ๋ค์ํ RAG ์์ด์ ํธ๋ ๋ฉํฐ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋์ผํ ๊ตฌ์กฐ๋ฅผ ์ฌํํ๊ธฐ๋ ์ด๋ ต๋ค๋ ํ๊ณ๋ ์กด์ฌํฉ๋๋ค[22].
5.4 QueryPie: OPA ๊ธฐ๋ฐ ์ ์ฑ ๋ชจ๋ธ๋ก ์คํ ํ๋ฆ ์ ์ฒด๋ฅผ ๊ณ์ธต ๋ถ๋ฆฌ ์ ์ด
QueryPie๋ ์์ฒด์ ์ธ RAG(๊ฒ์-์์ฑ) ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ง๋ง, ๋ค์ํ LLM, ๋ฒกํฐ DB, ํ๋กฌํํธ ์ฒด์ธ ์๋จ์ ๋ฐฐ์น๋์ด ์คํ ํ๋ฆ ์ ์ฒด๋ฅผ ํต์ ํ ์ ์๋ ๋ณด์ ๊ณ์ธต(MCP Agent PAM) ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ QueryPie๊ฐ ๋จ์ํ ์ธ์ฆ/์ธ๊ฐ ์๋ฃจ์ ์ด ์๋, ์ ์ฑ ๊ธฐ๋ฐ ์คํ ๋ณด์ ์ํคํ ์ฒ๋ก ๊ธฐ๋ฅํ๋ค๋ ์ ์์ Microsoft ๋ฐ Meta์ ๊ตฌ๋ถ๋ฉ๋๋ค[23].
QueryPie์ ํต์ฌ ์ ๋ต์ OPA(Open Policy Agent) ๊ธฐ๋ฐ์ ์ ์ฑ ๋ชจ๋ธ์ ์ค์ฌ์ผ๋ก ํ PDP(Policy Decision Point), PEP(Policy Enforcement Point), PIP(Policy Information Point) ๊ณ์ธต ๋ถ๋ฆฌ๋ฅผ ์ ์ ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ด ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์คํ ํ๋ฆ์ ์ ์ดํฉ๋๋ค:
- ์ฌ์ฉ์์ ์์ฒญ์ MCP Agent PAM์ ํ๋ก์ ๊ณ์ธต(PEP) ์ ํตํด ์์ ๋ฉ๋๋ค.
- ํ๋ก์๋ ์์ฒญ์ ์ธ์ ์ ๋ณด, ์ฌ์ฉ์ ์ญํ , ์ง์ ๋ชฉ์ , ์๊ฐ, ๋ฆฌ์คํฌ ์์ค ๋ฑ์ ์ถ์ถํ ํ PDP์ ์ ๋ฌํฉ๋๋ค.
- PDP๋ ์ฌ์ ์ ์ ์๋ ์ ์ฑ ํ์ผ(ai-policy.yaml ๋๋ JSON ํํ)์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ฐ๋ฅผ ์ํํ๋ฉฐ, ์ด ๋ PBAC/PBAC/ACL ์กฐ๊ฑด์ ๊ฒฐํฉํ ๊ฐ์ฒด ๊ธฐ๋ฐ ํ๊ฐ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.
- ์ ์ฑ ์ ๋ถํฉํ์ง ์๋ ๊ฒฝ์ฐ ์ฝ์ ์ด ์ฐจ๋จ๋๋ฉฐ, ๋ชจ๋ ํ๋ฆ์ ์คํ ๋ก๊ทธ๋ก ์ ํํ๋ ํธ๋ ์ด์ค ํํ๋ก ์ ์ฅ๋ฉ๋๋ค.
QueryPie๋ ํนํ ๋ค์ํ ์ ๊ทผ์ ์ด ๋ชจ๋ธ์ ํ๋์ ๊ตฌ์กฐ๋ก ํตํฉํ ์ ์๋ ์ ์ฐ์ฑ์ ๊ฐ์ถ๊ณ ์์ต๋๋ค:
- ABAC(Attribute-Based Access Control): ๋ฌธ์ ์์ฑ, ์ฌ์ฉ์ ์์ฑ ๋ฑ ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ
- ReBAC(Relationship-Based Access Control): ๋ฌธ์-์ฌ์ฉ์ ๊ฐ ์กฐ์ง์ ๊ด๊ณ ๊ธฐ๋ฐ
- RiskBAC(Risk-Based Access Control): ์๊ฐ, ์์น, ์ธ์ ์ํ๋ ๋ฑ ๋์ ์กฐ๊ฑด ๋ฐ์
์ด๋ฌํ ๊ตฌ์กฐ๋ ๋จ์ํ ์ ์ฑ ์ ํ๊ฐํ๋ ๊ฒ์ ๋์ด, ์ ์ฑ ์ด ์คํ ํ๋ฆ์ ์ ํํ ๋ฐ์๋๊ณ ์๋์ง๋ฅผ ๋ณด์ฅํ๋ ์คํ ๊ธฐ๋ฐ ์ ์ฑ ๊ด๋ฆฌ๋ก ๊ธฐ๋ฅํฉ๋๋ค. ๋ํ QueryPie๋ Meta, Microsoft์ ๋ฌ๋ฆฌ ๋ค์ํ RAG ์๋ฃจ์ ๊ณผ ๋์์ ์ฐ๋ ๊ฐ๋ฅํ ํตํฉ ๋ณด์ ๊ณ์ธต์ผ๋ก ๊ธฐ๋ฅํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด LangChain, LlamaIndex, AutoGen ๋ฑ ์๋ก ๋ค๋ฅธ ์์ด์ ํธ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ์์๋, QueryPie๋ ๊ณตํต์ ํ๋ก์ ๊ณ์ธต์ ํตํด ์ ์ฑ ์ ์ฉ์ ์ผ๊ด์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.
QueryPie์ ์คํ ํ๋ฆ ํต์ ๊ตฌ์ฑ ์์ฝ
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| PBAC ์ ์ฉ ์์น | ai-policy.yaml ๊ธฐ๋ฐ ๋ชฉ์ ํ๋ ํ๊ฐ |
| CBAC ๊ตฌํ ๋ฐฉ์ | ์ฌ์ฉ์/์์/์๊ฐ/๋ฆฌ์คํฌ/๋ฉํ๋ฐ์ดํฐ ๋ณตํฉ ํ๊ฐ |
| ACL ์ฐ๋ ๊ตฌ์กฐ | OPA ๊ธฐ๋ฐ ABAC, ReBAC, RiskBAC ๋ชจ๋ ์ง์ |
| PDP ๊ตฌ์ฑ ์์น | ํ๋ก์ ๋ด PDP/PEP/PIP ๊ตฌ์กฐ๋ก ๋ถ๋ฆฌ ๊ตฌํ |
| ์คํ ํ๋ฆ ํต์ ๋ฒ์ | ์ธ๋ถ ๋ชจ๋ธ ํฌํจ ์ ๋ฐฉ์ ํ๋ฆ ํต์ ๊ฐ๋ฅ (RAG ๋น์ข ์์ ) |
QueryPie๋ ์คํ ํ๋ฆ ์ ์ด ๊ฐ๋์ ํ์ฅ์ฑ์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ค์์ ์์ด์ ํธ, ๋ค์์ ๋ฐฑ์๋์ ์ฐ๊ฒฐ๋๋ RAG ์ด์ ํ๊ฒฝ์์ ์คํ ์์ ์ ์ฑ ํต์ ์ ์ค์ฌ ๊ณ์ธต์ผ๋ก ๊ธฐ๋ฅํ ์ ์์ต๋๋ค. ํนํ ๋ณด์ ์ ์ฑ ์ ์ถฉ๋ ํ์ง, ๊ด๋ฆฌ์ ์น์ธ ์ฝ์ , ๊ฑฐ๋ฒ๋์ค ๊ธฐ๋ฐ ์ ์ฑ ๋ฒ์ ๊ด๋ฆฌ ๋ฑ์ ๊ธฐ๋ฅ๋ ๋ด์ฅ๋์ด ์์ด, ๋จ์ผ RAG ์๋ฃจ์ ์ ๊ตญํ๋์ง ์๊ณ ๋ณด์ ๊ณ์ธต ์ ์ฒด๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ตฌํํ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๋๋ค[24].
Microsoft, Meta, QueryPie์ ์คํ ํ๋ฆ ํต์ ๊ตฌ์กฐ
![[๊ทธ๋ฆผ 8] ์คํ ํ๋ก์ฐ ๋น๊ต](/whitepapers/23/wp23-8-execution-flow-comparison-microsoft-vs-meta-vs-querypie.png)
5.5 ๋น๊ต ์์ฝ ํ: ์คํ ํ๋ฆ ํต์ ์ ๋ต ๋งคํธ๋ฆญ์ค
์๋ ํ๋ Microsoft, Meta, QueryPie๊ฐ ์ด๋ป๊ฒ ์คํ ํ๋ฆ ๋ด์์ ๋ณด์ ์ ์ฑ ์ ํต์ ํ๋์ง๋ฅผ ๋น๊ตํ ๊ฒ์ ๋๋ค. ๊ฐ ํญ๋ชฉ์ ๋ณด์ ์ ๋ต์ ํต์ฌ ๊ตฌ์ฑ ์์(PBAC, CBAC, ACL), ์ ์ฑ ์คํ ๊ณ์ธต์ ์์น(PDP/PEP/PIP), ํ๋กฌํํธ ์ฝ์ ์์ ์ ํต์ ์ฌ๋ถ, ๊ทธ๋ฆฌ๊ณ ๋ค์ํ RAG ์์คํ ๊ณผ์ ์ฐ๋ ๊ฐ๋ฅ์ฑ์ ๋ฐ๋ผ ํ๊ฐ๋ฉ๋๋ค.
Microsoft, Meta, QueryPie ์คํ ํ๋ฆ ํต์ ์ ๋ต ๋น๊ต ์์ฝ
| ํญ๋ชฉ | Microsoft | Meta | QueryPie |
|---|---|---|---|
| PBAC ์ ์ฉ ์์น | Microsoft Graph ๊ถํ ๊ธฐ๋ฐ ํ๊ฐ | ๋ฌธ์ ๋ชฉ์ ํ๊ทธ ๊ธฐ๋ฐ ํ๊ฐ | ai-policy.yaml ๋ด ์์ฒญ ๋ชฉ์ ๊ธฐ๋ฐ ํ๊ฐ |
| CBAC ๊ตฌํ ๋ฐฉ์ | API ํธ์ถ์, ์์ ๋ฑ ์ธ์ ์ผ๋ถ ๋ฐ์ | ์ ์ฒด ์ธ์ ์ปจํ ์คํธ + ๋ฌธ์ ๋ฉํ๋ฐ์ดํฐ ๋น๊ต | ์ฌ์ฉ์, ์์, ์๊ฐ, ๋ฆฌ์คํฌ ๋ฑ ๋ณตํฉ ์ปจํ ์คํธ ํ๊ฐ |
| ACL ์ฐ๋ ๊ตฌ์กฐ | Microsoft 365์ ACL์ ์ฐ๊ณ | ๋ด๋ถ ACL ๋ชจ๋ธ ๊ธฐ๋ฐ | OPA ๊ธฐ๋ฐ; ABAC, ReBAC, RiskBAC ๋ชจ๋ ์ง์ |
| PDP ๊ตฌ์ฑ ์์น | Copilot API Gateway(์ค์ ์ง์คํ) | Orchestrator ๋ด๋ถ (์ฝ์ ์ง์ ) | ์ธ๋ถ Proxy ๊ณ์ธต, PDP/PEP/PIP ๋ถ๋ฆฌ |
| ์ ์ฑ ์ ์ฐ์ฑ | Graph ๊ธฐ๋ฐ ์ ์ฑ ํ์ฅ์ ์ ํ์ | ๋ด๋ถ ์์คํ ์ ์ฉ ์ ์ฑ | JSON/YAML ๊ธฐ๋ฐ ๊ฐ์ฒด์ ์ฑ , ์ธ๋ถ API ์ฐ๊ณ ๊ฐ๋ฅ |
| ํ๋กฌํํธ ์ฝ์ ํต์ | ์ ์ฑ ํํฐ ํต๊ณผ ํ ์ฝ์ | ์ ์ฑ ํํฐ ํต๊ณผ ํ ์ฝ์ | ์ ์ฑ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ฝ์ ์์ฒด๋ฅผ ๋ถ๊ธฐ/์ฐจ๋จ |
| ํ์ฅ์ฑ | Microsoft ์ํ๊ณ์ ์ข ์ | ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์ ์ต์ ํ | ๋ค์ํ LLM/RAG์ ๋ฒ์ฉ ์ ์ฉ ๊ฐ๋ฅ |
| ์คํ ํ๋ฆ ์ ์ด ๊ฐ๋ | ์ค๊ฐ (์ ์ ํ๋ฆ ์์ฃผ) | ๋์ (์ฝ์ ์ง์ ์ ์ด) | ๋งค์ฐ ๋์ (์ ๋ฐฉ์ ๋์ ์ ์ด) |
QueryPie๋ ์คํ ํ๋ฆ ๋ด์์ ์ ์ฑ ์ ์ฉ ์์น์ ๋ ๋ฆฝ์ฑ๊ณผ ์ ์ฐ์ฑ ์ธก๋ฉด์์ ์ฐ์์ ์์ผ๋ฉฐ, PBAC/CBAC/ACL์ ๋จ์ผ ์ ์ฑ ํํ์ผ๋ก ํตํฉํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ํนํ ๋ค์ํ RAG ํ๋ซํผ๊ณผ์ ์ฐ๊ฒฐ ๊ฐ๋ฅ์ฑ๊ณผ ์ ์ฑ ๋ฒ์ ๊ด๋ฆฌ, ๊ฐ์ฌ ๋ก๊ทธ ๋ถ๋ฆฌ ์ ์ฅ ๋ฑ์ ๊ธฐ๋ฅ์ ์คํ ๊ธฐ๋ฐ ๋ณด์์ ํต์ฌ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑ์ํค๋ ์์๋ก ์์ฉํฉ๋๋ค[25].
5.6 QueryPie์ ์ญํ : RAG๊ฐ ์๋ RAG ๋ณด์์ ์ํ ํตํฉ ์ ์ด ์๋ฃจ์
QueryPie๋ RAG(Retrieval-Augmented Generation) ์์คํ ์ ์์ฒด์ ์ผ๋ก ์ ๊ณตํ์ง ์์ง๋ง, RAG ๊ธฐ๋ฐ LLM ํ๊ฒฝ์ ๋ณด์์ ๋ณด์ฅํ๊ธฐ ์ํ ์คํ ํ๋ฆ ํต์ ๊ณ์ธต์ผ๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ณธ ๋ฐฑ์์์๋ QueryPie๋ฅผ RAG ์๋ฃจ์ ์ด ์๋, ๋ฉํฐ RAG ํ๊ฒฝ์ ๋์์ผ๋ก ํ๋ ํตํฉ ๋ณด์ ์ ์ด ์๋ฃจ์ ์ผ๋ก ๋ถ๋ฅํ๋ฉฐ, Microsoft ๋ฐ Meta์์ ์ ๋ต์ ๋น๊ต ๋์์ ํฌํจํ์์ต๋๋ค.
QueryPie๋ MCP Agent PAM์ด๋ผ๋ ์ ์ฑ ์คํ ๊ณ์ธต์ ํตํด, ํ๋กฌํํธ ์ฝ์ ์ด์ ์ ๋ชจ๋ ํ๋ฆ์์ PDP(Policy Decision Point), PEP(Policy Enforcement Point), PIP(Policy Information Point) ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ์์ผ๋ฉฐ, ์คํ ์์ ์ ์ ์ฑ ํ๊ฐ๋ฅผ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ํํฉ๋๋ค:
- PaC(Policy as Code):
ai-policy.yaml๋๋ JSON ๊ธฐ๋ฐ์ ์ ์ฑ ํ์ผ์ ๊ธฐ์ค์ผ๋ก ์คํ ํ๋ฆ ์กฐ๊ฑด์ ์ ์ํฉ๋๋ค. - PBAC(Purpose-Based Access Control): ์ฌ์ฉ์์ ์์ฒญ ๋ชฉ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์ ์ฝ์ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- CBAC(Context-Based Access Control): ์ธ์ , ๋๋ฐ์ด์ค, ์๊ฐ, ๋ฆฌ์คํฌ ๋ฑ ๋์ ์ปจํ ์คํธ์ ๋ฐ๋ผ ์ ์ฑ ํ๊ฐ๋ฅผ ์ํํฉ๋๋ค.
ํนํ ์ค์ํ ์ ์, QueryPie MCP Agent PAM์ด ์ด๋ฌํ ์ ์ฑ
ํ๊ฐ๋ฅผ ์คํ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ฐ๋์ ์ธ๋ถ RAG ์๋ฃจ์
์ผ๋ก๋ถํฐ ๋ฉํ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์ ๊ณต๋ฐ์ ์ ์์ด์ผ ํ๋ค๋ ๊ตฌ์กฐ์ ์ ์ ๊ฐ ํ์ํ๋ค๋ ์ ์
๋๋ค. ์๋ฅผ ๋ค์ด LangChain, LlamaIndex, AutoGen ๋ฑ์ ํ๋ ์์ํฌ๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก user_id, doc_type, access_scope, confidentiality ๋ฑ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ์ ์์ด์ผ ํ๋ฉฐ, QueryPie๋ ์ด ์ ๋ณด๋ฅผ ์์ ๋ฐ์ ์์ฒด์ ์ธ ACL ์ ์ฑ
๋ ์ด์ด์์ ๋ถ๋ฆฌ ์คํ ๊ตฌ์กฐ๋ก ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ QueryPie๋ ๋จ์ผ RAG ์ ํ์ ์ข ์๋์ง ์๊ณ , ๋ค์ํ ํ๋ ์์ํฌ์ ์ ์ฉ ๊ฐ๋ฅํ ACL ํตํฉ ๋ ์ด์ด๋ก์ ์ ์ฑ ์คํ์ ๋ด๋นํฉ๋๋ค. ์ด๋ก์จ ๋ฒกํฐ DB์ ํ๋กฌํํธ ๊ตฌ์ฑ ๊ณ์ธต ๊ฐ์ ํ๋ฆ์ ๋ณ๋๋ก ๊ฐ์ธ๋ฉฐ, ๋น์ธ๊ฐ ๋ฌธ์์ ์ฝ์ ์ด๋ ์ ์ถ ๊ฐ๋ฅ์ฑ์ ์ ์ฑ ์ ์ผ๋ก ์ฐจ๋จํ๋ ๋ ๋ฆฝ ๋ณด์ ๊ณ์ธต์ผ๋ก ๋์ํ ์ ์์ต๋๋ค.
๋ํ QueryPie๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ์ฑ ๊ธฐ๋ฐ์ผ๋ก ๋ณด์ฅํฉ๋๋ค:
- ๋ฉํฐํ ๋์ ๊ฒฉ๋ฆฌ: namespace, user_id, role, doc_type, confidentiality ๊ธฐ๋ฐ์ ์ ์ฑ ํํฐ๋ฅผ ํตํด ๋ฒกํฐ DB์ ๋ ผ๋ฆฌ์ ๋ถ๋ฆฌ ๊ตฌํ
- ์ ์ฑ ์ถฉ๋ ํ์ง ๋ฐ ์น์ธ ์ฝ์ : ์ ์ฑ ๊ฐ ๋ชจ์์ ํ์งํ๊ณ , ๊ณ ์ํ ์์ฒญ์ ๋ํด ๋์ ๊ด๋ฆฌ์ ์น์ธ ์์ฒญ ์ฝ์
- ์ ์ฑ ํธ๋ ์ด์ค ๋ฐ ๋ก๊ทธ ๋ถ๋ฆฌ ์ ์ฅ: ๋ชจ๋ ์์ฒญ์ ์คํ ์์ ์ ์กฐ๊ฑด๊ณผ ์ ์ฑ ๊ฒฐ๊ณผ๋ฅผ ํจ๊ป ๋ก๊ทธ๋ก ์ ์ฅํ์ฌ ์ฌํ ๊ฐ์ฌ ๊ฐ๋ฅ
๊ฒฐ๊ตญ QueryPie๋ ๋จ์ํ ์ ์ฑ ์ ์ ๋๊ตฌ๊ฐ ์๋๋ผ, ๊ฐ๊ธฐ ๋ค๋ฅธ RAG ์๋ฃจ์ ์์์ ACL, PBAC, CBAC ์ ์ฑ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์คํํ ์ ์๋ ๋ฒ์ฉ ๋ณด์ ๊ณ์ธต์ ๋๋ค[26].
5.7 ์คํ ํ๋ฆ ํตํฉ ๊ฐ์์ฑ: ๋จ์ LLM ๊ฐ๋๋ ์ผ์ ๋์ด์ ๊ตฌ์กฐ์ ํต์ ์ ํ์์ฑ
ํ๋์ AI ๊ธฐ๋ฐ ์ ๋ณด ์ฒ๋ฆฌ ์์คํ ์ ๋จ์ํ LLM(Language Model) ํธ์ถ๋ง์ผ๋ก ๊ตฌ์ฑ๋์ง ์์ต๋๋ค. ๋๋ถ๋ถ์ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ LLM์ AI Agent, ๋ฒกํฐ ๊ฒ์, ์ธ๋ถ API ์ฐ๋, ๋ฌธ์ ์ ์ฒ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ MCP(Model Context Protocol) Server์ ๊ฒฐํฉ๋์ด ์๋ํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ ๋จ์ผ ๋ชจ๋ธ์ด ์๋, ๋ค์์ ์คํ ์ปดํฌ๋ํธ๊ฐ ํ๋ ฅํ์ฌ ์๋ต์ ์์ฑํ๋ ๋ถ์ฐ ์ ์ฑ ํ๋ฆ์ ํ์ฑํฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ์์๋ ๋ ์ด์ ํ๋กฌํํธ ์ ๋ ฅ์ ์ ํํ๊ฑฐ๋ ์๋ต์ ํํฐ๋งํ๋ ๋ฐฉ์์ ๊ฐ๋๋ ์ผ(guardrail) ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ๋ค์์ ์๋๋ฆฌ์ค๋ ๊ทธ ํ๊ณ๋ฅผ ์ ๋ณด์ฌ์ค๋๋ค:
- AI Agent๊ฐ ์ ๋จ๊ณ์์ ๋ถ์์ ํ๊ฒ ํํฐ๋ง๋ ๋ฌธ์๋ฅผ LLM์๊ฒ ์ ๋ฌํ๋ ๊ฒฝ์ฐ
- MCP Server๊ฐ ์์ฒญ์ ์ฌ์์ฑํ๊ฑฐ๋ ๋ฆฌ๋๋ ์ ํ๋ ๊ณผ์ ์์ ์ ์ฑ ์ด ๋ฌด์๋๋ ๊ฒฝ์ฐ
- A2A(Agent-to-Agent) ํธ์ถ ํ๋ฆ์์ ๊ถํ์ด ์๋ Agent๊ฐ ์คํ์ ํธ๋ฆฌ๊ฑฐํ๋ ๊ฒฝ์ฐ
์ด๋ฌํ ๋ณตํฉ์ ์ธ ํธ์ถ ํ๋ฆ ์์์ ๋ณด์์ ๋ณด์ฅํ๊ธฐ ์ํด์๋ ๋จ์ ์ ์ฑ ์ ์ธ์ด ์๋, ์คํ ํ๋ฆ ๋ด ๊ฐ ์ง์ ์์ ์ ์ฑ ์ ํ๊ฐํ๊ณ ๋ฐ์ํ๋ ๋ฅ๋ ฅ, ์ฆ ์คํ ๊ธฐ๋ฐ ์ ์ฑ ์งํ(Execution-Time Policy Enforcement) ์ด ์๊ตฌ๋ฉ๋๋ค.
QueryPie MCP Agent PAM์ ์ด ์กฐ๊ฑด์ ์ถฉ์กฑ์ํค๋ ๊ตฌ์กฐ์ ์๋ฃจ์ ์ ๋๋ค. ๋จ์ผ ๋ชจ๋ธ์ ์ ์ดํ๋ ๊ฒ์ด ์๋๋ผ, MCP Server โ AI Agent โ LLM์ ์ ์ฒด ํธ์ถ ๊ฒฝ๋ก๋ฅผ ํ๋ก์ ๊ณ์ธต์ ํตํด ๊ฐ์ธ๊ณ , ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค:
- PDP(Policy Decision Point)๋ ์คํ ์์ฒญ์ ๋ชฉ์ ๊ณผ ์ธ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฑ ์ ํ๊ฐํฉ๋๋ค.
- PEP(Policy Enforcement Point)๋ ํ๊ฐ๋ ์ ์ฑ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ํ๋กฌํํธ ๊ตฌ์ฑ, ์ฝ์ , ๊ฑฐ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- PIP(Policy Information Point)๋ ์ธ๋ถ ์์คํ ๋๋ ๋ฉํ๋ฐ์ดํฐ์์ ์ ์ฑ ํ๊ฐ์ ํ์ํ ์ปจํ ์คํธ๋ฅผ ๋์ ์ผ๋ก ์์งํฉ๋๋ค.
์ด๋ฌํ ์ค๊ณ๋ ๋จ์ํ ํน์ ๋ฌธ์์ ์ ๊ทผํ ์ ์๋์ง๋ฅผ ํ๋จํ๋ ACL ์์ค์ ๊ถํ ํต์ ๋ฅผ ๋์ด์, AI ์์คํ ์ ์ฒด์ ํ๋ฆ์ โ์ ์ฑ ์ค์ฌ ๊ตฌ์กฐโ๋ก ์ฌํธ์ฑํ๋ ์ญํ ์ ์ํํฉ๋๋ค.
QueryPie๋ ์์ฌ ๊ณต์ ๋ฐฑ์์์ ๋ค์๊ณผ ๊ฐ์ ์ฒ ํ๊ณผ ์ ๋ต ๋ฐฉํฅ์ ์ ์ํฉ๋๋ค:
- "์ ์ฑ ์ ํ๋กฌํํธ ๋ฐ์์ ์ ์ธ๋๋ ๊ฒ์ด ์๋๋ผ, ์คํ ๊ฒฝ๋ก ๋ด๋ถ์์ ์ ์ฉ๋์ด์ผ ํ๋ค"๋ ์คํ ์ฐ์ ์์น[27]
- "AI Agent๊ฐ ๊ฒฐ์ ํ ํ๋ฆ์กฐ์ฐจ ์ ์ฑ ํ๊ฐ ๋์์ด ๋์ด์ผ ํ๋ฉฐ, ์ค๊ฐ์์ ์น์ธ ์ฝ์ ์ด๋ ํ๋ฆ ์ฐจ๋จ์ด ๊ฐ๋ฅํด์ผ ํ๋ค"๋ ์คํ ๊ณ์ธต ํต์ ์ ๋ต[28]
- "MCP PAM์ ๋จ์ ์ ๊ทผ์ ์ด๊ฐ ์๋๋ผ, AI ์์คํ ์ ์ฒด๋ฅผ ์ ์ฑ ์ผ๋ก ์๊ฐํํ๋ ๋ณด์ ์ํคํ ์ฒ์ ์ค์ฌ ๊ณ์ธต"์ด๋ผ๋ ๊ตฌ์กฐ์ ๋ชฉํ[29]
์ด๋ฌํ ๊ตฌ์กฐ์ ํต์ ๋ชจ๋ธ์ ๋จ์ํ ๋ณด์์ ์ํ ๊ฒ์ด ์๋๋ผ, ์ค๋ช ๊ฐ๋ฅ์ฑ(Explainability), ๊ท์ ๋์์ฑ(Compliance), ์ฌ์ฉ์ ์ ๋ขฐ์ฑ(Trustworthiness) ํ๋ณด๋ฅผ ์ํ ๊ธฐ๋ฐ์ผ๋ก๋ ์๋ํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ๋ฏธ๋์ AI ๋ณด์ ์ ๋ต์ ๋จ์ ๊ฐ๋๋ ์ผ์ ๋์ด์์ผ ํ๋ฉฐ, ์คํ ํ๋ฆ ์์ฒด๋ฅผ ํต์ ํ๊ณ ์ค๋ช ๊ฐ๋ฅํ ์ ์ฑ ์งํ ๊ตฌ์กฐ๋ฅผ ์๋ฆฝํ๋ ๋ฐฉํฅ์ผ๋ก ์งํํด์ผ ํฉ๋๋ค. QueryPie์ ๊ตฌ์กฐ๋ AI ๋ณด์์ ์ ๋ต์ ๋ฏธ๋๋ฅผ ๊ฐ์ฅ ํ์ค์ ์ผ๋ก ๋ฐ์ํ๊ณ ์งํํ๊ณ ์๋ ์ํคํ ์ณ์ ๋๋ค.
6. ๊ฒฐ๋ก โ ์คํ ํ๋ฆ ์ ์ด๊ฐ RAG 2.0์ ๋ณด์ ํต์ฌ์ธ ์ด์
6.1 ์ ์ ์ ์ฑ ์ ์ธ์ ๋ ์ด์ ์ถฉ๋ถํ์ง ์๋ค
RAG(Retrieval-Augmented Generation) 2.0 ํ๊ฒฝ์์ AI๋ ๊ณ ์ ๋ ๋ฐ์ดํฐ์ ์ ๋์ด์ ์ธ๋ถ ์ง์์ ์ค์๊ฐ์ผ๋ก ๊ฐ์ ธ์ ์๋ต์ ์์ฑํฉ๋๋ค. ํ๋กฌํํธ์ ์ฝ์ ๋๋ ๋ฌธ์๋ ๋ฒกํฐ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ์ ํ๋๋ฉฐ, ๊ทธ ๊ณผ์ ์์ ์ฌ์ฉ์ ๊ถํ์ด๋ ๋ฌธ์ ๋ฏผ๊ฐ๋ ๋ฑ์ ๋ณด์ ์กฐ๊ฑด์ด ๋๋ฝ๋ ๊ฒฝ์ฐ, AI ์๋ต์ ํตํด ๋น์ธ๊ฐ ์ ๋ณด๊ฐ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํฉ๋๋ค[30].
์ด๋ก ์ธํด ๋ณด์ ํ๋จ ๊ธฐ์ค์ ๊ธฐ์กด์ ๋จ์ํ ์ด์งํ ์ง๋ฌธ:
"์ฌ์ฉ์ X๊ฐ ๋ฆฌ์์ค Y์ ์ ๊ทผ ๊ฐ๋ฅํ๊ฐ?"
๋ฅผ ๋์ด์ ๋ค์๊ณผ ๊ฐ์ ๋งฅ๋ฝ ๊ธฐ๋ฐ ํ๊ฐ๋ก ๋ฐ์ ํด์ผ ํฉ๋๋ค:
"์ฌ์ฉ์ X๊ฐ Z๋ผ๋ ๋ชฉ์ ๊ณผ T๋ผ๋ ์์ ์ ์ธ์ ์์, ๋ฌธ์ Y๋ฅผ ํ๋กฌํํธ์ ์ฝ์ ํ๊ณ LLM ์๋ต์ ์ฌ์ฉํด๋ ์ ์ ํ๊ฐ?"
์ด์ฒ๋ผ ๋ฌธ์ ์ฌ์ฉ ์์ ๊ณผ ๋งฅ๋ฝ์ ํฌํจํ ๋ณด์ ํ๋จ์ ๊ธฐ์กด์ ACL(Access Control List)์ด๋ RBAC(Role-Based Access Control)๋ง์ผ๋ก๋ ์ถฉ์กฑ๋์ง ์์ผ๋ฉฐ, ๋ชฉ์ ๊ธฐ๋ฐ ์ ๊ทผ์ ์ด(PBAC), ๋ฌธ๋งฅ ๊ธฐ๋ฐ ์ ๊ทผ์ ์ด(CBAC), ๋ฆฌ์คํฌ ๊ธฐ๋ฐ ํ๊ฐ(RiskBAC) ๋ฑ์ ๋ชจ๋ธ์ด ํตํฉ์ ์ผ๋ก ์ ์ฉ๋์ด์ผ ํฉ๋๋ค[31].
ํนํ RAG ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ ์คํ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค:
- ์ฌ์ฉ์ ์์ฒญ ์์
- ๋ฒกํฐ ๊ฒ์ ์ํ
- ๋ฌธ์ ํํฐ๋ง ๋ฐ ์ ํ
- ํ๋กฌํํธ ๊ตฌ์ฑ
- LLM ํธ์ถ ๋ฐ ์๋ต ๋ฐํ
์ด๋ฌํ ๋ค๋จ๊ณ ์คํ ํ๋ฆ ์ค ์ด๋ ํ ๊ณณ์ด๋ผ๋ ์ ์ฑ ํ๊ฐ๊ฐ ์๋ต๋๋ฉด, ์์คํ ์ ์ฌ์ ์ ์๋ ๊ถํ ์ฒด๊ณ๋ฅผ ์ฐํํ๋ ์คํ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๊ฒ ๋ฉ๋๋ค. ์ด๋ก ์ธํด ๋ณด์ ์ ์ฑ ์ ๋ ์ด์ ์ ์ธ์ด๋ ์ฌ์ ์ค์ ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ผ๋ฉฐ, ํ๋กฌํํธ ์ฝ์ ์์ ์ ์ ์ฑ ์ด ๋ฐ์๋๋ ์คํ ๊ธฐ๋ฐ ๋ณด์ ์ํคํ ์ฒ๊ฐ ํ์์ ์ ๋๋ค.
6.2 ์คํ ํ๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ณด์ ์ํคํ ์ฒ์ 3์์
RAG ๋ณด์์ ์ค์ง์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ํด์๋ ์ ์ฑ ํ๊ฐ๊ฐ ์คํ ํ๋ฆ ๋ด๋ถ์์ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ฉฐ, ์ด๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง ๊ตฌ์ฑ ์์๊ฐ ํ์์ ์ผ๋ก ์๋ํด์ผ ํฉ๋๋ค:
| ๊ตฌ์ฑ ์์ | ์ญํ |
|---|---|
| PDP (Policy Decision Point) | ์ฌ์ฉ์ ์์ฒญ ๋ฐ ์ธ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฑ ํ๋จ ์ํ |
| PIP (Policy Information Point) | ์ ์ฑ ํ๋จ์ ํ์ํ ์ธ๋ถ ๋ฉํ๋ฐ์ดํฐ(์ฌ์ฉ์, ๋ฌธ์, ์์ , ์ํ๋ ๋ฑ) ์ ๊ณต |
| PEP (Policy Enforcement Point) | ์ ์ฑ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์คํ ํ๋ฆ(๋ฌธ์ ์ฝ์ , ์์ฒญ ์ฐจ๋จ, ์น์ธ ์์ฒญ ๋ฑ)์ ์ ์ด |
์ด ๊ตฌ์กฐ๋ ์ ์ฑ ์ ์ธ์์ ์ ์ฑ ๋ฐ์๊น์ง์ ์ ์ฑ ์์ ์ฃผ๊ธฐ(policy lifecycle) ์ ๋ฐ์ ์ค์๊ฐ ํ๋ฆ ๋ด์ ๋ด์ฅํ ์ ์๋ ์ฒด๊ณ๋ฅผ ์๋ฏธํฉ๋๋ค.
ํ์ฌ ๋ํ์ ์ธ ํ๋ซํผ์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ด ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ณ ์์ต๋๋ค:
- Microsoft๋ Copilot์ API Gateway์์ Microsoft Graph ๊ธฐ๋ฐ ๊ถํ ํ๊ฐ๋ฅผ ์ํํ๋ฉฐ, ์ธ์ฆ ๋ฐ ์ญํ ๊ธฐ๋ฐ ์ ๊ทผ์ ํ๋กฌํํธ ๊ตฌ์ฑ ์ด์ ์ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ์ฑ ํ๋ฆ์ ์ ์ ์ด๋ฉฐ ์คํ ํ๋ฆ ์ ์ด๋ ์ ํ์ ์ ๋๋ค[32].
- Meta๋ ์ค์ผ์คํธ๋ ์ด์ ๊ณ์ธต ๋ด๋ถ์ ์ธ์ ๊ธฐ๋ฐ CBAC/PBAC ์ ์ฑ ํ๊ฐ ๋ก์ง์ ๋ด์ฅํ๊ณ ์์ผ๋ฉฐ, ํ๋กฌํํธ ์ฝ์ ์ง์ ์ ๋ฌธ์ ํํฐ๋ง์ ์ํํฉ๋๋ค. ์ด๋ ์คํ ์์ ํ๊ฐ์ด์ง๋ง, ์ธ๋ถ ์ฐ๋์ด๋ ์ ์ฑ ํ์ฅ์ฑ์ ์ ์ฝ์ด ์กด์ฌํฉ๋๋ค[33].
- QueryPie๋ MCP Agent PAM ๊ตฌ์กฐ๋ฅผ ํตํด ์ธ๋ถ ํ๋ก์ ๊ณ์ธต์์ PDP, PIP, PEP๋ฅผ ๋ถ๋ฆฌ ๊ตฌํํ๊ณ ์์ผ๋ฉฐ, ๋ค์ํ LLM/RAG ์๋จ์์ ์คํ ํ๋ฆ ์ ์ฒด๋ฅผ ๊ฐ์ธ๋ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฒกํฐ ๊ฒ์, ๋ฌธ์ ์ฝ์ , ๋ชจ๋ธ ํธ์ถ ๋ฑ ๋ชจ๋ ์ฃผ์ ์คํ ์ง์ ์ ์ ์ฑ ์ ์ฝ์ ํ๊ณ , ํ๊ฐ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ํ๋ฆ์ ๋ถ๊ธฐํ๊ฑฐ๋ ์ฐจ๋จํ ์ ์์ต๋๋ค[34].
ํนํ QueryPie๋ ๋จ์ผ ๋ฌธ์ ๋๋ ๋จ์ผ ์ง๋ฌธ ๋จ์์ ํ๊ฐ๋ฅผ ๋์ด, ์ธ์ ์ ์ฒด์ ํ๋ฆ(ํ๋กฌํํธ โ ํธ์ถ โ ์๋ต โ ๊ฐ์ฌ)์ ํ๋์ ์ ์ฑ ์คํ ๋จ์๋ก ํต์ ํ ์ ์๋ ๊ตฌ์กฐ์ ํ์ฅ์ฑ์ ๋ณด์ ํ๊ณ ์์ต๋๋ค.
๊ฒฐ๊ตญ ์คํ ๊ธฐ๋ฐ ๋ณด์์ ์ ์ธ๋ ์ ์ฑ ์ด ์ค์ ํ๋ฆ์ ๋ฐ์๋๋์ง๋ฅผ ๊ฒ์ฆํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ ์คํ ํ๋ฆ ๊ฐ ์ง์ ์ ์ ์ฑ ์ด ์ฝ์ ๋๊ณ ์งํ๋์ด์ผ ํฉ๋๋ค. ์ดํ ์ ์์๋ ์ด๋ฌํ ์ ์ฑ ์ด PBAC, CBAC, ACL ๋ฑ์ผ๋ก ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๊ณ ํตํฉ๋์ด์ผ ํ๋์ง๋ฅผ ๋ถ์ํฉ๋๋ค.
6.3 PBAC, CBAC, ACL์ ํตํฉ ๊ตฌ์กฐ ๋ด์์๋ง ์คํจ์ฑ์ ๊ฐ์ง๋ค
RAG ํ๊ฒฝ์ ๋ณด์์ ์ค์ง์ ์ผ๋ก ๊ตฌ์ฑํ๊ธฐ ์ํด์๋, ๋ชฉ์ ๊ธฐ๋ฐ(PBAC), ๋ฌธ๋งฅ ๊ธฐ๋ฐ(CBAC), ๊ฐ์ฒด ๊ธฐ๋ฐ(ACL) ์ ๊ทผ์ ์ด ๋ชจ๋ธ์ด ๊ฐ๋ณ ๊ธฐ๋ฅ์ด ์๋ ํตํฉ ์ ์ฑ ํ๊ฐ ๊ตฌ์กฐ ๋ด์์ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์ผ ํฉ๋๋ค. ๊ฐ๊ฐ์ ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ ์ญํ ๊ณผ ํ๊ณ๋ฅผ ๊ฐ์ง๋๋ค:
- PBAC (Purpose-Based Access Control)
- ์ฌ์ฉ์ ์์ฒญ์ ๋ชฉ์ ์ ๋ฐ๋ผ ์ ์ฑ ์ ํ๊ฐํฉ๋๋ค(์: ์ฌ์ฉ์๊ฐ ์ฑ๊ณผ ํ๊ฐ๋ฅผ ์ํด ์ ๊ทผ์ ์์ฒญํ๋ ๊ฒฝ์ฐ).
- ํ์ง๋ง ์์ฒญ ๋ชฉ์ ๋ง์ผ๋ก๋ ์ค์ ์คํ ์ปจํ ์คํธ ์ ์ฒด๋ฅผ ์ค๋ช ํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- CBAC (Context-Based Access Control)
- ์์ฒญ ์์ ์ ์ธ์ ๋งฅ๋ฝ(์: ์ฌ์ฉ์ ์ญํ , ์๊ฐ, ๋๋ฐ์ด์ค, ๋ฆฌ์คํฌ ์ ์ ๋ฑ)์ ์ ์ฑ ์กฐ๊ฑด์ ํฌํจํฉ๋๋ค.
- ์ด๋ ์คํ ์์ ์์์ ๋์ ์กฐ๊ฑด์ ๋ฐ์ํ์ง๋ง, ๋ฌธ์ ๋ฐ ๊ฐ์ฒด ์์ฒด์ ๊ถํ์ ๋ฐ์ํ์ง ๋ชปํฉ๋๋ค.
- ACL (Access Control List)
- ๋ฌธ์๋ ๋ฆฌ์์ค ๋จ์๋ก ์ฌ์ ์ ์ ์๋ ์ ์ ๊ถํ์ ๊ธฐ์ค์ผ๋ก ํ๊ฐํฉ๋๋ค.
- ํ์ง๋ง CBAC์ด๋ PBAC์ ๋์ ํน์ฑ์ ๋ดํฌํ์ง ๋ชปํ๊ณ , ์คํ ํ๋ฆ ๋ด์์๋ ์ฝ๊ฒ ์ฐํ๋ ์ ์์ต๋๋ค.
์ด ์ธ ๊ฐ์ง ๋ชจ๋ธ์ ์ํธ๋ณด์์ ์ด๋ฉฐ, ํนํ RAG์ ๊ฐ์ ๋น์ ํ ํ๋ฆ ๊ธฐ๋ฐ ์์คํ ์์๋ ๊ฐ๊ฐ์ ์ ์ฑ ์ด ๋ณ๋๋ก ๋์ํ ๊ฒฝ์ฐ ์ ์ฑ ์ถฉ๋, ํต์ ๊ณต๋ฐฑ, ๊ฐ์ฌ ์ถ์ ๋ถ๊ฐ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค[35].
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์ฑ ํตํฉ ์ ๋ต์ด ํ์ํฉ๋๋ค:
- PBAC: ์์ฒญ ์ด์ , ์์ฒญ์ ๋ถ์, ์ ๋ฌด ๋ชฉ์ ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์ ์ฝ์ ํ์ฉ ์ฌ๋ถ๋ฅผ ํ๋จํฉ๋๋ค.
- CBAC: ์ธ์ ์๊ฐ, ๋๋ฐ์ด์ค ์ ๋ณด, ๋ฆฌ์คํฌ ๋ ๋ฒจ ๋ฑ์ ๊ธฐ์ค์ผ๋ก ์ ์ฑ ์คํ ์ฌ๋ถ๋ฅผ ๋์ ์ผ๋ก ํ๊ฐํฉ๋๋ค.
- ACL: ๋ฌธ์ ์์ฒด์ ๊ถํ, ์์ฑ์, ๋ฏผ๊ฐ๋, ์์ฑ์ผ ๋ฑ์ ๊ธฐ์ค์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ํ๊ฐํฉ๋๋ค.
์ด ์ธ ๊ฐ์ง๋ ์ ์ฑ ๋ชจ๋ธ์ ์ ํ์ด ๋ค๋ฅธ ๊ฒ์ด ์๋๋ผ, ์คํ ์์ ์ ์๋ก ๋ค๋ฅธ ํ๊ฐ ๊ธฐ์ค์ ํตํฉ์ ์ผ๋ก ๋ฐ์ํด์ผ ํ๋ ๊ฒ์ ๋๋ค.
QueryPie์ ์คํ ๊ธฐ๋ฐ ์ ์ฑ ํตํฉ ๊ตฌ์กฐ
QueryPie MCP Agent PAM์ ์ด๋ฌํ ํตํฉ ๋ชจ๋ธ์ ์คํ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ๊ทธ ํต์ฌ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ์ฑ
๋ชจ๋ธ ํตํฉ:
ai-policy.yaml๋๋ JSON ํํ์ ์ ์ฑ ๊ตฌ์ฑ ๋ด์์ PBAC, CBAC, ACL ์กฐ๊ฑด์ ํจ๊ป ์ ์ธํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์ ์ฑ ํํ์ด ๊ฐ๋ฅํฉ๋๋ค:
allow_if:
purpose: "hr.audit"
session.role: "manager"
doc.confidentiality: "low"
session.risk_score: < 3
- ๊ฐ์ฒด ๊ธฐ๋ฐ ํ๊ฐ ๊ตฌ์กฐ (OPA ๊ธฐ๋ฐ): QueryPie๋ Open Policy Agent(OPA) ๊ธฐ๋ฐ ์ ์ฑ ์์ง์ ํ์ฉํ์ฌ, ์ฌ์ฉ์์ ์์ฒญ, ๋ฌธ์ ์์ฑ, ์ธ์ ์ ๋ณด ๋ฑ ๋ชจ๋ ์์๋ฅผ ๊ฐ์ฒด(object) ๋จ์๋ก ํ๊ฐํฉ๋๋ค. ์ด๋ก ์ธํด ์ ์ฑ ํํ์ด ๊ตฌ์กฐํ๋๊ณ , ๋ค์ฐจ์ ์กฐ๊ฑด์ ์กฐํฉ ๋ฐ ์ค์ฒฉ ํ๊ฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ReBAC, RiskBAC ํ์ฅ ๊ฐ๋ฅ์ฑ: ๋จ์ํ ์ฌ์ฉ์-๋ฌธ์ ๋งคํ์ ๋์ด์, ์กฐ์ง ๋ด ๊ด๊ณ ๊ธฐ๋ฐ ์ ์ฑ (์: ๋ณด๊ณ ์ฒด๊ณ, ์์ ํ)์ด๋ ์ธ์ ๊ธฐ๋ฐ ๋ฆฌ์คํฌ ํ๊ฐ(์: ๋ก๊ทธ์ธ ์์น, ๊ณต๊ฒฉ ์งํ)๋ฅผ ๋ฐ์ํ๋ ReBAC(๊ด๊ณ ๊ธฐ๋ฐ), RiskBAC(์ํ ๊ธฐ๋ฐ) ํ๊ฐ ๋ฐฉ์๋ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค[36].
- ๋ฉํฐ ํ๋ ์์ํฌ์์ ํตํฉ: QueryPie๋ ์์ฒด RAG ์๋ฃจ์ ์ด ์๋ ์ธ๋ถ ํต์ ๊ณ์ธต์ผ๋ก ์๋ํ๋ฏ๋ก, LangChain, LlamaIndex, AutoGen, Weaviate, Pinecone ๋ฑ ๋ค์ํ RAG ํ๋ ์์ํฌ ์๋จ์์ ๋ฉํ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ์ฑ ํ๊ฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ ACL+PBAC+CBAC+ReBAC+RiskBAC๊ฐ ํ๋์ ์ ์ฑ ํ๋ฆ ๋ด์์ ์กฐํ๋กญ๊ฒ ๋์ํ๋ ์คํ ๋ณด์ ํตํฉ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์๊ฒ ํฉ๋๋ค.
์ด์ฒ๋ผ QueryPie๋ ์ ์ฑ ๋ชจ๋ธ ๊ฐ์ ๊ฐ๋ ์ ํตํฉ์ ๋์ด์, ์ค์ ์คํ ํ๋ฆ ๋ด๋ถ์์ ์ด๋ฅผ ๊ฐ์ฒด ๋จ์๋ก ํ๊ฐํ๊ณ ์ ์ฑ ํ๋ฆ ๋ด ์ฝ์ , ์ฐจ๋จ, ์น์ธ ์ฝ์ , ๊ฐ์ฌ ๊ธฐ๋ก๊น์ง ์๋ํํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ๋จ์ํ ์ ์ฑ ์ ์ธ์ ๋์ด, ์คํ ์์ ์์ ๋ณด์ ํต์ ๋ฅผ ์คํํ ์ ์๋ ์ค์ง์ ๊ตฌํ ๋ฐฉ์์ผ๋ก ํ๊ฐ๋ฉ๋๋ค[37].
6.4 ์คํ ๊ธฐ๋ฐ ๋ณด์์ ์ํ ์ํคํ ์ฒ ์ค๊ณ ์ ์ธ
RAG 2.0 ์๋์ ๋ณด์์ ์ํ ๊ธฐ์ ์ ๋์์ ๋จ์ํ ์ ์ฑ ์ ์ธ์ด๋ ๊ถํ ์ค์ ์ ๋จธ๋ฌด๋ฅผ ์ ์์ต๋๋ค. ์ ์ฑ ์ ๋ฐ๋์ ์คํ ์์ ์ ํ๋ฆ์ ๊ฒฐํฉ๋์ด์ผ ํ๋ฉฐ, ์ ์ฒด ์์คํ ๊ตฌ์ฑ์์โํ๋กฌํํธ, ์์ด์ ํธ, LLM ํธ์ถโ๋ฅผ ์ ์ฑ ๊ตฌ์กฐ ์์ ํฌํจํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ๋ค ๊ฐ์ง ๋ณด์ ์ํคํ ์ฒ ์ค๊ณ ์์น์ ์ ์ํฉ๋๋ค:
- ํ๋กฌํํธ ์ฝ์
์ด์ ์ ์ ์ฑ
๋ถ๊ธฐ ๊ตฌ์กฐ ์ค๊ณ
- ๋ฒกํฐ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ํ๋กฌํํธ์ ์ฝ์ ํ๊ธฐ ์ , ์ธ์ ์ปจํ ์คํธ์ ๋ฌธ์ ์์ฑ ๊ธฐ์ค์ผ๋ก ์ ์ฑ ์ ํ๊ฐํ๊ณ , ์ฝ์ ํ์ฉ ์ฌ๋ถ๋ฅผ ์ ์ฑ ์ ์ผ๋ก ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
- ์: ๋ฌธ์์
confidentiality๊ฐhigh์ด๊ณ ์์ฒญ์์risk_score๊ฐ 4 ์ด์์ด๋ฉด ์ฝ์ ์ฐจ๋จ
- ์ ์ธ์ ์ ์ฑ
์ ์คํ ๊ธฐ๋ฐ ์ ์ฑ
์ผ๋ก ์ ํ
- JSON/YAML๋ก ์์ฑ๋ ์ ์ฑ ์ด ๋จ์ํ ์ ์ธ์ ๋จธ๋ฌด๋ฅด์ง ์๊ณ , ์ค์ ์คํ ์์ ์ ํ๊ฐ๋ ์ ์๋๋ก ์์คํ ๊ตฌ์กฐ ๋ด์์ ์ ์ฑ ์์ง๊ณผ ์คํ ํ๋ฆ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
- OPA(Open Policy Agent), Cedar, Rego ๋ฑ์ ์ ์ฑ ํ๋ ์์ํฌ๋ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค[38].
- PDP / PIP / PEP ๊ตฌ์กฐ์ ๋ถ๋ฆฌ์ ๊ณ์ธต ๊ตฌ์ฑ
- ์ ์ฑ ์ ์ค์๊ฐ์ผ๋ก ํ๊ฐ(PDP), ์ ๋ณด ์์ง(PIP), ์งํ(PEP)ํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ธฐ ๋ ๋ฆฝ์ ์ธ ๊ณ์ธต์ผ๋ก ๋๋๊ณ , ์คํ ํ๋ฆ์ ์๋จ ๋๋ ์ค๊ฐ์์ ์ค์ฌ ๊ณ์ธต์ผ๋ก ์๋์์ผ์ผ ํฉ๋๋ค.
- QueryPie๋ ํ๋ก์ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ก ์ด๋ฅผ ๋ถ๋ฆฌ ๊ตฌํํ๋ฉฐ, Meta๋ ์ค์ผ์คํธ๋ ์ด์ ๋ด๋ถ์์ PDP/PEP๋ฅผ ๋ฌถ์ด ์ด์ํฉ๋๋ค.
- ์ ์ฑ
ํ๋ฆ์ ์๊ฐํ ๋ฐ ์คํ ๋ก๊ทธ ์ ํํ
- ์ ์ฑ ์ด ์ด๋ค ์์ฒญ์ ์ด๋ป๊ฒ ๋ฐ์๋์๋์ง๋ฅผ ์ฌ์ฉ์/๋ณด์ ๊ด๋ฆฌ์ ๋ชจ๋๊ฐ ์ดํด ๊ฐ๋ฅํ๋๋ก ์๊ฐํ ๊ฐ๋ฅํด์ผ ํ๋ฉฐ, ์์ฒญ, ํ๊ฐ ์กฐ๊ฑด, ๊ฒฐ๊ณผ, ์ฝ์ ์ฌ๋ถ๋ฅผ ๋ก๊ทธ๋ก ์ ํํํด ๋ณด๊ดํด์ผ ํฉ๋๋ค.
- ์ด๋ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ(Auditability), ์ค๋ช ๊ฐ๋ฅ์ฑ(Explainability), ์ปดํ๋ผ์ด์ธ์ค ๋์์ฑ(Compliance Readiness)์ ๋์์ ๋ง์กฑ์ํต๋๋ค[39].
์ด๋ฌํ ์ ๋ต์ ๋จ์ง ์ ์ฑ ์ ํํํ๊ณ ์ ์ฉํ๋ ์ฐจ์์ ๋์ด์, ์คํ ๋ณด์ ์ ์ฑ ์ ์ค์ฌ์ผ๋ก ์์คํ ์ ์ค๊ณํ๋ ๊ตฌ์กฐ์ ์ ํ์ ์๋ฏธํฉ๋๋ค. ๊ฒฐ๊ตญ ๋ณด์์ ๋ฆฌ์์ค ๊ธฐ๋ฐ์ด ์๋, ํ๋ฆ ๊ธฐ๋ฐ ํ๋จ ๋ชจ๋ธ๋ก ์งํํด์ผ ํฉ๋๋ค.
6.5 ๋งบ์๋ง
RAG 2.0 ํ๊ฒฝ์์์ ๋ณด์ ์ ๋ต์ ๋จ์ํ ๋ฌธ์๋ฅผ ๋ณดํธํ๊ฑฐ๋ ์จ๊ธฐ๋ ๋ฐฉ์์ผ๋ก๋ ๋ ์ด์ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ์ด์ ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ ๋๋ตํ ์ ์๋ ์์คํ ์ ์๊ตฌ๋ฐ๊ณ ์์ต๋๋ค:
๋๊ฐ, ์ธ์ , ์ด๋ค ๋ชฉ์ ๊ณผ ๋งฅ๋ฝ์ผ๋ก, ์ด๋ค ๋ฌธ์๋ฅผ AI ์๋ต์ ์ฌ์ฉํ ์ ์์๋๊ฐ?
![[๊ทธ๋ฆผ 9] ์ ์ธ์์ ์คํ์ผ๋ก](/whitepapers/23/wp23-9-from-declaration-to-execution.png)
์ด๋ฌํ ์ง๋ฌธ์ ๋ํ ์ ๋ต์ ๊ณ ์ ๋ ๊ถํ ๋ชฉ๋ก์ด ์๋, ์คํ ํ๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ์ฑ ํ๊ฐ ๊ตฌ์กฐ์์ ๋์ต๋๋ค. ๋ณด์์ ์ค์ฌ์ถ์ ์ด์ ์ ์ธ์์ ์คํ์ผ๋ก, ๊ถํ ๊ด๋ฆฌ์์ ์ ์ฑ ํ๋ฆ์ ํตํฉ ํ๊ฐ๋ก ์ด๋ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๋ณํ๋ฅผ ์ ๋ํ๋ ๊ตฌ์กฐ๋ ๋จ์ํ ๊ถํ ์์ง์ด ์๋, ์คํ ํ๋ฆ์ ์ ์ฑ ์ฃผ์ , ํ๊ฐ, ์งํ, ๊ฐ์ํ๊น์ง ์ ๋ฒ์์ ๊ฑธ์ณ ํต์ ๊ฐ๋ฅํ ๊ตฌ์กฐ์ฌ์ผ ํ๋ฉฐ, QueryPie MCP Agent PAM์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ฅ ํ์ค์ ์ผ๋ก ๊ตฌํํ ๋ํ ์ฌ๋ก์ ๋๋ค.
๋ณธ ๋ฐฑ์๋ ์ด๋ฅผ ๋ฐํ์ผ๋ก, ๋จ์ LLM ์๋ต ์ ์ด๋ฅผ ๋์ด MCP + AI Agent + LLM์ ์ ๋ฐฉ์ ํ๋ฆ ํต์ ๊ตฌ์กฐ๊ฐ ๋ณด์์ ๋ณธ์ง์ด ๋์ด์ผ ํ๋ค๋ ์ ๋ต์ ํจ๋ฌ๋ค์ ์ ํ์ ์ ์ํฉ๋๋ค.
๋ถ๋ก. ์คํ ํ๋ฆ ๊ธฐ๋ฐ ์ ์ฑ ์ค๊ณ๋ฅผ ์ํ PBAC ๋ฐ CBAC ๊ณ ๊ธ ๊ฐ๋ ํด์ค
A.1 Purpose-Based Access Control (PBAC)
PBAC๋ ๋ฆฌ์์ค ์ ๊ทผ์ ํ์ฉํ ์ง๋ฅผ ํ๋จํ ๋ '๋๊ฐ(who)'์ '๋ฌด์์(what)' ์ ๊ทผํ๋๊ฐ๋ฟ๋ง ์๋๋ผ, '์(why)' ์ ๊ทผํ๋ ค๋๊ฐ๋ผ๋ ์ง๋ฌธ์ ์ ์ฑ ํ๊ฐ ์์๋ก ํฌํจํ๋ ์ ๊ทผ์ ์ด ๋ชจ๋ธ์ ๋๋ค. ์ด๋ ๋จ์ํ ๊ถํ ๋ถ์ฌ๋ฅผ ๋์ด, ์์ฒญ์ ์๋(intent)์ ์ฌ์ฉ ๋ชฉ์ (purpose)์ ์ค์ฌ์ผ๋ก ์ ์ฑ ์ ์ค๊ณํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค[40].
ํต์ฌ ๊ตฌ์กฐ
| ๊ตฌ์ฑ ์์ | ์ค๋ช |
|---|---|
subject.purpose | ์ฌ์ฉ์๊ฐ ์์ฒญ์ ๋ณด๋ด๋ ์ด์ (์: "hr.audit", "incident.response") |
resource.usage_context | ๋ฆฌ์์ค(๋ฌธ์ ๋๋ ๋ฐ์ดํฐ)์ ์ฌ์ฉ ๊ฐ๋ฅ ๋ชฉ์ ์ค์ (์: "training only") |
session.intent_type | ์ธ์ ์ด ์ ๋๋ ์คํ ํ๋ฆ์ ์ ํ (์: manual request vs. agent-chained execution) |
PBAC ์ ์ฑ ์ ์ด๋ฌํ ์์์ ์ผ์น ์ฌ๋ถ ๋๋ ํ์ฉ ๊ฐ๋ฅํ ๋ฒ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๊ทผ ํ์ฉ ์ฌ๋ถ๋ฅผ ํ๋จํฉ๋๋ค.
๊ตฌํ์์ ํน์ง
- PBAC๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฑ ํํ ์ธ์ด์์ ๋ชฉ์ ๊ฐ์ ์๋ณ ๊ฐ๋ฅํ ๋ฌธ์์ด ๋๋ ํ๊ทธ ํ์์ผ๋ก ๋ช ์ํฉ๋๋ค.
- ์ ์ฑ ์งํ์ ํ๋กฌํํธ ๊ตฌ์ฑ ์ด์ ๋๋ API ํธ์ถ ์ง์ ๋จ๊ณ์์ ๋ชฉ์ ํ๋์ ๋ํ ํ๊ฐ(PDP) ๋ก ์ํ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด OPA(Rego)์์๋ ๋ค์๊ณผ ๊ฐ์ ํํ์ด ์ฌ์ฉ๋ ์ ์์ต๋๋ค:
allow {
input.subject.purpose == "hr.audit"
input.resource.purpose == "hr.audit"
}
ํ๊ณ ๋ฐ ํ์ฅ
- PBAC ๋จ๋ ์ผ๋ก๋ ์ธ์ ์ ์ํ๋๋ ๋ฌธ๋งฅ ์ํ๋ฅผ ๋ฐ์ํ์ง ๋ชปํ๋ฉฐ, ๋ชฉ์ ์ด ํ์๋ก ํ๊ธฐ๋์์ ๊ฒฝ์ฐ ์ด๋ฅผ ํ์งํ๊ฑฐ๋ ๊ต์ฐจ ๊ฒ์ฆํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด CBAC ๋๋ RiskBAC๊ณผ ๊ฒฐํฉ๋์ด์ผ ์คํ ํ๋ฆ ๋ด ๋ณด์ ํ๋จ์ด ๊ฐํ๋ฉ๋๋ค[41].
A.2 Context-Based Access Control (CBAC)
CBAC๋ ์ ์ฑ ํ๊ฐ ์ ์์ฒญ์ด ๋ฐ์ํ ์คํ ๋งฅ๋ฝ(context) ์ ๋์ ์ผ๋ก ํ๊ฐํ์ฌ ์ ๊ทผ ์ฌ๋ถ๋ฅผ ํ๋จํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ์ ์ ์ ์ฑ ์ด ์๋, ์ธ์ ๋จ์ ํ๊ฐ์ ์๊ฐ ์กฐ๊ฑด, ์์น, ๋๋ฐ์ด์ค, ์ธ์ ๋ฆฌ์คํฌ ์ ์ ๋ฑ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ ์ ์๋ค๋ ์ ์์, ์คํ ํ๋ฆ ๋ณด์์ ํต์ฌ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค[42].
์ฃผ์ ์ปจํ์คํธ ์์
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
session.time | ์์ฒญ ์๊ฐ ๋ฐ ์๊ฐ๋ (์: ๊ทผ๋ฌด ์๊ฐ, ์ผ๊ฐ ์์ฒญ ์ฌ๋ถ) |
session.risk_score | ๋์ ์ํ๋ ์ ์ (์: MFA ์คํจ, ๋น์ ์ ์์น ๋ฑ์ผ๋ก ์ฐ์ถ๋จ) |
device.type, ip.geo_location | ์์ฒญํ ๋๋ฐ์ด์ค์ ์ ์ ์ง์ ์ ๋ฌผ๋ฆฌ์ ์กฐ๊ฑด |
user.role | ์ญํ ์ ๋ฐ๋ฅธ ํ๋ ๋ฒ์ (์: ๋ฐ์ดํฐ ์กฐํ๋ง ๊ฐ๋ฅ, ํธ์ง ๊ธ์ง ๋ฑ) |
์ ์ฑ ํ๊ฐ ๋ฐฉ์
CBAC๋ PEP๊ฐ ์คํ ์ง์ ์์ ์ธ์ ์ปจํ ์คํธ๋ฅผ ์ ๋ฌํ๊ณ , PDP๊ฐ ์ด๋ฅผ ์ข ํฉ ํ๊ฐํ์ฌ ์ ์ฑ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ๊ตฌ์กฐ๋ก ๋์ํฉ๋๋ค. ํ๊ฐ ๋ก์ง์ OPA, Cedar, Rego ๊ธฐ๋ฐ ์์ง์์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ ์ ์์ต๋๋ค:
allow {
input.session.risk_score < 3
input.session.time >= "09:00:00"
input.device.type == "trusted"
}
๊ตฌ์กฐ์ ํ์ฅ์ฑ๊ณผ ํ๋ฆ ํ๊ฐ
CBAC๋ ์คํ ํ๋ฆ ๋ณด์ ์ธก๋ฉด์์ ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ ๊ฐ์ง๋๋ค:
- ํ๋กฌํํธ ์ฝ์ ์ฌ๋ถ๋ฅผ ์ฌ์ฉ์์ ํ์ฌ ์ธ์ ์ํ์ ๋ฌธ์์ ๋ณด์ ์์ฑ์ ์กฐํฉํด ๋์ ์ผ๋ก ํ๋จ
- LLM์ด ์๋ RAG ์ด์ ์ ๊ฒ์/์ฝ์ ๊ณ์ธต์์ ์ฐจ๋จ์ด ๊ฐ๋ฅํ๋ฏ๋ก, ์ฌํ ํํฐ๋ง์ด ์๋ ์ฌ์ ํต์ ๊ตฌ์กฐ๋ก ์๋
- ๋ค์ํ ์กฐ๊ฑด์ด ๊ฒฐํฉ๋๊ธฐ ๋๋ฌธ์ PBAC, ACL, RiskBAC๊ณผ ํจ๊ป ๋ณตํฉ ์กฐ๊ฑด ํ๊ฐ ์ ์ฑ ์ผ๋ก ํตํฉ ๊ฐ๋ฅ
A.3 ํตํฉ ์ค๊ณ ์ ๊ณ ๋ ค ์ฌํญ
PBAC๊ณผ CBAC์ ์ํธ ๋ณด์์ ์ธ ์ญํ ์ ํ๋ฉฐ, RAG ๋ฐ AI Agent ํ๋ฆ์ด ํจ๊ป ์๋ํ๋ ํ๊ฒฝ์์๋ ๋ค์๊ณผ ๊ฐ์ด ํตํฉ์ ์ผ๋ก ์ค๊ณ๋์ด์ผ ํฉ๋๋ค:
| ํตํฉ ํญ๋ชฉ | ์ค๊ณ ์ ๋ต |
|---|---|
| ๋ชฉ์ + ๋ฌธ๋งฅ ํตํฉ | input.purpose == "incident.response" AND input.session.risk_score < 3 |
| ๋ฆฌ์์ค ๋ฉํ๋ฐ์ดํฐ + ์คํ ์ปจํ ์คํธ | doc.confidentiality == "low" AND device.type == "trusted" |
| ์คํ ํ๋ฆ ์กฐ๊ฑด ๋งคํ | ์ฌ์ฉ์ ๋ชฉ์ ์ด ๋ฌธ์์ ์ฌ์ฉ ๋ชฉ์ ๊ณผ ์ถฉ๋ ์ ์ฝ์
๊ฑฐ๋ถ (purpose mismatch) |
QueryPie MCP Agent PAM์ ์ด๋ฌํ ์กฐ๊ฑด์ ๋ชจ๋ ๊ฐ์ฒด ๊ธฐ๋ฐ ํ๊ฐ ๊ตฌ์กฐ(object-based policy evaluation) ๋ก ํตํฉํ์ฌ ์คํ ์์ ์์ ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ํ๋ก์ ๊ณ์ธต์์ ์ด๋ฅผ ๋ผ์ฐํ , ์งํ, ๋ก๊น ๊น์ง ํฌํจํ์ฌ ์ฒ๋ฆฌํฉ๋๋ค.
A.4 ๊ฒฐ๋ก
PBAC๊ณผ CBAC์ ๋จ์ํ ๊ฐ๋ ์ ์๋ฅผ ๋์ด, ์ค์ AI ๋ณด์ ํ๋ฆ ๋ด์์ ์ ์ฑ ์ด ์๋ํ๋ ๊ธฐ์ค์ ์ค๊ณํ๋ ํต์ฌ ๋๊ตฌ์ ๋๋ค. ์ ์ธํ ์ ์ฑ ์์ ์คํ ๊ธฐ๋ฐ ์ ์ฑ ์ผ๋ก ์ ํํ๊ธฐ ์ํด์๋, ์ด ๋ ๋ชจ๋ธ์ ๋ค์ค ์กฐ๊ฑด ๊ธฐ๋ฐ ๊ฐ์ฒด ํ๊ฐ ์ ์ฑ ์ผ๋ก ํตํฉํ๊ณ , ์ ์ฑ ํ๋ฆ ์ ์ฒด๋ฅผ ์ถ์ ํ ์ ์๋ ์์ง ๊ธฐ๋ฐ ์คํ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถํด์ผ ํฉ๋๋ค.
QueryPie๋ OPA ๊ธฐ๋ฐ ์ ์ฑ ๋ชจ๋ธ, ํ๋ก์ ๋ผ์ฐํ , ์คํ ๋ถ๊ธฐ ๋ฐ ๊ฑฐ๋ถ ์ฒ๋ฆฌ, ์น์ธ ์์ฒญ ์ฝ์ , ์คํ ๋ก๊ทธ ์ ํํ ๋ฑ ์ด ๋ชจ๋ ์๊ตฌ๋ฅผ ์์ฉ ๊ฐ๋ฅํ ํํ๋ก ์ค๊ณ๋์ด ์์ผ๋ฉฐ, RAG 2.0 ๋ณด์ ์ฒด๊ณ๋ฅผ ์คํํ๊ธฐ ์ํ ๊ตฌ์กฐ์ ๊ธฐ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค[43].
๐ AI Hub๋ก ์์ ํ MCP์ AI Agent ์ด์, ์ง๊ธ ์ง์ ์ฒดํํด๋ณด์ธ์.
์ฐธ๊ณ ๋ฌธํ
[2] Polymer, โIntroducing Polymerโs SecureRAG,โ Polymer Blog, 2025.
[3] Weaviate, โMulti-Tenancy Vector Search with millions of tenants,โ Weaviate Blog, 2023.
[5] R. Theja, โBuilding Multi-Tenancy RAG System with LlamaIndex,โ Medium, 2024.
[6] QueryPie, โRedefining PAM for the MCP Era,โ White Paper, 2025.
[7] QueryPie, โMCP PAM as the Next Step Beyond Guardrails,โ White Paper, 2025.
[9] QueryPie, โUncovering MCP Security,โ White Paper, 2025.
[12] Polymer, โGenerative AI Security: Preparing for 2025,โ Polymer Blog, 2023.
[13] Microsoft, โMultitenant RAG Security Model,โ Azure Architecture Center, 2024.
[14] LangChain, โAgent and Workflow Cloning Scenarios,โ GitHub Docs, 2024.
[15] Weaviate, โDocument Expiry and Vector TTL Policies,โ Weaviate Docs, 2023.
[18] AWS, โImplementing a PDP,โ AWS Prescriptive Guidance, 2023.
[19] Microsoft, โBuild Microsoft Graph Connectors for 365 Copilot,โ Microsoft Learn, 2023.
[20] Amazon Web Services, โMetadata-based document filtering in OpenSearch,โ AWS Docs, 2024.
[21] Kong Inc., โHow to Manage Your API Policies with OPA (Open Policy Agent),โ Kong Blog, 2024.
[22] Open Policy Agent, โOPA Philosophy โ Offload Policy Decisions,โ OPA Docs, 2023.
[23] NIST, โZero Trust Architecture,โ Special Publication 800-207, 2020.
[24] Microsoft, โTutorial: Build a RAG app with the Copilot SDK,โ Microsoft Learn, 2024.
[26] PwC, โUnlocking value with AI agents: A responsible approach,โ PwC Tech Effect, 2023.
[27] Open Policy Agent, โOPA: Policy Engine for Cloud Native Environments,โ CNCF, 2021.
[30] Microsoft, โAzure OpenAI content filtering,โ Microsoft Learn, 2025.
[31] OWASP, โLLM01: Prompt Injection,โ OWASP Top 10 for LLM Applications, 2024.
[32] Open Policy Agent, โOPA Use Cases โ Approval Workflow,โ OPA Docs, 2023.
[34] Aserto, โOPA vs. Zanzibar: Relationship-Based Access Control,โ Aserto Blog, 2022.
[35] NIST, โGuide to Attribute Based Access Control (ABAC),โ NIST SP 800-162, Jan. 2014.
[37] NIST, โAI Risk Management Framework 1.0,โ NIST, Jan. 2023.
