QueryPie Community Edition is live ๐ŸŽ‰ Get it now for free Download today!

๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ
๋ฐฑ์„œ

RAG 2.0 ๋ณด์•ˆ โ€“ MicrosoftยทMeta์˜ ์ „๋žต, QueryPie๊ฐ€ ์—ฐ๊ฒฐํ•œ๋‹ค

์ด ๊ธ€์—์„œ๋Š” RAG 2.0์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ๊ณผ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์†Œ๊ฐœํ•˜๊ณ , ๋‹ค์–‘ํ•œ ๊ธฐ์—… ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด ์‹คํ–‰ ํ๋ฆ„ ์ œ์–ด์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. RAG 2.0์€ ๋‹จ์ˆœํ•œ ๋ฌธ์„œ ๊ฒ€์ƒ‰์„ ๋„˜์–ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ •์ฑ…์„ ์ ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ์ž˜๋ชป๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ๋˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค๋Š” ์ ์—์„œ ๊ธฐ์กด RAG์™€ ์ฐจ๋ณ„ํ™”๋ฉ๋‹ˆ๋‹ค.

Kenny Park

Kenny Park

CISO

์ผ€๋‹ˆ๋Š” QueryPie์˜ CISO์ด์ž ๊ธ€๋กœ๋ฒŒ ๋””๋ ‰ํ„ฐ๋กœ ์ •๋ณด ๋ณด์•ˆ, ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ๋ฐ ๊ธ€๋กœ๋ฒŒ ์šด์˜์— ๋Œ€ํ•œ 20๋…„ ์ด์ƒ์˜ ๊ฒฝํ—˜์„ ๋ณด์œ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” QueryPie์˜ ๊ธ€๋กœ๋ฒŒ ์ „๋žต์„ ์ด๋„๋Š” ๋™์‹œ์— ์ œํ’ˆ์— ์ตœ์ƒ์˜ ๋ณด์•ˆ๊ณผ ์ปดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ๋ณด์žฅํ•˜๋Š” ์—ญํ• ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ผ€๋‹ˆ๋Š” ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์ถ•, ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๊ด€๋ฆฌ, ํ˜์‹  ์ด‰์ง„ ๋“ฑ์—์„œ ์ค‘์š”ํ•œ ์„ฑ๊ณผ๋ฅผ ๊ฑฐ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

2025๋…„ 5์›” 28์ผ

