2025๋…„ 3์›” 15์ผยท6๋ถ„ ์ฝ๊ธฐ

API ํ‚ค ํšŒ์ „ UX: ์Šค์ฝ”ํ”„, ์…€ํ”„์„œ๋น„์Šค ํ‚ค, ๊ทธ๋ฆฌ๊ณ  ๋กœ๊ทธ

์˜ฌ๋ฐ”๋ฅธ API ํ‚ค ํšŒ์ „: ์ตœ์†Œ ๊ถŒํ•œ ์Šค์ฝ”ํ”„, ์‚ฌ์šฉ ๋กœ๊ทธ, ์•ˆ์ „ํ•œ UX๋กœ ์…€ํ”„์„œ๋น„์Šค ํ‚ค ๊ด€๋ฆฌ๋ฅผ ์„ค๊ณ„ํ•ด ์ง€์› ํ‹ฐ์ผ“๊ณผ ์‚ฌ๊ณ ๋ฅผ ์ค„์ด์„ธ์š”.

API ํ‚ค ํšŒ์ „ UX: ์Šค์ฝ”ํ”„, ์…€ํ”„์„œ๋น„์Šค ํ‚ค, ๊ทธ๋ฆฌ๊ณ  ๋กœ๊ทธ

์‹ค์ œ ์ œํ’ˆ์—์„œ API ํ‚ค๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ด์œ 

API ํ‚ค๋Š” ์ฒ˜์Œ์—” ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค: ํ‚ค ํ•˜๋‚˜, ํ†ตํ•ฉ ํ•˜๋‚˜, ๋. ๋ฌธ์ œ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚˜ ๊ฐ™์€ ํ‚ค๊ฐ€ ๊ณต์œ  ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ, Slack ๋ฉ”์‹œ์ง€, ํ˜น์€ ๋” ์ด์ƒ ์†Œ์œ ์ž๊ฐ€ ์—†๋Š” ์Šคํฌ๋ฆฝํŠธ์— ํ•˜๋“œ์ฝ”๋”ฉ๋  ๋•Œ ์ƒ๊น๋‹ˆ๋‹ค. ํ‚ค๊ฐ€ ์—ฌ๊ธฐ์ €๊ธฐ ๋ณต์‚ฌ๋˜๋ฉด ๋ˆ„๊ฐ€ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ์งˆ๋ฌธ์— ๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์žƒ์Šต๋‹ˆ๋‹ค.

์ ˆ๋Œ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ํ‚ค๋„ ํ”ํ•œ ํ•จ์ •์ž…๋‹ˆ๋‹ค. ํ‚ค๊ฐ€ ์œ ์ถœ๋˜๋ฉด ์กฐ์šฉํžˆ ๋ช‡ ๋‹ฌ๊ฐ„ ์•…์šฉ๋˜๊ฑฐ๋‚˜, ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋น„์šฉ, ๋˜๋Š” ๋ฐ์ดํ„ฐ ์œ ์ถœ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋Ÿฐ โ€œ๋‚˜์œโ€ ์ผ์ด ์—†์–ด๋„ ์˜ค๋ž˜๋œ ํ‚ค๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ๊ณณ์— ๋‚จ์•„ ์žˆ์–ด ์ž์‹  ์žˆ๊ฒŒ ์ œ๊ฑฐํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ์ ์—์„œ ์œ„ํ—˜์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

"์…€ํ”„ ์„œ๋น„์Šค"๋Š” ์—ญํ• ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋“ค์€ ๋ณดํ†ต ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ „์ฒด๋ฅผ ์ œ์–ดํ•ด์•ผ ํ•˜๊ณ , ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์ด ์†Œ์œ ํ•œ ํ•ญ๋ชฉ์ด๋‚˜ ๊ด€๋ฆฌ์ž๊ฐ€ ์œ„์ž„ํ•œ ํ•ญ๋ชฉ๋งŒ ๊ด€๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ๋ช…ํ™•ํ•œ ์†Œ์œ ๊ถŒ๊ณผ ๊ฒฝ๊ณ„์ด๋ฉฐ ๊ถŒํ•œ์˜ ๋ฏธ๋กœ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ณด์•ˆ๊ณผ ์‚ฌ์šฉ์„ฑ์€ ํ•จ๊ป˜ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. UX๊ฐ€ ๋ถˆํŽธํ•˜๋ฉด ์‚ฌ๋žŒ๋“ค์€ ์šฐํšŒํ•˜์—ฌ ํ•œ ๊ฐœ์˜ "๋งˆ์Šคํ„ฐ ํ‚ค"๋ฅผ ์–ด๋””์—๋‚˜ ์žฌ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ์‹œ์Šคํ…œ์€ ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์žฅ ์‰ฌ์šด ๊ฒฝ๋กœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค:

  • ์•ฑ์ด๋‚˜ ํ†ตํ•ฉ๋ณ„๋กœ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”, ํšŒ์‚ฌ ํ•˜๋‚˜๋‹น ํ•˜๋‚˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ๊ฐ ํ‚ค๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์„(๊ทธ๋ฆฌ๊ณ  ์–ด๋А ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜๋Š”์ง€) ์ œํ•œํ•˜์„ธ์š”.
  • ๋ˆ„๊ฐ€ ๋งŒ๋“ค์—ˆ๋Š”์ง€์™€ ๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ ์‹œ๊ฐ„์„ ๋ณด์—ฌ์ฃผ์„ธ์š”.
  • ํšŒ์ „์„ ์ผ์ƒ์ ์ด๊ณ  ๋ถ€๋‹ด ์—†๋Š” ๋™์ž‘์œผ๋กœ ๋งŒ๋“œ์„ธ์š”.

์˜ˆ์‹œ: ํŒŒํŠธ๋„ˆ๊ฐ€ "API ์ ‘๊ทผ"์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์˜ต์…˜์ด ์ „์ฒด ์ ‘๊ทผ ํ‚ค๋ผ๋ฉด ์˜๋„๋ณด๋‹ค ๋งŽ์€ ๊ถŒํ•œ์„ ๋„˜๊ฒจ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์…€ํ”„ ์„œ๋น„์Šค ํ๋ฆ„์€ ํŒŒํŠธ๋„ˆ์˜ ์ž‘์—…์— ๋งž๋Š” ์ข์€ ํ‚ค๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ฐœ๋…: ํ‚ค, ์Šค์ฝ”ํ”„, ์†Œ์œ ์ž, ํ™˜๊ฒฝ

ํ‚ค ๊ด€๋ฆฌ๋Š” ๊ด€๋ จ ์ธ๋ฌผ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์ฑ…์ž„์„ ๋ถ„๋ช…ํžˆ ํ•˜๋ฉด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ œํ’ˆ์€ ๋ช‡ ๊ฐ€์ง€ ๋ฐ˜๋ณต๋˜๋Š” ์—ญํ• ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค: ๊ณ„์ • ์†Œ์œ ์ž(๊ทœ์น™ ์„ค์ • ๋ฐ ๊ฒฐ์ œ), ๊ด€๋ฆฌ์ž(์›Œํฌ์ŠคํŽ˜์ด์Šค ์ „๋ฐ˜ ์ ‘๊ทผ ๊ด€๋ฆฌ), ๊ฐœ๋ฐœ์ž(์ฝ”๋“œ์—์„œ ํ‚ค ์‚ฌ์šฉ ๋ฐ ํšŒ์ „), ์ง€์›(โ€œ์™œ ์‹คํŒจํ–ˆ๋‚˜์š”?โ€์— ๋‹ต๋ณ€), ๊ฐ์‚ฌ์ž(์ ‘๊ทผ์ด ํ†ต์ œ๋˜๊ณ  ์ถ”์  ๊ฐ€๋Šฅํ•œ์ง€ ๊ฒ€์ฆ).

