๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ”’ ๊ถŒํ•œ

Workspace ๋‚ด Open WebUI์˜ Permissions ์„น์…˜์€ ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ๊ณผ ๊ธฐ๋Šฅ ์ด์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•๋ ฅํ•œ ์‹œ์Šคํ…œ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ์„ธ๋ฐ€ํ•œ ์ œ์–ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค: Workspace์˜ Permissions ์„น์…˜์€ ๊ถŒํ•œ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜: ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๋Š” PersistentConfig ๋ณ€์ˆ˜๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  3. ๊ทธ๋ฃน ๊ด€๋ฆฌ: ์‚ฌ์ „ ์ •์˜๋œ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ทธ๋ฃน์— ์‚ฌ์šฉ์ž๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

Workspace ๊ถŒํ•œโ€‹

Workspace ๊ถŒํ•œ์€ Open WebUI ํ”Œ๋žซํผ์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  • ๋ชจ๋ธ ์ ‘๊ทผ: ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ์— ์ ‘๊ทผํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_WORKSPACE_MODELS_ACCESS)
  • ์ง€์‹ ์ ‘๊ทผ: ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์‹ ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ACCESS)
  • ํ”„๋กฌํ”„ํŠธ ์ ‘๊ทผ: ์‚ฌ์šฉ์ž๊ฐ€ ์ €์žฅ๋œ ํ”„๋กฌํ”„ํŠธ์— ์ ‘๊ทผํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_WORKSPACE_PROMPTS_ACCESS)
  • ๋„๊ตฌ ์ ‘๊ทผ: ์‚ฌ์šฉ์ž๊ฐ€ ๋„๊ตฌ๋ฅผ ์ ‘๊ทผํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS) ์ฐธ๊ณ : ์ด ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์— ์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฑ„ํŒ… ๊ถŒํ•œโ€‹

์ฑ„ํŒ… ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž๋“ค์ด ์ฑ„ํŒ… ๋Œ€ํ™”์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค:

  • ์ฑ„ํŒ… ์ œ์–ด ํ—ˆ์šฉ: ์ฑ„ํŒ… ์ œ์–ด ์˜ต์…˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ์—…๋กœ๋“œ ํ—ˆ์šฉ: ์‚ฌ์šฉ์ž๋“ค์ด ์ฑ„ํŒ… ์„ธ์…˜ ์ค‘ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_CHAT_FILE_UPLOAD)
  • ์ฑ„ํŒ… ์‚ญ์ œ ํ—ˆ์šฉ: ์‚ฌ์šฉ์ž๋“ค์ด ์ฑ„ํŒ… ๋Œ€ํ™”๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_CHAT_DELETE)
  • ์ฑ„ํŒ… ํŽธ์ง‘ ํ—ˆ์šฉ: ์‚ฌ์šฉ์ž๋“ค์ด ์ฑ„ํŒ… ๋Œ€ํ™”์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_CHAT_EDIT)
  • ์ž„์‹œ ์ฑ„ํŒ… ํ—ˆ์šฉ: ์‚ฌ์šฉ์ž๋“ค์ด ์ž„์‹œ ์ฑ„ํŒ… ์„ธ์…˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_CHAT_TEMPORARY)

๊ธฐ๋Šฅ ๊ถŒํ•œโ€‹

๊ธฐ๋Šฅ ๊ถŒํ•œ์€ Open WebUI์—์„œ์˜ ํŠนํ™”๋œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  • ์›น ๊ฒ€์ƒ‰: ์‚ฌ์šฉ์ž๊ฐ€ ์ฑ„ํŒ… ์„ธ์…˜ ์ค‘ ์›น ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: ENABLE_RAG_WEB_SEARCH)
  • ์ด๋ฏธ์ง€ ์ƒ์„ฑ: ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: ENABLE_IMAGE_GENERATION)
  • ์ฝ”๋“œ ํ•ด์„๊ธฐ: ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ”๋“œ ํ•ด์„๊ธฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_FEATURES_CODE_INTERPRETER)
  • ์ง์ ‘ ๋„๊ตฌ ์„œ๋ฒ„: ์‚ฌ์šฉ์ž๊ฐ€ ๋„๊ตฌ ์„œ๋ฒ„์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. (ํ™˜๊ฒฝ ๋ณ€์ˆ˜: USER_PERMISSIONS_FEATURES_DIRECT_TOOL_SERVERS)