RAG 2.0 ๋ณด์•ˆ โ€“ MicrosoftยทMeta์˜ ์ „๋žต, QueryPie๊ฐ€ ์—ฐ๊ฒฐํ•œ๋‹ค

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 ์‚ฌ๋ก€
[๊ทธ๋ฆผ 1] ์‹คํ—˜ ๊ธฐ๋ฐ˜ ์‹œ๋‚˜๋ฆฌ์˜ค: Kenny ์‚ฌ๋ก€
  1. ์ƒํ™ฉ ๊ตฌ์„ฑ

    • Kenny: ๋ณด์•ˆํŒ€ ์†Œ์†์œผ๋กœ, ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก๊ณผ ์—ฐ๋ด‰ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์„œ๋ฅผ ์‚ฌ๋‚ด Confluence์— ์—…๋กœ๋“œ
    • Brant: ๊ฐœ๋ฐœํŒ€ ์†Œ์†์œผ๋กœ, "์ตœ๊ทผ ์ž…์‚ฌ์ž์˜ ์—ฐ๋ด‰ ๋ฒ”์œ„๋Š”?"์ด๋ผ๋Š” ์งˆ๋ฌธ์„ ์‚ฌ๋‚ด RAG ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ์— ์ „์†ก
    • ์‹œ์Šคํ…œ ๊ตฌ์กฐ: ์ธ์ฆ์€ ๋˜์–ด ์žˆ์œผ๋‚˜, ๊ฒ€์ƒ‰ ์‹œ user_id ๊ธฐ๋ฐ˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„ํ„ฐ ๋ฏธ์ ์šฉ
  2. ์œ„ํ˜‘ ๊ฒฝ๋กœ

    • a. Brant์˜ ์งˆ๋ฌธ์ด ๋ฒกํ„ฐ ๊ฒ€์ƒ‰์„ ์œ ๋„ํ•จ
    • b. Kenny ์ž‘์„ฑ ๋ฌธ์„œ๊ฐ€ ์œ ์‚ฌ๋„ ๊ธฐ์ค€์œผ๋กœ ์„ ํƒ๋˜์–ด ํ”„๋กฌํ”„ํŠธ์— ์‚ฝ์ž…๋จ
    • c. ํ•ด๋‹น ๋ฌธ์„œ์˜ ์—ฐ๋ด‰ ์ •๋ณด ์š”์•ฝ์ด ํฌํ•จ๋œ ์‘๋‹ต์ด LLM์„ ํ†ตํ•ด ์ƒ์„ฑ๋˜์–ด Brant์—๊ฒŒ ๋ฐ˜ํ™˜๋จ
    • d. Brant๋Š” ์ž์‹ ์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ดˆ๊ณผํ•˜๋Š” ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์ „๋‹ฌ๋ฐ›์Œ
  3. ์›์ธ ๋ถ„์„

    • ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(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์˜ ์งˆ์˜๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ณผ์ •

  1. ์‚ฌ์šฉ์ž ์ž…๋ ฅ โ†’ "์ตœ๊ทผ ์ž…์‚ฌ์ž์˜ ์—ฐ๋ด‰ ๋ฒ”์œ„๋Š”?"
  2. ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ โ†’ ์ฟผ๋ฆฌ ๋ฒกํ„ฐ๊ฐ€ ์ƒ์„ฑ๋จ
  3. ๋ฒกํ„ฐ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰
  4. ํ•„ํ„ฐ๋ง ๋ฏธ์ ์šฉ โ†’ Kenny์˜ ๋ฌธ์„œ๊ฐ€ ๊ฒฐ๊ณผ์— ํฌํ•จ๋จ
  5. Top-K ์œ ์‚ฌ ๋ฌธ์„œ ์„ ํƒ โ†’ ํ”„๋กฌํ”„ํŠธ๋กœ ์‚ฝ์ž…
  6. 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 ๋ณด์•ˆ ํ”Œ๋กœ์šฐ
[๊ทธ๋ฆผ 2] Microsoft RAG ๋ณด์•ˆ ํ”Œ๋กœ์šฐ

ํ•ต์‹ฌ ์ œ์–ด ๊ธฐ๋Šฅ ํ…Œ์ด๋ธ”

์ œ์–ด ํ•ญ๋ชฉ ๊ตฌํ˜„ ๋ฐฉ์‹ ์„ค๋ช…
์‚ฌ์šฉ์ž ์ธ์ฆ 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
[๊ทธ๋ฆผ 3] AWS ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ RAG ์•„ํ‚คํ…์ฒ˜ with S3

ํ•ต์‹ฌ ์ œ์–ด ๊ธฐ๋Šฅ ํ…Œ์ด๋ธ”

์ œ์–ด ํ•ญ๋ชฉ ๊ตฌํ˜„ ๋ฐฉ์‹ ์„ค๋ช…
์ธ์ฆ ์ •๋ณด ์ „๋‹ฌ 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์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง
[๊ทธ๋ฆผ 4] LlamaIndex์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง

ํ•ต์‹ฌ ์ œ์–ด ๊ธฐ๋Šฅ ํ…Œ์ด๋ธ”

์ œ์–ด ํ•ญ๋ชฉ ๊ตฌํ˜„ ๋ฐฉ์‹ ์„ค๋ช…
๋ฌธ์„œ ์ธ๋ฑ์‹ฑ ๋ฌธ์„œ 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์˜ ๋ฒกํ„ฐ ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐํ…Œ๋„Œ์‹œ
[๊ทธ๋ฆผ 5] Pinecone & Weaviate์˜ ๋ฒกํ„ฐ ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐํ…Œ๋„Œ์‹œ

ํ•ต์‹ฌ ์ œ์–ด ๊ธฐ๋Šฅ ํ…Œ์ด๋ธ”

์ œ์–ด ํ•ญ๋ชฉ ๊ตฌํ˜„ ๋ฐฉ์‹ ์„ค๋ช…
์ €์žฅ์†Œ ๋ถ„๋ฆฌ ๊ตฌ์กฐ Pinecone์€ namespaces๋ฅผ, Weaviate๋Š” shards ๋‹จ์œ„๋กœ ํ…Œ๋„ŒํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
์™ธ๋ถ€ ์ ‘๊ทผ ๊ฒฉ๋ฆฌ ๊ฐ ์š”์ฒญ์€ ํ• ๋‹น๋œ namespace ๋˜๋Š” shard ์™ธ์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์‹คํ–‰ ์‹œ์  ์ œ์–ด ๋ถˆํ•„์š” ๊ฒฉ๋ฆฌ๋Š” ์ •์ฑ… ์—”์ง„ ์—†์ด ๊ฒ€์ƒ‰ ๊ณ„์ธต์—์„œ ๊ฐ•์ œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
์šด์˜ ํ™•์žฅ์„ฑ ์ˆ˜์ฒœ ๊ฐœ ํ…Œ๋„ŒํŠธ๊ฐ€ ์กด์žฌํ•˜๋”๋ผ๋„ ๋…ผ๋ฆฌ ๊ฒฉ๋ฆฌ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ ์œ ์ง€ ๊ฐ€๋Šฅ
์ธํ”„๋ผ ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ์ธ๋ฑ์Šค ๋˜๋Š” ์ƒค๋“œ ๋‹จ์œ„ ์„ค์ •๋งŒ์œผ๋กœ ๋‹ค๊ณ„์ธต ๋ณด์•ˆ ์—†์ด๋„ ๊ฒฉ๋ฆฌ ๋‹ฌ์„ฑ ๊ฐ€๋Šฅ

2.6 Meta: ํ”„๋กฌํ”„ํŠธ ์‚ฝ์ž… ์ „ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง

Meta๋Š” ์ž์ฒด LLM ์‹คํ—˜ ๋ฐ ์˜คํ”ˆ ๋ฆฌ์„œ์น˜๋ฅผ ํ†ตํ•ด, ํ”„๋กฌํ”„ํŠธ ์‚ฝ์ž… ๋‹จ๊ณ„์—์„œ์˜ ์‹คํ–‰ ์‹œ์  ์ •์ฑ… ์ ์šฉ์„ ๊ฐ•ํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํ•œ ๋ฒกํ„ฐ ์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์„ ๋„˜์–ด์„œ, ์‚ฌ์šฉ์ž ์„ธ์…˜ ์ •๋ณด์™€ ๋ฌธ์„œ์˜ ์ปจํ…์ŠคํŠธ ์†์„ฑ์„ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜๋Š” PBAC (Purpose-Based Access Control) ๊ตฌ์กฐ๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

Meta๋Š” ์ •ํ™•ํ•œ ๋‚ด๋ถ€ ๊ตฌํ˜„์„ ๊ณต๊ฐœํ•˜์ง€ ์•Š์•˜์œผ๋‚˜, ์—ฌ๋Ÿฌ ๋ฐœํ‘œ์™€ ๋ฆฌ์„œ์น˜ ํ™œ๋™์„ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๊ฐ€ ์ถ”๋ก  ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฌธ์„œ ์ €์žฅ ์‹œ access_scope, confidentiality, created_at ๋“ฑ์˜ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋จ
  2. LLM ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ „์—, ์„ธ์…˜ ์ •๋ณด(user, role, query context) ์™€ ๋น„๊ตํ•˜์—ฌ ์‚ฝ์ž… ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ๋ฅผ ์ •์ฑ…์ ์œผ๋กœ ์„ ๋ณ„ํ•จ
  3. LLM ์‘๋‹ต์—๋Š” ์ฐธ์กฐ๋œ ๋ฌธ์„œ์˜ ID ๋˜๋Š” ์š”์•ฝ ํ•ด์‹œ๊ฐ€ ํ•จ๊ป˜ ๊ธฐ๋ก๋˜์–ด, ์‚ฌํ›„ ๊ฐ์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•จ

์ด ๊ตฌ์กฐ๋Š” Microsoft๋‚˜ QueryPie์˜ RAG ๋ณด์•ˆ ์ „๋žต๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ, ํ”„๋กฌํ”„ํŠธ ์‚ฝ์ž… ์ง์ „์˜ ์‹คํ–‰ ์‹œ์  ๋ณด์•ˆ ํ‰๊ฐ€(runtime enforcement) ๋ฅผ ํ†ตํ•ด ๋ฏผ๊ฐ ์ •๋ณด ๋…ธ์ถœ์„ ์‚ฌ์ „์— ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, LLM์ด ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— ์ •์ฑ…์„ ์ ์šฉํ•จ์œผ๋กœ์จ, ์‚ฌํ›„ ํ•„ํ„ฐ๋ง์ด ์•„๋‹Œ ์‚ฌ์ „ ์ œ์–ด ์ค‘์‹ฌ์˜ ์„ค๊ณ„๊ฐ€ ์‹คํ˜„๋œ ๊ตฌ์กฐ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค [11].

๋‹ค์ด์–ด๊ทธ๋žจ: Meta์˜ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ PBAC ํ๋ฆ„

[๊ทธ๋ฆผ 6] Meta์˜ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ PBAC ํ”Œ๋กœ์šฐ
[๊ทธ๋ฆผ 6] Meta์˜ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ PBAC ํ”Œ๋กœ์šฐ

ํ•ต์‹ฌ ์ œ์–ด ๊ธฐ๋Šฅ ํ…Œ์ด๋ธ”

์ œ์–ด ํ•ญ๋ชฉ ๊ตฌํ˜„ ๋ฐฉ์‹ ์„ค๋ช…
์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ์ •์ฑ… ํ•„๋“œ 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] ์‹คํ–‰ ํ”Œ๋กœ์šฐ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜
[๊ทธ๋ฆผ 7] ์‹คํ–‰ ํ”Œ๋กœ์šฐ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜

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๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹คํ–‰ ํ๋ฆ„์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  1. ์‚ฌ์šฉ์ž๊ฐ€ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๋ฉด, ์„ธ์…˜ ID ๋ฐ ์‚ฌ์šฉ์ž ์—ญํ• (Role), ์„ธ์…˜ ๋ชฉ์ (Purpose) ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋‚ด๋ถ€ ํ‰๊ฐ€ ๋กœ์ง์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  2. ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ๋“ค์—๋Š” access_scope, confidentiality, created_at ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์„ธ์…˜ ์ปจํ…์ŠคํŠธ์™€ ๋น„๊ต ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค.
  3. ์‚ฝ์ž… ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๋ฌธ์„œ ์ค‘, ์ •์ฑ… ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฌธ์„œ๋งŒ ํ”„๋กฌํ”„ํŠธ์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  4. ์ƒ์„ฑ๋œ ์‘๋‹ต์—๋Š” ์ฐธ์กฐ๋œ ๋ฌธ์„œ์˜ ํ•ด์‹œ ๋˜๋Š” ๋ฌธ์„œ 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) ๊ณ„์ธต ๋ถ„๋ฆฌ๋ฅผ ์ „์ œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  1. ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์€ MCP Agent PAM์˜ ํ”„๋ก์‹œ ๊ณ„์ธต(PEP) ์„ ํ†ตํ•ด ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.
  2. ํ”„๋ก์‹œ๋Š” ์š”์ฒญ์˜ ์„ธ์…˜ ์ •๋ณด, ์‚ฌ์šฉ์ž ์—ญํ• , ์งˆ์˜ ๋ชฉ์ , ์‹œ๊ฐ„, ๋ฆฌ์Šคํฌ ์ˆ˜์ค€ ๋“ฑ์„ ์ถ”์ถœํ•œ ํ›„ PDP์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  3. PDP๋Š” ์‚ฌ์ „์— ์ •์˜๋œ ์ •์ฑ… ํŒŒ์ผ(ai-policy.yaml ๋˜๋Š” JSON ํ˜•ํƒœ)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ‰๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์ด ๋•Œ PBAC/PBAC/ACL ์กฐ๊ฑด์„ ๊ฒฐํ•ฉํ•œ ๊ฐ์ฒด ๊ธฐ๋ฐ˜ ํ‰๊ฐ€๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
  4. ์ •์ฑ…์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์‚ฝ์ž…์ด ์ฐจ๋‹จ๋˜๋ฉฐ, ๋ชจ๋“  ํ๋ฆ„์€ ์‹คํ–‰ ๋กœ๊ทธ๋กœ ์ •ํ˜•ํ™”๋œ ํŠธ๋ ˆ์ด์Šค ํ˜•ํƒœ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

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] ์‹คํ–‰ ํ”Œ๋กœ์šฐ ๋น„๊ต
[๊ทธ๋ฆผ 8] ์‹คํ–‰ ํ”Œ๋กœ์šฐ ๋น„๊ต

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 ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹คํ–‰ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  1. ์‚ฌ์šฉ์ž ์š”์ฒญ ์ˆ˜์‹ 
  2. ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์ˆ˜ํ–‰
  3. ๋ฌธ์„œ ํ•„ํ„ฐ๋ง ๋ฐ ์„ ํƒ
  4. ํ”„๋กฌํ”„ํŠธ ๊ตฌ์„ฑ
  5. 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์€ ์ด๋Ÿฌํ•œ ํ†ตํ•ฉ ๋ชจ๋ธ์„ ์‹คํ–‰ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ•ต์‹ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ์ •์ฑ… ๋ชจ๋ธ ํ†ตํ•ฉ: ai-policy.yaml ๋˜๋Š” JSON ํ˜•ํƒœ์˜ ์ •์ฑ… ๊ตฌ์„ฑ ๋‚ด์—์„œ PBAC, CBAC, ACL ์กฐ๊ฑด์„ ํ•จ๊ป˜ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •์ฑ… ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:

allow_if:
    purpose: "hr.audit"
    session.role: "manager"
    doc.confidentiality: "low"
    session.risk_score: < 3
  1. ๊ฐ์ฒด ๊ธฐ๋ฐ˜ ํ‰๊ฐ€ ๊ตฌ์กฐ (OPA ๊ธฐ๋ฐ˜): QueryPie๋Š” Open Policy Agent(OPA) ๊ธฐ๋ฐ˜ ์ •์ฑ… ์—”์ง„์„ ํ™œ์šฉํ•˜์—ฌ, ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ, ๋ฌธ์„œ ์†์„ฑ, ์„ธ์…˜ ์ •๋ณด ๋“ฑ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ฐ์ฒด(object) ๋‹จ์œ„๋กœ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ •์ฑ… ํ‘œํ˜„์ด ๊ตฌ์กฐํ™”๋˜๊ณ , ๋‹ค์ฐจ์› ์กฐ๊ฑด์˜ ์กฐํ•ฉ ๋ฐ ์ค‘์ฒฉ ํ‰๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  2. ReBAC, RiskBAC ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ: ๋‹จ์ˆœํ•œ ์‚ฌ์šฉ์ž-๋ฌธ์„œ ๋งคํ•‘์„ ๋„˜์–ด์„œ, ์กฐ์ง ๋‚ด ๊ด€๊ณ„ ๊ธฐ๋ฐ˜ ์ •์ฑ…(์˜ˆ: ๋ณด๊ณ  ์ฒด๊ณ„, ์†Œ์† ํŒ€)์ด๋‚˜ ์„ธ์…˜ ๊ธฐ๋ฐ˜ ๋ฆฌ์Šคํฌ ํ‰๊ฐ€(์˜ˆ: ๋กœ๊ทธ์ธ ์œ„์น˜, ๊ณต๊ฒฉ ์ง€ํ‘œ)๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ReBAC(๊ด€๊ณ„ ๊ธฐ๋ฐ˜), RiskBAC(์œ„ํ—˜ ๊ธฐ๋ฐ˜) ํ‰๊ฐ€ ๋ฐฉ์‹๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค[36].
  3. ๋ฉ€ํ‹ฐ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ํ†ตํ•ฉ: QueryPie๋Š” ์ž์ฒด RAG ์†”๋ฃจ์…˜์ด ์•„๋‹Œ ์™ธ๋ถ€ ํ†ต์ œ ๊ณ„์ธต์œผ๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ, LangChain, LlamaIndex, AutoGen, Weaviate, Pinecone ๋“ฑ ๋‹ค์–‘ํ•œ RAG ํ”„๋ ˆ์ž„์›Œํฌ ์•ž๋‹จ์—์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ •์ฑ… ํ‰๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ACL+PBAC+CBAC+ReBAC+RiskBAC๊ฐ€ ํ•˜๋‚˜์˜ ์ •์ฑ… ํ๋ฆ„ ๋‚ด์—์„œ ์กฐํ™”๋กญ๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์‹คํ–‰ ๋ณด์•ˆ ํ†ตํ•ฉ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ QueryPie๋Š” ์ •์ฑ… ๋ชจ๋ธ ๊ฐ„์˜ ๊ฐœ๋…์  ํ†ตํ•ฉ์„ ๋„˜์–ด์„œ, ์‹ค์ œ ์‹คํ–‰ ํ๋ฆ„ ๋‚ด๋ถ€์—์„œ ์ด๋ฅผ ๊ฐ์ฒด ๋‹จ์œ„๋กœ ํ‰๊ฐ€ํ•˜๊ณ  ์ •์ฑ… ํ๋ฆ„ ๋‚ด ์‚ฝ์ž…, ์ฐจ๋‹จ, ์Šน์ธ ์‚ฝ์ž…, ๊ฐ์‚ฌ ๊ธฐ๋ก๊นŒ์ง€ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” ๋‹จ์ˆœํ•œ ์ •์ฑ… ์„ ์–ธ์„ ๋„˜์–ด, ์‹คํ–‰ ์‹œ์ ์—์„œ ๋ณด์•ˆ ํ†ต์ œ๋ฅผ ์‹คํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์งˆ์  ๊ตฌํ˜„ ๋ฐฉ์‹์œผ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค[37].