ํ‚ค๋Š” ๋‹จ์ˆœํ•œ ๋น„๋ฐ€ ๋ฌธ์ž์—ด์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ๋Š” ๊ถŒํ•œ ์žˆ๋Š” ์ž๊ฒฉ ์ฆ๋ช…์ž…๋‹ˆ๋‹ค. ํ‚ค๋ฅผ ๊ณต์œ  ๋น„๋ฐ€๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜๋ฉด ํšŒ์ „, ์‚ฌ๊ณ  ๋Œ€์‘, ๊ธฐ๋ณธ ๋””๋ฒ„๊น…์—์„œ ๊ณ ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ดˆ๊ธฐ์— ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜์„ธ์š”:

  • ํ‚ค: ๋น„๋ฐ€ ๊ฐ’๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์ƒ์„ฑ ํ›„ ์›๋ฌธ ๋น„๋ฐ€์€ ์ €์žฅํ•˜์ง€ ๋งˆ์„ธ์š”).
  • ์Šค์ฝ”ํ”„: ํ—ˆ์šฉ๋œ ๋™์ž‘์˜ ๋ช…๋ช…๋œ ์ง‘ํ•ฉ(์˜ˆ: ์ฃผ๋ฌธ ์ฝ๊ธฐ, ์†ก์žฅ ์“ฐ๊ธฐ ๋“ฑ).
  • ์†Œ์œ ์ž: ํ‚ค์— ์ฑ…์ž„ ์žˆ๋Š” ํŠน์ • ์‚ฌ์šฉ์ž๋‚˜ ์„œ๋น„์Šค ๊ณ„์ •.
  • ํ™˜๊ฒฝ: ํ‚ค๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ณณ(๊ฐœ๋ฐœ, ์Šคํ…Œ์ด์ง•, ํ”„๋กœ๋•์…˜).
  • ๋งŒ๋ฃŒ: ์–ธ์ œ ์ž‘๋™์ด ์ค‘์ง€๋˜๋Š”์ง€ ๋˜๋Š” ์–ธ์ œ ํšŒ์ „ํ•ด์•ผ ํ•˜๋Š”์ง€.

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

๋˜ํ•œ v1์—์„œ ์ง€์›ํ•˜์ง€ ์•Š์„ ํ•ญ๋ชฉ์„ ๋ฏธ๋ฆฌ ๊ฒฐ์ •ํ•˜์„ธ์š”. ๋งŽ์€ ํŒ€์ด ์กฐ์ง ์ „์ฒด ๊ณต์œ  ํ‚ค, ๋งŒ๋ฃŒ ์—†๋Š” "์˜๊ตฌ" ํ‚ค, ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜๋Š” ํ‚ค๋ฅผ ํ”ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์˜ต์…˜์„ ์„ค๊ณ„์ƒ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋‚˜์ค‘์— ๋‹จ์†ํ•˜๋ ค๊ณ  ์• ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์‰ฝ์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ตœ์†Œ ๊ถŒํ•œ ์Šค์ฝ”ํ”„ ์„ค๊ณ„

์ตœ์†Œ ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ช‡ ์ดˆ ์•ˆ์— ์˜ฌ๋ฐ”๋ฅธ ์Šค์ฝ”ํ”„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด์•ผ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๊ฐ€ ์ดํ•ดํ•ด์•ผ ํ•  ์ˆ˜์ค€์ด๋ผ๋ฉด ์‚ฌ์šฉ์ž๋“ค์€ "์ „์ฒด ์ ‘๊ทผ"์„ ์„ ํƒํ•˜๊ณ  ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

์‚ฌ๋žŒ์ด ์„ค๋ช…ํ•  ๋ฒ•ํ•œ ๋™์ž‘ ๋ชฉ๋ก์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. "์†ก์žฅ ๋ณด๊ธฐ"๋Š” ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. billing.read๋„ ๊ดœ์ฐฎ์ง€๋งŒ UI๊ฐ€ ํ‰์ดํ•œ ์–ธ์–ด๋กœ ์„ค๋ช…ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ์€ ํšŒ์ „ ์‹œ ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ์ด ๋Œ€์ฒด ํ‚ค๊ฐ€ ์ด์ „ ํ‚ค์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์‹ ํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ์š”.

์Šค์ฝ”ํ”„ ์ง‘ํ•ฉ์€ ์ž‘๊ณ  ์•ˆ์ •์ ์ด๋ฉฐ ์‹ค์ œ ์—…๋ฌด ์ค‘์‹ฌ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜์„ธ์š”. ์˜ˆ:

  • ๋ณด๊ณ (์†ก์žฅ, ๊ณ ๊ฐ, ์ •์‚ฐ ๋ณด๊ธฐ)
  • ๊ณ ๊ฐ ์ง€์›(๊ณ ๊ฐ ์กฐํšŒ, ํ™˜๋ถˆ ์ฒ˜๋ฆฌ)
  • ์ฃผ๋ฌธ ๊ด€๋ฆฌ(์ฃผ๋ฌธ ์ƒ์„ฑ, ์ƒํƒœ ์—…๋ฐ์ดํŠธ, ์ทจ์†Œ)
  • ์›นํ›„ํฌ(์—”๋“œํฌ์ธํŠธ ์ƒ์„ฑ, ๋น„๋ฐ€ ํšŒ์ „)
  • ๊ด€๋ฆฌ์ž(์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, API ํ‚ค ๊ด€๋ฆฌ)

์ž‘์€ ํ† ๊ธ€์ด 50๊ฐœ๋‚˜ ๋˜์ง€ ์•Š๊ฒŒ ํ•˜์„ธ์š”. ๊ธด ๋ชฉ๋ก์ด ์žˆ๋‹ค๋ฉด ๋ณดํ†ต ์Šค์ฝ”ํ”„๊ฐ€ ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์˜ ์‹ค์ œ ์ž‘์—… ๋ฐฉ์‹์— ๋งž๊ฒŒ ๋งŒ๋“ค์ง€ ๋ชปํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์ œ๊ณตํ•˜์„ธ์š”. ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด "๊ถŒ์žฅ ๋ฒˆ๋“ค"์„ ์ œ์•ˆํ•˜๊ณ  ๊ฐ ๋ฒˆ๋“ค์ด ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด "ํšŒ๊ณ„ ํ†ตํ•ฉ" ๋ฒˆ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์†ก์žฅ๊ณผ ์ •์‚ฐ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ํ•˜๊ณ  ํ™˜๋ถˆ์€ ๋„๋Š” ์‹์ž…๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๋Š” ์—ฌ์ „ํžˆ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์œ„ํ—˜๋„๊ฐ€ ๋†’์€ ์Šค์ฝ”ํ”„์—๋Š” ์ผ๋ถ€๋Ÿฌ ๋งˆ์ฐฐ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ถ”๊ฐ€ ํ™•์ธ ๋‹จ๊ณ„, ๊ด€๋ฆฌ์ž ์ „์šฉ ๊ถŒํ•œ, ์‹œ๊ฐ„ ์ œํ•œ๋œ ๊ถŒํ•œ ์ƒ์Šน, ๊ฐ์‚ฌ ๋กœ๊ทธ์— ์ €์žฅ๋˜๋Š” ํ•„์ˆ˜ ์‚ฌ์œ  ๊ฐ™์€ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ํŒŒํŠธ๋„ˆ๊ฐ€ ์†ก์žฅ์„ ์ž์‚ฌ ์‹œ์Šคํ…œ๊ณผ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” orders:read์™€ customers:read ๊ฐ™์€ ์ฝ๊ธฐ ๊ถŒํ•œ๋งŒ ์ฃผ๊ณ  "์ฒญ๊ตฌ ๊ด€๋ฆฌ" ๊ฐ™์€ ๊ถŒํ•œ์€ ์ฃผ์ง€ ๋งˆ์„ธ์š”. ๋‚˜์ค‘์— ํ™˜๋ถˆ์ด ํ•„์š”ํ•˜๋ฉด ๊ทธ ๋‹จ์ผ ๊ถŒํ•œ๋งŒ ์š”์ฒญํ•˜๋„๋ก ํ•˜๊ณ  ์Šน์ธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ‚ค ๊ด€๋ฆฌ UX: ์‹ค์ˆ˜๋ฅผ ๋ง‰๋Š” ํ™”๋ฉด๊ณผ ๋ฌธ๊ตฌ