๊ธฐ๋ณธ ๊ถŒํ•œ ์„ค์ •โ€‹

๊ธฐ๋ณธ์ ์œผ๋กœ Open WebUI๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ถŒํ•œ ์„ค์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค:

Workspace ๊ถŒํ•œ:

  • ๋ชจ๋ธ ์ ‘๊ทผ: ๋น„ํ™œ์„ฑํ™” (USER_PERMISSIONS_WORKSPACE_MODELS_ACCESS=False)
  • ์ง€์‹ ์ ‘๊ทผ: ๋น„ํ™œ์„ฑํ™” (USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ACCESS=False)
  • ํ”„๋กฌํ”„ํŠธ ์ ‘๊ทผ: ๋น„ํ™œ์„ฑํ™” (USER_PERMISSIONS_WORKSPACE_PROMPTS_ACCESS=False)
  • ๋„๊ตฌ ์ ‘๊ทผ: ๋น„ํ™œ์„ฑํ™” (USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS=False)

์ฑ„ํŒ… ๊ถŒํ•œ:

  • ์ฑ„ํŒ… ์ œ์–ด ํ—ˆ์šฉ: ํ™œ์„ฑํ™”
  • ํŒŒ์ผ ์—…๋กœ๋“œ ํ—ˆ์šฉ: ํ™œ์„ฑํ™” (USER_PERMISSIONS_CHAT_FILE_UPLOAD=True)
  • ์ฑ„ํŒ… ์‚ญ์ œ ํ—ˆ์šฉ: ํ™œ์„ฑํ™” (USER_PERMISSIONS_CHAT_DELETE=True)
  • ์ฑ„ํŒ… ํŽธ์ง‘ ํ—ˆ์šฉ: ํ™œ์„ฑํ™” (USER_PERMISSIONS_CHAT_EDIT=True)
  • ์ž„์‹œ ์ฑ„ํŒ… ํ—ˆ์šฉ: ํ™œ์„ฑํ™” (USER_PERMISSIONS_CHAT_TEMPORARY=True)

๊ธฐ๋Šฅ ๊ถŒํ•œ:

  • ์›น ๊ฒ€์ƒ‰: ํ™œ์„ฑํ™” (ENABLE_RAG_WEB_SEARCH=True)
  • ์ด๋ฏธ์ง€ ์ƒ์„ฑ: ํ™œ์„ฑํ™” (ENABLE_IMAGE_GENERATION=True)
  • ์ฝ”๋“œ ํ•ด์„๊ธฐ: ํ™œ์„ฑํ™” (USER_PERMISSIONS_FEATURES_CODE_INTERPRETER)
  • ์ง์ ‘ ๋„๊ตฌ ์„œ๋ฒ„: ๋น„ํ™œ์„ฑํ™” (USER_PERMISSIONS_FEATURES_DIRECT_TOOL_SERVERS=False)

๊ด€๋ฆฌ์ž๋Š” ๊ด€๋ฆฌ์ž ํŒจ๋„์˜ "users" ์„น์…˜์—์„œ ๊ธฐ๋ณธ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ถŒํ•œ ๊ด€๋ฆฌโ€‹

๊ด€๋ฆฌ์ž๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํ˜น์€ ๊ตฌ์„ฑ์—์„œ ํ•ด๋‹น ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” PersistentConfig ๋ณ€์ˆ˜๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, ์ฒ˜์Œ ์‹คํ–‰ ํ›„ ๋‚ด๋ถ€์ ์œผ๋กœ ์ €์žฅ๋˜๊ณ  Open WebUI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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