6.4 ์‹คํ–‰ ๊ธฐ๋ฐ˜ ๋ณด์•ˆ์„ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์ œ์–ธ

RAG 2.0 ์‹œ๋Œ€์˜ ๋ณด์•ˆ์„ ์œ„ํ•œ ๊ธฐ์ˆ ์  ๋Œ€์‘์€ ๋‹จ์ˆœํ•œ ์ •์ฑ… ์„ ์–ธ์ด๋‚˜ ๊ถŒํ•œ ์„ค์ •์— ๋จธ๋ฌด๋ฅผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ •์ฑ…์€ ๋ฐ˜๋“œ์‹œ ์‹คํ–‰ ์‹œ์ ์˜ ํ๋ฆ„์— ๊ฒฐํ•ฉ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ „์ฒด ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์š”์†Œโ€”ํ”„๋กฌํ”„ํŠธ, ์—์ด์ „ํŠธ, LLM ํ˜ธ์ถœโ€”๋ฅผ ์ •์ฑ… ๊ตฌ์กฐ ์•ˆ์— ํฌํ•จํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„ค ๊ฐ€์ง€ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์›์น™์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค:

  1. ํ”„๋กฌํ”„ํŠธ ์‚ฝ์ž… ์ด์ „์˜ ์ •์ฑ… ๋ถ„๊ธฐ ๊ตฌ์กฐ ์„ค๊ณ„
    • ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ํ”„๋กฌํ”„ํŠธ์— ์‚ฝ์ž…ํ•˜๊ธฐ ์ „, ์„ธ์…˜ ์ปจํ…์ŠคํŠธ์™€ ๋ฌธ์„œ ์†์„ฑ ๊ธฐ์ค€์œผ๋กœ ์ •์ฑ…์„ ํ‰๊ฐ€ํ•˜๊ณ , ์‚ฝ์ž… ํ—ˆ์šฉ ์—ฌ๋ถ€๋ฅผ ์ •์ฑ…์ ์œผ๋กœ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ: ๋ฌธ์„œ์˜ confidentiality๊ฐ€ high์ด๊ณ  ์š”์ฒญ์ž์˜ risk_score๊ฐ€ 4 ์ด์ƒ์ด๋ฉด ์‚ฝ์ž… ์ฐจ๋‹จ
  2. ์„ ์–ธ์  ์ •์ฑ…์„ ์‹คํ–‰ ๊ธฐ๋ฐ˜ ์ •์ฑ…์œผ๋กœ ์ „ํ™˜
    • JSON/YAML๋กœ ์ž‘์„ฑ๋œ ์ •์ฑ…์ด ๋‹จ์ˆœํ•œ ์„ ์–ธ์— ๋จธ๋ฌด๋ฅด์ง€ ์•Š๊ณ , ์‹ค์ œ ์‹คํ–‰ ์‹œ์ ์— ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ ๊ตฌ์กฐ ๋‚ด์—์„œ ์ •์ฑ… ์—”์ง„๊ณผ ์‹คํ–‰ ํ๋ฆ„์„ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • OPA(Open Policy Agent), Cedar, Rego ๋“ฑ์˜ ์ •์ฑ… ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค[38].
  3. PDP / PIP / PEP ๊ตฌ์กฐ์˜ ๋ถ„๋ฆฌ์™€ ๊ณ„์ธต ๊ตฌ์„ฑ
    • ์ •์ฑ…์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ‰๊ฐ€(PDP), ์ •๋ณด ์ˆ˜์ง‘(PIP), ์ง‘ํ–‰(PEP)ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ธฐ ๋…๋ฆฝ์ ์ธ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์‹คํ–‰ ํ๋ฆ„์˜ ์•ž๋‹จ ๋˜๋Š” ์ค‘๊ฐ„์—์„œ ์ค‘์žฌ ๊ณ„์ธต์œผ๋กœ ์ž‘๋™์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • QueryPie๋Š” ํ”„๋ก์‹œ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋กœ ์ด๋ฅผ ๋ถ„๋ฆฌ ๊ตฌํ˜„ํ•˜๋ฉฐ, Meta๋Š” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋‚ด๋ถ€์—์„œ PDP/PEP๋ฅผ ๋ฌถ์–ด ์šด์˜ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ •์ฑ… ํ๋ฆ„์˜ ์‹œ๊ฐํ™” ๋ฐ ์‹คํ–‰ ๋กœ๊ทธ ์ •ํ˜•ํ™”
    • ์ •์ฑ…์ด ์–ด๋–ค ์š”์ฒญ์— ์–ด๋–ป๊ฒŒ ๋ฐ˜์˜๋˜์—ˆ๋Š”์ง€๋ฅผ ์‚ฌ์šฉ์ž/๋ณด์•ˆ ๊ด€๋ฆฌ์ž ๋ชจ๋‘๊ฐ€ ์ดํ•ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์‹œ๊ฐํ™” ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ์š”์ฒญ, ํ‰๊ฐ€ ์กฐ๊ฑด, ๊ฒฐ๊ณผ, ์‚ฝ์ž… ์—ฌ๋ถ€๋ฅผ ๋กœ๊ทธ๋กœ ์ •ํ˜•ํ™”ํ•ด ๋ณด๊ด€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋Š” ๊ฐ์‚ฌ ๊ฐ€๋Šฅ์„ฑ(Auditability), ์„ค๋ช… ๊ฐ€๋Šฅ์„ฑ(Explainability), ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๋Œ€์‘์„ฑ(Compliance Readiness)์„ ๋™์‹œ์— ๋งŒ์กฑ์‹œํ‚ต๋‹ˆ๋‹ค[39].