๊ธฐ๋ณธ ํŽ˜์ด์ง€๋Š” ํ•œ ๊ฐ€์ง€ ์งˆ๋ฌธ์— ๋น ๋ฅด๊ฒŒ ๋‹ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: "์ง€๊ธˆ ์–ด๋–ค ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ์•ˆ์ „ํ•œ๊ฐ€?" ๊ฐ„๋‹จํ•œ ํ…Œ์ด๋ธ”์ด ๋ณดํ†ต ๊ฐ€์žฅ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค: ํ‚ค ์ด๋ฆ„, ํ™˜๊ฒฝ, ์ƒํƒœ(ํ™œ์„ฑ, ๋งŒ๋ฃŒ, ํ๊ธฐ), ๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ ์‹œ๊ฐ„, ์งง์€ ์Šค์ฝ”ํ”„ ์š”์•ฝ. ๋นˆ ์ƒํƒœ๋Š” ๊ฐ€๋ฅด์น˜๋˜ ๋น„๋‚œํ•˜์ง€ ๋งˆ์„ธ์š”: "์•„์ง ํ‚ค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํŠน์ • ์•ฑ์ด๋‚˜ ํŒŒํŠธ๋„ˆ์šฉ์œผ๋กœ ํ•„์š”ํ•œ ์Šค์ฝ”ํ”„๋งŒ ๊ฐ€์ง„ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”."์ฒ˜๋Ÿผ์š”.

ํ‚ค ์ƒ์„ฑ์€ ๋ฌด์ž‘์œ„ ๋น„๋ฐ€์„ ์ƒ์„ฑํ•˜๋Š” ํ–‰์œ„๊ฐ€ ์•„๋‹ˆ๋ผ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋Š” ๋А๋‚Œ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ๋ฆ„์„ ์งง๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ํ‰์ดํ•œ ๋ ˆ์ด๋ธ”์„ ์“ฐ๋ฉฐ ์‚ฌ๋žŒ๋“ค์ด ์ž์ฃผ ๋ง‰ํžˆ๋Š” ๊ณณ์— ์ž‘์€ ๋„์›€๋ง์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๊ฒฌ๊ณ ํ•œ ์ƒ์„ฑ ํผ์—๋Š” ๋ณดํ†ต ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

  • ์ด๋ฆ„(ํ•„์ˆ˜): "Payroll dashboard (prod)"์ฒ˜๋Ÿผ "Key 1"๋ณด๋‹ค ๊ตฌ์ฒด์ ์ธ ์ด๋ฆ„.
  • ํ™˜๊ฒฝ(ํ•„์ˆ˜): ํ…Œ์ŠคํŠธ vs ํ”„๋กœ๋•์…˜์ด ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์Šค์ฝ”ํ”„(ํ•„์ˆ˜): ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ถ”๊ฐ€ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ๋ฃŒ(์„ ํƒ์ด์ง€๋งŒ ๊ถŒ์žฅ): "90์ผ" ๊ฐ™์€ ์‰ฌ์šด ํ”„๋ฆฌ์…‹.
  • ์ƒ์„ฑ์ž/์†Œ์œ ์ž(์ž๋™): ๋‚˜์ค‘์— ์—ฐ๋ฝํ•  ์‚ฌ๋žŒ์„ ํ‘œ์‹œ.

๋น„๋ฐ€์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ํ•œ ๋ฒˆ๋งŒ ๋ณด์—ฌ์ฃผ๊ณ  ์ด์œ ๋ฅผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์„ธ์š”: "๋ณด์•ˆ์„ ์œ„ํ•ด ์ƒ์„ฑ ํ›„ ์›๋ณธ์€ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ณต์‚ฌํ•˜์„ธ์š”. ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค." ๋ณต์‚ฌ ํ•œ ๋ฒˆ์„ ์œ„ํ•œ ๋ช…ํ™•ํ•œ ๋™์ž‘๊ณผ ๊ฐ€๋ฒผ์šด ํ™•์ธ(์˜ˆ: "์ด ๋น„๋ฐ€์„ ์•ˆ์ „ํ•œ ์žฅ์†Œ์— ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค")์„ ์ œ๊ณตํ•˜์„ธ์š”.

ํ๊ธฐ์™€ ํšŒ์ „์€ ์ฐพ๊ธฐ ์‰ฌ์šฐ๋ฉด์„œ๋„ ์‹ค์ˆ˜๋กœ ์‹คํ–‰๋˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ์„ธ์š”. "๊ด€๋ฆฌ" ๋ฉ”๋‰ด ๋’ค์— ๋‘๊ณ  ์˜ํ–ฅ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”:

  • ํ๊ธฐ(Revoked): "์ฆ‰์‹œ ์ž‘๋™์„ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ์€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค."\n- ํšŒ์ „(Rotate): "์ƒˆ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ฒŒ ์ „ํ™˜ํ•œ ๋‹ค์Œ ์ด์ „ ํ‚ค๋ฅผ ํ๊ธฐํ•ฉ๋‹ˆ๋‹ค."

ํšŒ์ „์„ ์ง€์›ํ•œ๋‹ค๋ฉด ์•ˆ๋‚ด ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค: ์ด์ „ ํ‚ค ๋ผ๋ฒจ, ์ƒˆ ํ‚ค ๋ผ๋ฒจ, ์ปท์˜คํ”„ ์‹œ๊ฐ„ ์ „์— ํ˜ธ์ถœ ์‹œ์Šคํ…œ์„ ์—…๋ฐ์ดํŠธํ•˜๋ผ๋Š” ์•Œ๋ฆผ์„ ๋ณด์—ฌ์ฃผ์„ธ์š”.

์ง€์›ํŒ€์ด ํ•ญ์ƒ ๋ฌป๋Š” ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ์‚ฌ์šฉ ๋กœ๊ทธ

๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋น ๋ฅด๊ฒŒ ์„ค๊ณ„
AppMaster Data Designer๋กœ PostgreSQL์— api_keys, scopes, audit events๋ฅผ ๋ชจ๋ธ๋งํ•˜์„ธ์š”.
๋นŒ๋“œ ์‹œ์ž‘

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ง€์›ํŒ€์€ ๋ณดํ†ต ๊ฐ™์€ ์งˆ๋ฌธ์„ ํ•ฉ๋‹ˆ๋‹ค: ์–ด๋–ค ํ‚ค๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋‚˜, ๋ฌด์—‡์„ ์‹œ๋„ํ–ˆ๋‚˜, ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‚˜. ์ข‹์€ API ์‚ฌ์šฉ ๋กœ๊ทธ๋Š” ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ๋’ค์ ์ด์ง€ ์•Š์•„๋„ ๊ทธ ๋‹ต์„ ๋ช…ํ™•ํžˆ ํ•ด์ค๋‹ˆ๋‹ค.

์œ ์šฉํ•œ ๋กœ๊ทธ ํ•ญ๋ชฉ์€ ์ž‘์ง€๋งŒ ๊ตฌ์ฒด์ ์ด๋ฉฐ ์‚ฌ๋žŒ๋“ค์ด ๋น ๋ฅด๊ฒŒ ์Šค์บ”ํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๊ด€๋œ ํ•„๋“œ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค:

  • ํƒ€์ž„์Šคํƒฌํ”„(์‹œ๊ฐ„๋Œ€ ํฌํ•จ)
  • ํ‚ค ID(์›๋ฌธ ๋น„๋ฐ€์ด ์•„๋‹˜)์™€ ํ‚ค ์†Œ์œ ์ž
  • ์—”๋“œํฌ์ธํŠธ ๋˜๋Š” ์•ก์…˜ ์ด๋ฆ„(๊ฐ€๋Šฅํ•˜๋ฉด ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ˜•์‹)
  • ์†Œ์Šค IP์™€ ์œ ์ € ์—์ด์ „ํŠธ(๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ)
  • ๊ฒฐ๊ณผ(์„ฑ๊ณต, ์Šค์ฝ”ํ”„์— ์˜ํ•ด ์ฐจ๋‹จ, ์ธ์ฆ ์‹คํŒจ, ์†๋„ ์ œํ•œ, ์„œ๋ฒ„ ์˜ค๋ฅ˜)์™€ ์‘๋‹ต ์ฝ”๋“œ

๋กœ๊ทธ๋ฅผ ํ‚ค ์ƒ์„ธ ํŽ˜์ด์ง€์™€ ์—ฐ๊ฒฐํ•˜์„ธ์š”. ๋‘ ๊ฐ€์ง€ ์ž‘์€ ์ง€ํ‘œ๊ฐ€ ๋งŽ์€ ํ‹ฐ์ผ“์„ ์˜ˆ๋ฐฉํ•ฉ๋‹ˆ๋‹ค: **์ตœ์ดˆ ๊ด€์ฐฐ ์‹œ๊ฐ(First seen)**๊ณผ ๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ(Last used). "ํ•œ ๋ฒˆ๋„ ์‚ฌ์šฉ๋œ ์  ์—†์Œ"์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉด ์‚ญ์ œ ํ›„๋ณด์ด๊ณ , "๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ"์ด 2๋…„ ์ „์ด๋ฉด ๋‹ค์Œ ํšŒ์ „์—์„œ ๋‚จ๊ธฐ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

v1์—์„œ๋Š” ๋‚ด๋ณด๋‚ด๊ธฐ(export)๋ณด๋‹ค ํ•„ํ„ฐ๋ง์ด ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์„ธ์š”: ์‹œ๊ฐ„ ๋ฒ”์œ„, ์ƒํƒœ(์„ฑ๊ณต vs ์ฐจ๋‹จ vs ์‹คํŒจ), ์•ก์…˜/์Šค์ฝ”ํ”„, ํ™˜๊ฒฝ.

๋ณด์กด ๊ธฐ๊ฐ„(retention)์€ ๋‹จ์ˆœํ•œ ์ €์žฅ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ œํ’ˆ ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ํŒ€์ด UI์—์„  30~90์ผ์„ ์‹œ์ž‘์ ์œผ๋กœ ํ•˜๊ณ  ๋” ๊ธด ๊ธฐ๋ก์€ ๊ด€๋ฆฌ์ž๋งŒ ๋ณด๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. UI์— ์ด๋ฅผ ๋ช…ํ™•ํžˆ ํ‘œ์‹œํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ๊ฐ€ "์—†์–ด์ง„" ๊ฒƒ์œผ๋กœ ์˜คํ•ดํ•˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”.

๊ณ ๊ฐ์„ ๋Š์ง€ ์•Š๋Š” ์•ˆ์ „ํ•œ ํšŒ์ „ ๋ชจ๋ธ

ํ‚ค ํฌํ„ธ ๊ตฌ์ถ•
๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ์Šค์ฝ”ํ”„, ์†Œ์œ ์ž, ํ™˜๊ฒฝ์„ ๊ฐ–์ถ˜ ์…€ํ”„ ์„œ๋น„์Šค API ํ‚ค ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ์„ธ์š”.
AppMaster ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

ํšŒ์ „์€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•  ๋•Œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์ •์ฑ…์„ ๊ฒŒ์‹œํ•ด ๋‘ ๊ฐ€์ง€ ์งˆ๋ฌธ์— ๋‹ตํ•˜์„ธ์š”: ํ‚ค๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ํšŒ์ „ํ•ด์•ผ ํ•˜๋Š”๊ฐ€(์˜ˆ์•ฝ ๊ธฐ๋ฐ˜)์™€ ์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ์ฆ‰์‹œ ํšŒ์ „์„ ๊ฐ•์ œํ•˜๋Š”๊ฐ€(์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜). ์˜ˆ์•ฝ ํšŒ์ „์€ ์˜ˆ๋ฅผ ๋“ค์–ด 90์ผ๋งˆ๋‹ค์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํšŒ์ „์€ "์ง์›์ด ํ‡ด์‚ฌํ•จ", "ํ‚ค๊ฐ€ ํ‹ฐ์ผ“์— ๋ถ™์—ฌ๋„ฃ์–ด์ง", "๋น„์ •์ƒ์  ์‚ฌ์šฉ ๊ธ‰์ฆ" ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๋ชจ๋ธ์€ ๊ฒน์นจ(overlap)์ž…๋‹ˆ๋‹ค. ๊ณ ๊ฐ์ด ํ•œ ์ˆœ๊ฐ„์— ํ‚ค๋ฅผ ๊ต์ฒดํ•˜๋„๋ก ๊ฐ•์š”ํ•˜์ง€ ๋งˆ์„ธ์š”. ์ƒˆ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ณ  ์ด์ „ ํ‚ค๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜๋„๋ก ํ•œ ๋’ค ๋ช…ํ™•ํ•œ ์‹œ๊ฐ„ ์ฐฝ ํ›„์— ์ด์ „ ํ‚ค๋ฅผ ๋‚ด๋ฆฌ์„ธ์š”.

์‹ค์šฉ์ ์ธ ํ๋ฆ„:

  • ์ƒˆ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  "ํ™œ์„ฑ(Active)"์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์ „ ํ‚ค๋„ ํ™œ์„ฑ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋˜ "๊ณง ํšŒ์ „"์œผ๋กœ ๋ผ๋ฒจ์„ ๋ถ™์ž…๋‹ˆ๋‹ค.
  • ๊ณ ๊ฐ์ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ํ˜ธ์ถœ์ด ์„ฑ๊ณตํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ๊ฐ์ด "ํšŒ์ „ ์™„๋ฃŒ"๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์ด์ „ ํ‚ค๊ฐ€ ์ž๋™์œผ๋กœ ๋งŒ๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  • ์ด์ „ ํ‚ค๋Š” "ํ๊ธฐ(Revoked)"๋˜์–ด ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์œ ์˜ˆ ๊ธฐ๊ฐ„์€ ์ค‘์š”ํ•˜์ง€๋งŒ ๋ช…ํ™•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ ๋ทฐ์— ๋งŒ๋ฃŒ ๋‚ ์งœ๋ฅผ ํ‘œ์‹œํ•˜๊ณ (์˜ˆ: 14์ผ, 3์ผ, 24์‹œ๊ฐ„ ์ „) ์‚ฌ์ „์— ๊ฒฝ๊ณ ๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”. "๊ณง ๋งŒ๋ฃŒ" ๊ฐ™์€ ๋ชจํ˜ธํ•œ ๋ฌธ๊ตฌ๋ฅผ ํ”ผํ•˜๊ณ  "์ด ํ‚ค๋Š” 1์›” 30์ผ 10:00 UTC์— ์ž‘๋™์„ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค."์ฒ˜๋Ÿผ ๊ตฌ์ฒด์ ์œผ๋กœ ์“ฐ์„ธ์š”.

์†๋„ ์ œํ•œ(rate limits)๊ณผ ์ž ๊ธˆ์€ ์ •์ƒ ๋™์ž‘์„ ์ฒ˜๋ฒŒํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๊ณ„์ •์„ ๋ณดํ˜ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋„คํŠธ์›Œํฌ ํƒ€์ž„์•„์›ƒ ์ดํ›„ ์žฌ์‹œ๋„ํ•˜๋ฏ€๋กœ ์‹คํŒจ ๋ช‡ ๋ฒˆ์œผ๋กœ ์ž ๊ทธ๋ฉด ์˜ค๊ฒฝ๋ณด๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทœ์น™์€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”:

  • ํ‚ค๋ณ„ ๋ฐ IP๋ณ„ ์†๋„ ์ œํ•œ(๊ณ„์ •๋ณ„๋งŒ์ด ์•„๋‹˜).
  • 401 ์˜ค๋ฅ˜๋Š” ํƒ€์ž„์•„์›ƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ.
  • ๋จผ์ € ๊ฒฝ๊ณ ํ•˜๊ณ , ์ผ์‹œ์ ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ œํ•œํ•œ ๋’ค, ํ•„์š”ํ•˜๋ฉด ์ƒˆ ํ‚ค๋ฅผ ์š”๊ตฌ.
  • UI์— ํ•ญ์ƒ ์ด์œ ๋ฅผ ํ‘œ์‹œ: "120์š”์ฒญ/๋ถ„์œผ๋กœ ์ธํ•ด ์ œํ•œ๋จ."