์ด๋Ÿฌํ•œ ์ „๋žต์€ ๋‹จ์ง€ ์ •์ฑ…์„ ํ‘œํ˜„ํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ์ฐจ์›์„ ๋„˜์–ด์„œ, ์‹คํ–‰ ๋ณด์•ˆ ์ •์ฑ…์„ ์ค‘์‹ฌ์œผ๋กœ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ๊ตฌ์กฐ์  ์ „ํ™˜์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๋ณด์•ˆ์€ ๋ฆฌ์†Œ์Šค ๊ธฐ๋ฐ˜์ด ์•„๋‹Œ, ํ๋ฆ„ ๊ธฐ๋ฐ˜ ํŒ๋‹จ ๋ชจ๋ธ๋กœ ์ง„ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

6.5 ๋งบ์Œ๋ง

RAG 2.0 ํ™˜๊ฒฝ์—์„œ์˜ ๋ณด์•ˆ ์ „๋žต์€ ๋‹จ์ˆœํžˆ ๋ฌธ์„œ๋ฅผ ๋ณดํ˜ธํ•˜๊ฑฐ๋‚˜ ์ˆจ๊ธฐ๋Š” ๋ฐฉ์‹์œผ๋กœ๋Š” ๋” ์ด์ƒ ํšจ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ์š”๊ตฌ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