์˜ˆ์‹œ: ํŒŒํŠธ๋„ˆ๊ฐ€ ๋‘ ์ง€์—ญ์—์„œ API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํšŒ์ „ ๋™์•ˆ ๋‘ ํ‚ค๊ฐ€ 7์ผ๊ฐ„ ๋ชจ๋‘ ์ž‘๋™ํ•˜๋ฉด ๋ฐฐํฌ๊ฐ€ ํ•œ๋ฐค์ค‘ ์ปท์˜ค๋ฒ„๋‚˜ ์ง€์› ํ‹ฐ์ผ“ ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์•Œ๋ฆผ: ๋ฌด์—‡์„ ๋ณด์—ฌ์ฃผ๊ณ , ๋ฌด์—‡์„ ์•Œ๋ฆด์ง€

์ข‹์€ ๋ชจ๋‹ˆํ„ฐ๋ง์€ "๋ณด์•ˆ ์‡ผ์œˆ๋„"๊ฐ€ ์•„๋‹ˆ๋ผ ํ•œ ๊ฐ€์ง€ ์งˆ๋ฌธ์— ๋น ๋ฅด๊ฒŒ ๋‹ตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: ์ด ํ‚ค๊ฐ€ ์†Œ์œ ์ž๊ฐ€ ๊ธฐ๋Œ€ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‚˜?

ํ‚ค ๋ชฉ๋ก์—๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ ์นฉ์„ ๋ณด์—ฌ์ฃผ์„ธ์š”. "ํ™œ์„ฑ(Active)"๊ณผ "ํ๊ธฐ(Revoked)"๋Š” ๋ช…ํ™•ํ•˜์ง€๋งŒ "๊ณง ๋งŒ๋ฃŒ(Expiring soon)"๋Š” ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์ค‘๋‹จ์„ ๋ง‰์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ "๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ(Last used)" ํƒ€์ž„์Šคํƒฌํ”„์™€ "ํ•œ ๋ฒˆ๋„ ์‚ฌ์šฉ ์•ˆ ํ•จ(Never used)" ํ‘œ์‹œ๋„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๋กœ๊ทธ ๋ทฐ๋Š” ๋‹จ์ˆœํ•œ ์›์‹œ ์š”์ฒญ๋ณด๋‹ค ํŒจํ„ด์„ ๊ฐ•์กฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ™”๋ คํ•œ ๊ทธ๋ž˜ํ”„๊ฐ€ ์—†์–ด๋„ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ž˜ ๊ณ ๋ฅธ ์‹ ํ˜ธ๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋ฅผ ์žก์Šต๋‹ˆ๋‹ค:

  • ์š”์ฒญ์ด๋‚˜ ์‹คํŒจ์˜ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๊ธ‰์ฆ(ํŠนํžˆ ๋งŽ์€ 401)
  • ์ƒˆ๋กœ์šด IP ๋ฒ”์œ„๋‚˜ ์ƒˆ๋กœ์šด ๊ตญ๊ฐ€์—์„œ ์ฒ˜์Œ ๊ด€์ฐฐ
  • ์ˆ˜์ฃผ๊ฐ„ ์กฐ์šฉํ•˜๋˜ ํ‚ค๊ฐ€ ๋‹ค์‹œ ํ˜ธ์ถœ์„ ์‹œ์ž‘ํ•จ

์•Œ๋ฆผ์€ ๋“œ๋ฌผ๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ ์•Œ๋ฆฌ๋ฉด ์‚ฌ์šฉ์ž๋Š” ๋ฌด์Œ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ •๋ง ์ค‘์š”ํ•œ ์•Œ๋ฆผ์„ ๋†“์นฉ๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ v1 ์•Œ๋ฆผ ์„ธํŠธ:

  • ํ‚ค ๊ณง ๋งŒ๋ฃŒ(์˜ˆ: 7์ผ, 1์ผ)
  • ์˜ค๋žœ ๋น„ํ™œ์„ฑ ํ›„ ์ฒซ ์‚ฌ์šฉ
  • ์งง์€ ๊ธฐ๊ฐ„ ๋‚ด ๋งŽ์€ 401

๋ฏผ๊ฐํ•œ ์Šค์ฝ”ํ”„์˜ ๊ฒฝ์šฐ ์ƒ์„ฑ, ํšŒ์ „, ํ™•์žฅ ์ „์— MFA๋‚˜ ์Šน์ธ ๋‹จ๊ณ„ ๊ฐ™์€ ๋” ๊ฐ•ํ•œ ๊ฒŒ์ดํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ํ–ฅ์ด ํฐ ๊ณณ์—๋งŒ ์“ฐ์„ธ์š”.

๋ฐฑ์—”๋“œ์™€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ: ์ €์žฅํ•ด์•ผ ํ•  ๊ฒƒ(๊ทธ๋ฆฌ๊ณ  ์ €์žฅํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ)

ํšŒ์ „์„ ์•ˆ๋‚ดํ•˜๋Š” ํ๋ฆ„ ๋งŒ๋“ค๊ธฐ
ํšŒ์ „, ํ๊ธฐ, ์Šน์ธ ๋‹จ๊ณ„์šฉ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
์›Œํฌํ”Œ๋กœ์šฐ ์ƒ์„ฑ

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

์ž‘๊ณ  ๋ช…ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. "๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ์–ธ์ œ ์™œ ํ–ˆ๋Š”๊ฐ€"์— ๋‹ตํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ์˜ ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํฌํ•จํ•  ํ•ต์‹ฌ ํ…Œ์ด๋ธ”

์‹ค์šฉ์ ์ธ ์ตœ์†Œ ๊ตฌ์„ฑ์€:

  • api_keys: id, owner_id, environment, status(ํ™œ์„ฑ/ํ๊ธฐ), created_at, last_used_at, expires_at(์„ ํƒ), key_prefix, secret_hash, rotated_from_key_id(์„ ํƒ)
  • scopes: id, name, description, risk_level(์„ ํƒ)
  • api_key_scopes: api_key_id, scope_id
  • audit_events: actor_id, action, target_type, target_id, metadata, created_at

์Šค์ฝ”ํ”„ ๋ชจ๋ธ์€ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•˜์„ธ์š”. ์Šค์ฝ”ํ”„๋ฅผ ๋‚˜์ค‘์— ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋ฉด ํ†ตํ•ฉ์ด ๊นจ์ง€๊ณ  ๋กœ๊ทธ๊ฐ€ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๋ฌธ ๋น„๋ฐ€์€ ์ ˆ๋Œ€ ์ €์žฅํ•˜์ง€ ๋งˆ์„ธ์š”

API ํ‚ค๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜์„ธ์š”. ์ƒ์„ฑ ์‹œ ํ•œ ๋ฒˆ๋งŒ ๋ณด์—ฌ์ฃผ๊ณ  ์ดํ›„์—๋Š” ์ผ๋ฐฉํ–ฅ ํ•ด์‹œ(๋ฐ ํ‚ค๋ณ„ ์†”ํŠธ)๋งŒ ์ €์žฅํ•˜์„ธ์š”. ์ง€์›๊ณผ UX ์šฉ๋„๋กœ ํ‚ค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์งง๊ณ  ๋น„๋ฐ€์ด ์•„๋‹Œ ์‹๋ณ„์ž(์˜ˆ: "live_2F9Kโ€ฆ")๋ฅผ ์ €์žฅํ•˜์„ธ์š”.

ํšŒ์ „์˜ ๊ฒฝ์šฐ ์ƒˆ ํ‚ค์™€ ์ด์ „ ํ‚ค์˜ ๊ด€๊ณ„(rotated_from_key_id)๋ฅผ ์ €์žฅํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ค๋ž˜๋œ ๋น„๋ฐ€์„ ๋ณด๊ด€ํ•˜์ง€ ์•Š๊ณ ๋„ ๊น”๋”ํ•œ ๊ธฐ๋ก์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ์ถ”์ ๊ณผ ์ ‘๊ทผ ์ œ์–ด