๋ˆ„๊ฐ€, ์–ธ์ œ, ์–ด๋–ค ๋ชฉ์ ๊ณผ ๋งฅ๋ฝ์œผ๋กœ, ์–ด๋–ค ๋ฌธ์„œ๋ฅผ AI ์‘๋‹ต์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๊ฐ€?

[๊ทธ๋ฆผ 9] ์„ ์–ธ์—์„œ ์‹คํ–‰์œผ๋กœ
[๊ทธ๋ฆผ 9] ์„ ์–ธ์—์„œ ์‹คํ–‰์œผ๋กœ

์ด๋Ÿฌํ•œ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์ •๋‹ต์€ ๊ณ ์ •๋œ ๊ถŒํ•œ ๋ชฉ๋ก์ด ์•„๋‹Œ, ์‹คํ–‰ ํ๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ •์ฑ… ํ‰๊ฐ€ ๊ตฌ์กฐ์—์„œ ๋‚˜์˜ต๋‹ˆ๋‹ค. ๋ณด์•ˆ์˜ ์ค‘์‹ฌ์ถ•์€ ์ด์ œ ์„ ์–ธ์—์„œ ์‹คํ–‰์œผ๋กœ, ๊ถŒํ•œ ๊ด€๋ฆฌ์—์„œ ์ •์ฑ… ํ๋ฆ„์˜ ํ†ตํ•ฉ ํ‰๊ฐ€๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋ฅผ ์„ ๋„ํ•˜๋Š” ๊ตฌ์กฐ๋Š” ๋‹จ์ˆœํ•œ ๊ถŒํ•œ ์—”์ง„์ด ์•„๋‹Œ, ์‹คํ–‰ ํ๋ฆ„์˜ ์ •์ฑ… ์ฃผ์ž…, ํ‰๊ฐ€, ์ง‘ํ–‰, ๊ฐ€์‹œํ™”๊นŒ์ง€ ์ „ ๋ฒ”์œ„์— ๊ฑธ์ณ ํ†ต์ œ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์—ฌ์•ผ ํ•˜๋ฉฐ, 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 ์šด์˜, ์ง€๊ธˆ ์ง์ ‘ ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”.