๋ชจ๋“  ๋ฏผ๊ฐํ•œ ๋ณ€๊ฒฝ์€ ๊ฐ์‚ฌ ์ด๋ฒคํŠธ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ์ƒ์„ฑ, ์Šค์ฝ”ํ”„ ๋ณ€๊ฒฝ, ํšŒ์ „, ํ๊ธฐ, ๋กœ๊ทธ ์กฐํšŒ ๋“ฑ. ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฏธ๋ฆฌ ๊ฒฐ์ •ํ•˜์„ธ์š”. ์ผ๋ฐ˜์ ์ธ ์„ค์ •์€ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ชจ๋“  ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ชจ๋“  ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์˜ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ž์‹ ์˜ ๋กœ๊ทธ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ง€์›/์ฝ๊ธฐ ์ „์šฉ ์—ญํ• ์€ ๋น„๋ฐ€์„ ๋ณด๊ฑฐ๋‚˜ ์Šค์ฝ”ํ”„๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ณ  ๋กœ๊ทธ๋งŒ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ณด์•ˆ ์œ„ํ—˜๊ณผ ์ง€์› ๋ถ€๋‹ด์„ ๋งŒ๋“œ๋Š” ํ”ํ•œ ์‹ค์ˆ˜๋“ค

ํšŒ์ „์„ ์ง€์› ์•…๋ชฝ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ์œ„ํ—˜ํ•œ ์„ ํƒ์„ ์ •์ƒ์ฒ˜๋Ÿผ ๋А๋ผ๊ฒŒ ํ•˜๋Š” UI๋ฅผ ์ถœ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋Š” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•จ์ •์—์„œ ์˜ต๋‹ˆ๋‹ค.

์ง€๋‚˜์น˜๊ฒŒ ๊ด€๋Œ€ ํ•œ ๊ธฐ๋ณธ๊ฐ’

๊ธฐ๋ณธ ํ‚ค๊ฐ€ "๋ชจ๋“  ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค"๋ฉด ๋Œ€๋ถ€๋ถ„ ์‚ฌ๋žŒ์€ ์ขํžˆ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฒซ ํ‚ค๋ฅผ ๊ทธ๋Œ€๋กœ ํ”„๋กœ๋•์…˜์— ๋ณต์‚ฌํ•˜๊ณ  ์žŠ์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

๋” ์•ˆ์ „ํ•œ ํŒจํ„ด์€ ์ตœ์†Œ ์Šค์ฝ”ํ”„ ๊ธฐ๋ณธ๊ฐ’๊ณผ ๋ฌด์–ธ๊ฐ€ ์‹คํŒจํ–ˆ์„ ๋•Œ์˜ ๋ช…ํ™•ํ•œ ์˜ค๋ฅ˜(์˜ˆ: "missing scope: invoices.read"). "์ „์ฒด ์ ‘๊ทผ" ์˜ต์…˜์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ช…์‹œ์ ์ธ ์„ ํƒ์œผ๋กœ ์งง์€ ๊ฒฝ๊ณ ๋ฅผ ๋ถ™์ด์„ธ์š”.

์ •์ฒด๋ถˆ๋ช…์˜ ํ‚ค์™€ ์ •์ฒด๋ถˆ๋ช…์˜ ์ค‘๋‹จ

ํ‚ค์—๋Š” ์†Œ์œ ์ž์™€ ๋ชฉ์ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๊ฐ€ ์—†์œผ๋ฉด ๋ช‡ ์ฃผ ํ›„ "์–ด๋–ค ํ‚ค๊ฐ€ ๋ฌธ์ œ์ธ์ง€?" "์ด๊ฑธ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‚˜?" ๊ฐ™์€ ํ‹ฐ์ผ“์ด ์Œ“์ž…๋‹ˆ๋‹ค.

์ƒ์„ฑ ์‹œ ๋‘ ๊ฐ€์ง€ ์ž‘์€ ์ž…๋ ฅ์„ ์š”๊ตฌํ•˜์„ธ์š”:

  • ์†Œ์œ ์ž(์‚ฌ๋žŒ ๋˜๋Š” ํŒ€)
  • ๋ชฉ์ (์˜ˆ: "Zapier ํ†ตํ•ฉ" ๋˜๋Š” "Partner ABC sandbox")

ํšŒ์ „๋„ ํ”ํ•œ ์žฅ์•  ์œ ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ์ด์ „ ํ‚ค๋ฅผ ์ฆ‰์‹œ ๋ฌดํšจํ™”ํ•˜๋Š” ๊ฐ•์ œ ์ปท์˜ค๋ฒ„๋ฅผ ํ•˜๋ฉด ๊ณ ๊ฐ์€ ๋‹ค์šดํƒ€์ž„์„ ๊ฒฝํ—˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฒน์นจ์„ ํ—ˆ์šฉํ•˜์„ธ์š”: ์ƒˆ ํ‚ค ์ƒ์„ฑ โ†’ ์ด์ „ ํ‚ค ๋‹จ๊ธฐ ์œ ํšจ ์œ ์ง€ โ†’ ์ด์ „ ํ‚ค ๋น„ํ™œ์„ฑํ™”.

๊ธฐ๋ณธ ์งˆ๋ฌธ์— ๋‹ตํ•˜์ง€ ๋ชปํ•˜๋Š” ๋กœ๊ทธ

๋กœ๊ทธ๊ฐ€ ์‹คํŒจํ•˜๋Š” ์ด์œ ๋Š” ๋ณดํ†ต ์ง€์›์— ํ•„์š”ํ•œ ํ•œ ๊ฐ€์ง€ ํ•ญ๋ชฉ์ด ๋น ์กŒ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค: ์–ด๋–ค ํ‚ค๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋Š”๊ฐ€. ์œ ์šฉํ•œ ํ•ญ๋ชฉ์—๋Š” ํ‚ค id(๋น„๋ฐ€ ์•„๋‹˜), ํƒ€์ž„์Šคํƒฌํ”„, ์—”๋“œํฌ์ธํŠธ/์•ก์…˜, ํ™˜๊ฒฝ, ๊ฒฐ๊ณผ(์„ฑ๊ณต/์‹คํŒจ ๋ฐ ์ƒํƒœ ์ฝ”๋“œ)๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ์ฝ”๋“œ ์—†์ด๋Š” "์ž˜๋ชป๋œ ํ‚ค"์ธ์ง€ "์Šค์ฝ”ํ”„ ๋ถ€์กฑ"์ธ์ง€ "์„œ๋ฒ„ ์˜ค๋ฅ˜"์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

"๋„์›€์ด ๋˜๋Š”" UX๋กœ ๋น„๋ฐ€์ด ์œ ์ถœ๋จ

์ƒ์„ฑ ํ›„ ๋น„๋ฐ€์„ ๋‹ค์‹œ ๋ณด์—ฌ์ฃผ์ง€ ๋งˆ์„ธ์š”. ์ด๋ฉ”์ผ๋กœ ๋ณด๋‚ด์ง€ ๋งˆ์„ธ์š”. ์Šคํฌ๋ฆฐ์ƒท, ๋‚ด๋ณด๋‚ด๊ธฐ, "ํŒ€์›๊ณผ ๊ณต์œ " ํ๋ฆ„์— ํฌํ•จ์‹œํ‚ค์ง€ ๋งˆ์„ธ์š”. ๋ˆ„๊ตฐ๊ฐ€ ๋ถ„์‹คํ•˜๋ฉด ํ•ด๊ฒฐ์ฑ…์€ ์ƒˆ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ณ  ํšŒ์ „ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถœ์‹œ ์ „์— ํ™•์ธํ•  ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์ „๋‹ฌ๋ฌผ ์†Œ์œ 
์™„์ „ํ•œ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์ž์ฒด ํ˜ธ์ŠคํŒ…์„ ์œ„ํ•ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋‚ด๋ณด๋‚ด์„ธ์š”.
์†Œ์Šค ๋‚ด๋ณด๋‚ด๊ธฐ