์ฐธ๊ณ ๋ฌธํ—Œ

[1] Microsoft, โ€œDesign a Secure Multitenant RAG Inferencing Solution โ€“ Azure Architecture Center,โ€ Microsoft Learn, 2025.

[2] Polymer, โ€œIntroducing Polymerโ€™s SecureRAG,โ€ Polymer Blog, 2025.

[3] Weaviate, โ€œMulti-Tenancy Vector Search with millions of tenants,โ€ Weaviate Blog, 2023.

[4] Amazon Web Services, โ€œMulti-tenancy in RAG applications in a single Amazon Bedrock knowledge base,โ€ AWS ML Blog, 2024.

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

[8] Amazon Web Services, โ€œMulti-tenancy in RAG applications in a single Amazon Bedrock knowledge base,โ€ AWS ML Blog, 2024.

[9] QueryPie, โ€œUncovering MCP Security,โ€ White Paper, 2025.

[10] QueryPie, โ€œGoogle Agentspace Gets Things Doneโ€”QueryPie MCP PAM Keeps Them Safe,โ€ White Paper, 2025.

[11] Meta Engineering, โ€œPrivacy-aware infrastructure and purpose limitation at Meta,โ€ Meta Engineering Blog, Aug. 27, 2024.

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

[16] Microsoft Graph Team, โ€œData, Privacy, and Security for Microsoft 365 Copilot,โ€ Microsoft Learn, 2023.