์ถœ์‹œ ์ „์— ๋น ๋ฅธ ์ง€์›ยท๋ณด์•ˆ ์ ๊ฒ€์„ ํ•˜์„ธ์š”. ์ข‹์€ ํ‚ค ํ™”๋ฉด์€ ํ‚ค ์ƒ์„ฑ๋ฟ ์•„๋‹ˆ๋ผ ์•ˆ์ „ํ•œ ์„ ํƒ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

  • ๋ชจ๋“  ํ‚ค์— ๋ช…ํ™•ํ•œ ์†Œ์œ ์ž์™€ ๋ชฉ์ ์ด ์žˆ์Œ. "๋ˆ„๊ฐ€ ์†Œ์œ ํ•˜๊ณ  ์™œ ์กด์žฌํ•˜๋Š”๊ฐ€?"์— ๋‹ตํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๊ณณ์—์„œ "๋ˆ„๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฌ์šฉํ–ˆ๋‚˜"์— ๋‹ตํ•  ์ˆ˜ ์žˆ์Œ. ๊ฐ ํ‚ค์— ๋Œ€ํ•ด ๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ ์‹œ๊ฐ„, ํ™˜๊ฒฝ, ํ˜ธ์ถœ ์•ฑ/ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”.
  • ๋ฐ”์œ ๋‚ ์—๋„ ํšŒ์ „์ด ์•ˆ์ „ํ•จ. ์ „ํ™˜ ์ค‘ ๋‘ ๊ฐœ์˜ ํ™œ์„ฑ ํ‚ค๋ฅผ ์ง€์›ํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๊ณ„ํš์„ ๋ณด์—ฌ์ฃผ์„ธ์š”: ์ƒˆ ํ‚ค ์ƒ์„ฑ โ†’ ํด๋ผ์ด์–ธํŠธ ์—…๋ฐ์ดํŠธ โ†’ ํŠธ๋ž˜ํ”ฝ ํ™•์ธ โ†’ ์ด์ „ ํ‚ค ๋น„ํ™œ์„ฑํ™”.
  • ๋ฏผ๊ฐํ•œ ์Šค์ฝ”ํ”„๋Š” ๋ช…ํ™•ํ•˜๊ณ  ๋ณดํ˜ธ๋จ. ๊ณ ์˜ํ–ฅ ์Šค์ฝ”ํ”„๋ฅผ ํ‰์ดํ•œ ๋‹จ์–ด๋กœ ๋ผ๋ฒจ๋งํ•˜๊ณ  ์š”์ฒญ ์‹œ ์ถ”๊ฐ€ ๋‹จ๊ณ„๋ฅผ ๊ฑธ๊ธฐ.
  • ํ๊ธฐ๋Š” ๋น ๋ฅด๊ณ  ์˜ํ–ฅ์ด ์ธก์ • ๊ฐ€๋Šฅํ•จ. ์œ ์ถœ๋œ ํ‚ค๋Š” ๋ช‡ ์ดˆ ๋‚ด์— ํ๊ธฐ ๊ฐ€๋Šฅํ•˜๊ณ  ๋กœ๊ทธ๊ฐ€ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋…ธ์ฝ”๋“œ ๋„๊ตฌ๋กœ ๋งŒ๋“ ๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ํฌ์ธํŠธ๋ฅผ ๋‚˜์ค‘์˜ "๊ฐœ์„ "์ด ์•„๋‹ˆ๋ผ ์ดˆ๊ธฐ UI ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ๋‹ค๋ฃจ์„ธ์š”. ์ด๋“ค์ด ํ‚ค ๊ด€๋ฆฌ๊ฐ€ ์‚ฌ๊ณ ๋ฅผ ์ค„์ด๋Š”์ง€ ๋งŒ๋“ค์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ํŒŒํŠธ๋„ˆ์—๊ฒŒ ์ „์ฒด ๊ณ„์ •์„ ์ฃผ์ง€ ์•Š๊ณ  ์ ‘๊ทผ ๊ถŒํ•œ ๋ถ€์—ฌํ•˜๊ธฐ

์žฌ์ž‘์„ฑ ์—†์ด v1 ์ถœ์‹œ
์ด ๊ฒŒ์‹œ๋ฌผ์„ AppMaster๋กœ ์‹ค์ œ ์ž‘๋™ํ•˜๋Š” v1 ํฌํ„ธ๋กœ ๋ฐ˜๋‚˜์ ˆ ๋งŒ์— ์ „ํ™˜ํ•˜์„ธ์š”.
์‹œ์ž‘ํ•˜๊ธฐ

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

๊ฐ„๋‹จํ•˜๊ณ  ์•ˆ์ „ํ•œ ํ๋ฆ„(ํŒŒํŠธ๋„ˆ์—๊ฒ ๋น ๋ฅด๊ฒŒ ๋А๊ปด์ง): ๊ฐœ๋ฐœ์ž ํฌํ„ธ์—์„œ ๊ณ„์ • ์†Œ์œ ์ž๊ฐ€ "Logistics Partner - Orders Read"๋ผ๋Š” ์ƒˆ ํ‚ค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ์ „์šฉ ์Šค์ฝ”ํ”„์ธ orders:read๋งŒ ์„ ํƒํ•˜๊ณ  ๋งŒ๋ฃŒ์ผ(์˜ˆ: 90์ผ)์„ ์„ค์ •ํ•˜๋ฉฐ, ํ˜„์‹ค์ ์ด๋ผ๋ฉด ์•Œ๋ ค์ง„ IP ๋ฒ”์œ„๋กœ๋งŒ ํ—ˆ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์‚ฌ ๋‹จ๊ณ„๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œ์‹œํ•˜์„ธ์š”: ํ† ํฐ์€ ํ•œ ๋ฒˆ๋งŒ ๋ณด์—ฌ์ฃผ๊ณ  "์ง€๊ธˆ ๋ณต์‚ฌํ•˜์„ธ์š”. ์ด ํ‚ค๋Š” ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค." ๊ฐ™์€ ๋ฌธ๊ตฌ๋ฅผ ๋ถ„๋ช…ํžˆ ์ ์Šต๋‹ˆ๋‹ค. ์ด ํ•œ ๋ฌธ์žฅ์ด ๋งŽ์€ ์ง€์› ํ‹ฐ์ผ“์„ ์˜ˆ๋ฐฉํ•ฉ๋‹ˆ๋‹ค.

๋ฉฐ์น  ํ›„ ํŒŒํŠธ๋„ˆ๊ฐ€ "API๊ฐ€ ๋‹ค์šด๋œ ๊ฒƒ ๊ฐ™๋‹ค"๊ณ  ๋ณด๊ณ ํ•˜๋ฉด ์‚ฌ์šฉ ๋กœ๊ทธ๋Š” ๋ช‡ ์ดˆ ๋งŒ์— ์‹ค์งˆ์  ์งˆ๋ฌธ์— ๋‹ตํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ์–ด๋–ค ์—”๋“œํฌ์ธํŠธ๊ฐ€ ํ˜ธ์ถœ๋˜์—ˆ๊ณ , ์–ด๋–ค ํ‚ค๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋Š”๊ฐ€
  • ๋ฐ˜ํ™˜๋œ ์ƒํƒœ ์ฝ”๋“œ์™€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€
  • IP ์ฃผ์†Œ์™€ ์œ ์ € ์—์ด์ „ํŠธ(ํ•ด๋‹น๋˜๋Š” ๊ฒฝ์šฐ)
  • ์ง€์› ์ถ”์ ์šฉ ํƒ€์ž„์Šคํƒฌํ”„์™€ ์š”์ฒญ ID