[17] Amazon Web Services, โ€œCreate a Generative AI Gateway to allow secure and compliant consumption of foundation models,โ€ AWS Machine Learning Blog, 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.

[25] Cloudflare, โ€œTake Control of Public AI Application Security with Firewall for AI,โ€ Cloudflare Blog, 2023.

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

[28] Business Insider, โ€œSamsung bans employees from using AI tools like ChatGPT after an accidental data leak,โ€ Business Insider, May 2023.

[29] H.F. Atlam et al., โ€œRisk-Based Access Control Model: A Systematic Literature Review,โ€ Future Internet, vol. 12, no. 6, p. 103, Jun. 2020.

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

[33] European Commission, โ€œProposal for a Regulation on AI (AI Act),โ€ Article 12 โ€“ Record Keeping, 2021.

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

[36] CNCF, โ€œLove, Hate, and Policy Languages: An Introduction to Decision-Making Engines,โ€ CNCF Blog, May 2024.

[37] NIST, โ€œAI Risk Management Framework 1.0,โ€ NIST, Jan. 2023.

[38] J. Byun and N. Li, โ€œPurpose based access control for privacy protection in relational database systems,โ€ VLDB J., vol. 17, no. 4, pp. 603โ€“619, 2008.

[39] SSH Communications Security, โ€œWhat is CARTA (Continuous Adaptive Risk and Trust Assessment)?,โ€ SSH Academy, 2024.

RAG 2.0 ๋ณด์•ˆ โ€“ MicrosoftยทMeta์˜ ์ „๋žต, QueryPie๊ฐ€ ์—ฐ๊ฒฐํ•œ๋‹ค | QueryPie