์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋กœ๊ทธ๋Š” ์ข…์ข… ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋ฅผ ๋“œ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค: ๊ทธ๋“ค์ด ์ฝ๊ธฐ ์ „์šฉ ํ‚ค๋กœ /orders/update๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ์š”์ฒญ์ด ํ—ˆ์šฉ ๋ชฉ๋ก์— ์—†๋Š” ์ƒˆ๋กœ์šด IP์—์„œ ์˜ค๊ณ  ์žˆ๋‹ค๋Š” ์‹์ž…๋‹ˆ๋‹ค. ์ด์ œ ์ง€์›์€ ์ถ”์ธกํ•˜๋Š” ๋Œ€์‹  ํ•˜๋‚˜์˜ ๋ช…ํ™•ํ•œ ์ˆ˜์ •์•ˆ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํšŒ์ „์€ ์ข‹์€ UX๊ฐ€ ์ง„๊ฐ€๋ฅผ ๋ฐœํœ˜ํ•˜๋Š” ์ˆœ๊ฐ„์ž…๋‹ˆ๋‹ค. ํŒŒํŠธ๋„ˆ์˜ ๊ณ„์•ฝ์ž๊ฐ€ ๋– ๋‚˜๋ฉด ๋™์ผํ•œ orders:read ์Šค์ฝ”ํ”„๋กœ ์ƒˆ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ณ  ๋‘ ํ‚ค๋ฅผ ๋‹จ๊ธฐ๊ฐ„ ๊ฒน์น˜๊ฒŒ ์œ ์ง€ํ•œ ํ›„ ์ƒˆ ํ‚ค๋กœ ํ†ตํ•ฉ์ด ํ™•์ธ๋˜๋ฉด ์ด์ „ ํ‚ค๋ฅผ ํ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๊ณต์€ ์ด๋ ‡์Šต๋‹ˆ๋‹ค: ํŒŒํŠธ๋„ˆ๊ฐ€ ํŒ€์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์˜จ๋ณด๋”ฉํ•˜๊ณ , ๊ธฐ๋ณธ์ ์œผ๋กœ ์ ‘๊ทผ์€ ์ตœ์†Œํ™”๋˜๋ฉฐ, ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋ฌด์—‡์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์ •ํ™•ํžˆ ๋ณด๊ณ  ์‹ ์†ํžˆ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„: v1์„ ์ถœ์‹œํ•˜๊ณ  ์ „์ฒด๋ฅผ ๋‹ค์‹œ ์“ฐ์ง€ ๋ง๊ณ  ๊ฐœ์„ ํ•˜์„ธ์š”

์ž‘๊ฒŒ ์‹œ์ž‘ํ•˜์„ธ์š”. ๊น”๋”ํ•œ v1์ด ๋ช‡ ๋‹ฌ ๊ฑธ๋ ค๋„ ์‚ฌ๋žŒ๋“ค์„ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํ•˜๋Š” ํ™”๋ คํ•œ ํฌํ„ธ๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ ์ œํ’ˆ์€ ์งง์€ ์Šค์ฝ”ํ”„ ๋ชฉ๋ก, ๊ธฐ๋ณธ ์‚ฌ์šฉ ๋กœ๊ทธ, ํ•˜๋‚˜์˜ ์•ˆ์ „ํ•œ ํšŒ์ „ ํ๋ฆ„์œผ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์‹ค์ œ ์š”๊ตฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ ๊ฐ€์ง€ ๋นŒ๋”ฉ ๋ธ”๋ก์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”: ํ‚ค, ์Šค์ฝ”ํ”„, ๋กœ๊ทธ. ์ฒ˜์Œ์—” ์Šค์ฝ”ํ”„๋ฅผ ๊ฑฐ์น ๊ฒŒ(read, write, admin) ์œ ์ง€ํ•˜๊ณ  ์ฆ๊ฑฐ๊ฐ€ ์žˆ์„ ๋•Œ๊นŒ์ง€ ์ˆ˜์‹ญ ๊ฐ€์ง€์˜ ์ž‘์€ ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•˜์ง€ ๋งˆ์„ธ์š”. ํšŒ์ „์€ ์ง€๋ฃจํ•˜๊ฒŒ ๋งŒ๋“œ์„ธ์š”: ๋‘ ๋ฒˆ์งธ ํ‚ค ์ƒ์„ฑ โ†’ ํ…Œ์ŠคํŠธ โ†’ ์ด์ „ ํ‚ค ํ๊ธฐ.

์ž‘๋™ํ•˜๋Š” ๊ฐ„๋‹จํ•œ v1 ์ฒดํฌ๋ฆฌ์ŠคํŠธ:

  • 6~12๊ฐœ ์Šค์ฝ”ํ”„(๊ฐ ์Šค์ฝ”ํ”„๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ๋ฐ”์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์˜ˆ์‹œ ํฌํ•จ)
  • ํ‚ค๋ณ„ ํ™˜๊ฒฝ(prod vs sandbox)๊ณผ ๋ช…ํ™•ํ•œ ์†Œ์œ ์ž
  • ์‹œ๊ฐ„, ์—”๋“œํฌ์ธํŠธ/์•ก์…˜, ์ƒํƒœ ์ฝ”๋“œ, ํ‚ค ๋ผ๋ฒจ์ด ํฌํ•จ๋œ ์‚ฌ์šฉ ๋กœ๊ทธ
  • ๊ฒน์นจ์„ ์ง€์›ํ•˜๋Š” ํšŒ์ „ ํ๋ฆ„(์ผ์‹œ์ ์œผ๋กœ ๋‘ ๊ฐœ์˜ ํ™œ์„ฑ ํ‚ค)
  • ์‹ค์ˆ˜๋กœ ํด๋ฆญํ•˜๊ธฐ ์–ด๋ ค์šด ํ๊ธฐ ์•ก์…˜

v1์ด ๋ผ์ด๋ธŒ๋œ ํ›„์—๋Š” ์ง€์› ํ‹ฐ์ผ“์„ ์ค„์ด๋Š” ๊ณณ์— ์—ฐ๋งˆ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋กœ๊ทธ ํ•„ํ„ฐ(๋‚ ์งœ ๋ฒ”์œ„, ์ƒํƒœ, ์—”๋“œํฌ์ธํŠธ/์•ก์…˜)๊ฐ€ ๋ณดํ†ต ์ฒซ ๋ฒˆ์งธ ์„ฑ๊ณผ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ฒฝ๋ณด: ๊ธ‰์ฆ, ๋ฐ˜๋ณต ์ธ์ฆ ์‹คํŒจ, ์˜ค๋žœ ๋น„ํ™œ์„ฑ ํ›„ ์ฒซ ์‚ฌ์šฉ ๋“ฑ์„ ์•Œ๋ฆฌ์„ธ์š”. ๋ฏผ๊ฐํ•œ ์Šค์ฝ”ํ”„์—๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๊ด€๋ฆฌ์ž ์ „์šฉ์œผ๋กœ ๋งŒ๋“ค๊ธฐ๋ณด๋‹ค ์Šน์ธ ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

์ œํ’ˆ ๋‚ด๋ถ€์—์„œ UX๋ฅผ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”. ์•ก์…˜ ์˜†์˜ ์งง์€ ๋„์›€๋ง์ด ๊ธด ๋ฌธ์„œ๋ณด๋‹ค ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค: "์—…๋ฌด ์‹œ๊ฐ„์— ํ‚ค๋ฅผ ํšŒ์ „ํ•˜์„ธ์š”. ํŠธ๋ž˜ํ”ฝ์ด ์ „ํ™˜๋  ๋•Œ๊นŒ์ง€ ๋‘ ํ‚ค๋ฅผ ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์„ธ์š”." ๊ฐ™์€ ๋ฌธ๊ตฌ๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค.

๋น ๋ฅด๊ฒŒ ์…€ํ”„ ์„œ๋น„์Šค ํฌํ„ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋…ธ์ฝ”๋“œ ์ ‘๊ทผ๋ฒ•์œผ๋กœ ์ž˜ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: Keys ํ…Œ์ด๋ธ”, Scopes ํ…Œ์ด๋ธ”, Key-Scope ์กฐ์ธ, Logs ํ…Œ์ด๋ธ”, ๊ด€๋ฆฌ์ž์™€ ์ง€์› ์—ญํ• . On AppMaster (appmaster.io), you can design the database in the PostgreSQL Data Designer, implement rotation and approvals in the Business Process Editor, and ship an admin panel plus customer portal UI with flexible deployment options, including cloud hosting or source export.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
API ํ‚ค ํšŒ์ „ UX: ์Šค์ฝ”ํ”„, ์…€ํ”„์„œ๋น„์Šค ํ‚ค, ๊ทธ๋ฆฌ๊ณ  ๋กœ๊ทธ | AppMaster