2025๋…„ 8์›” 12์ผยท5๋ถ„ ์ฝ๊ธฐ

SCIM ํ”„๋กœ๋น„์ €๋‹ ๊ธฐ๋ณธ: ํ๋ฆ„, ํ•„๋“œ, ์•ˆ์ „ํ•œ ํ…Œ์ŠคํŠธ

IdP์™€ ์‚ฌ์šฉ์ž๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ SCIM ํ”„๋กœ๋น„์ €๋‹ ๊ธฐ์ดˆ: ์ƒ์„ฑยท์—…๋ฐ์ดํŠธยท๋น„ํ™œ์„ฑํ™” ํ๋ฆ„, ํ•„์ˆ˜ ํ•„๋“œ, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋žŒ์„ ์ž ๊ทธ์ง€ ์•Š๋Š” ์•ˆ์ „ํ•œ ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„.

SCIM ํ”„๋กœ๋น„์ €๋‹ ๊ธฐ๋ณธ: ํ๋ฆ„, ํ•„๋“œ, ์•ˆ์ „ํ•œ ํ…Œ์ŠคํŠธ

SCIM ํ”„๋กœ๋น„์ €๋‹์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ํŒ€๋“ค์ด ์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€

SCIM ํ”„๋กœ๋น„์ €๋‹์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ณ ํ†ต์Šค๋Ÿฌ์šด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค: ์•ฑ์˜ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์ด ์ ์  IdP(Identity Provider)์˜ ๋ชฉ๋ก๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์ฑ„์šฉ๋˜๊ฑฐ๋‚˜, ์ด๋ฆ„์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜, ํŒ€์„ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜, ํ‡ด์‚ฌํ•˜๋ฉด ์•ฑ์ด ๊ทธ ๋ณ€ํ™”๋ฅผ ์ฆ‰์‹œ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋น„์ €๋‹์€ IdP๊ฐ€ ์‚ฌ์šฉ์ž ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์•ฑ์œผ๋กœ ์ž๋™์œผ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์ดˆ๋Œ€ํ•˜๊ณ  ํ”„๋กœํ•„์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉฐ ์ ‘๊ทผ์„ ์ œ๊ฑฐํ•˜๋Š” ๋Œ€์‹ , ๋ณ€๊ฒฝ์€ IdP์—์„œ ์‹œ์ž‘๋˜๊ณ  ์•ฑ์ด ์ด๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์ดˆ๋Œ€์™€ ์˜คํ”„๋ณด๋”ฉ์ด ์ˆ˜๋™์ผ ๋•Œ ๊ฐ™์€ ์‹คํŒจ๊ฐ€ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ์‹ ๊ทœ ์ฑ„์šฉ์ž๋Š” ์ดˆ๋Œ€๊ฐ€ ๋ˆ„๋ฝ๋˜์–ด ์ ‘๊ทผ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ , ํ‡ด์‚ฌ์ž๋Š” ์˜คํ”„๋ณด๋”ฉ์ด ๋น ์ ธ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„, ์ด๋ฉ”์ผ, ๋ถ€์„œ ์ •๋ณด๊ฐ€ ๋„๊ตฌ๋ณ„๋กœ ์–ด๊ธ‹๋‚˜๊ณ  ๊ฐ์‚ฌ๊ฐ€ ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค. ์ง€์› ํ‹ฐ์ผ“์ด ์Œ“์ž…๋‹ˆ๋‹ค(๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€, ์ž˜๋ชป๋œ ๊ถŒํ•œ, ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ ๋…ธ์ถœ ๋“ฑ).

SCIM์€ ๋‚ด๋ถ€ ๋„๊ตฌ, ๊ด€๋ฆฌ์ž ํŒจ๋„, ๊ณ ๊ฐ ํฌํ„ธ์ฒ˜๋Ÿผ HR๊ณผ IT์˜ ๊ฒฐ์ •๊ณผ ์ ‘๊ทผ์„ ์ผ์น˜์‹œ์ผœ์•ผ ํ•˜๋Š” ๊ณณ์—์„œ ํŠนํžˆ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

SSO๋งŒ์œผ๋กœ๋Š” ๋ณดํ†ต ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. SSO๋Š” "์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ๋กœ๊ทธ์ธํ•˜๋‚˜?"์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค. SCIM์€ "์ด ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์— ์กด์žฌํ•ด์•ผ ํ•˜๋‚˜, ๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ ๊ณ„์ •์€ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์•ผ ํ•˜๋‚˜?"์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ์•„์ด๋””์–ด: ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋‹จ์ผ ์ถœ์ฒ˜(source of truth)

ํ•œ ๊ฐ€์ง€ ๊ทœ์น™์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”: ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด '์˜ณ์€' ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋‹จ์ผ ์‹œ์Šคํ…œ์„ ์„ ํƒํ•˜์„ธ์š”. ๋Œ€๋ถ€๋ถ„ ํšŒ์‚ฌ์—์„œ๋Š” ๊ทธ ์‹œ์Šคํ…œ์ด IdP(Okta, Azure AD, Google Workspace)์ž…๋‹ˆ๋‹ค.

IdP๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉฐ ๊ทธ๋ฃน์— ํ• ๋‹นํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณต๊ธ‰์ž(SP)๋Š” ๊ทธ ๊ฒฐ์ •์„ ๋ฐ›์•„ ์ž์ฒด ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๋Š” ์•ฑ์ž…๋‹ˆ๋‹ค. SaaS ์ œํ’ˆ์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์ž์ฒด ์ œ์ž‘ํ•œ ๋‚ด๋ถ€ ์•ฑ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

IdP๋ฅผ ์ง„์‹ค์˜ ์ถœ์ฒ˜๋กœ ์ •ํ•˜๋ฉด ์•ฑ์€ ๊ทธ๊ฒƒ์„ ๊ฑฐ์Šค๋ฅผ ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ IdP์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด, ์•ฑ์€ ๋กœ์ปฌ์—์„œ ๋ˆ„๊ตฐ๊ฐ€ ์žฌํ™œ์„ฑํ™”ํ•˜๋ ค ํ•ด๋„ ๊ทธ ์‚ฌ์šฉ์ž๋ฅผ ๋น„ํ™œ์„ฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฃน์ด ์ ‘๊ทผ์„ ์ขŒ์šฐํ•  ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

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

์ผ๋ฐ˜์ ์ธ ํ™œ๋™์€ HR๊ณผ IT ์ด๋ฒคํŠธ(์‹ ๊ทœ ์ฑ„์šฉ, ์—ญํ•  ๋ณ€๊ฒฝ, ํœด์ง, ํ•ด๊ณ )์— ์˜ํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ์™€ ๊ทธ๋ฃน ํ• ๋‹น์„ IdP์—์„œ ๊ด€๋ฆฌํ•˜๋ฉด ์ค‘๋ณต, "์œ ๋ น" ๊ณ„์ •, ํŒ€ ์ด๋™ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์ ‘๊ทผ ๊ณต๋ฐฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ˆ˜๋ช…์ฃผ๊ธฐ ํ๋ฆ„: ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ๋น„ํ™œ์„ฑํ™”

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

์ค‘์š”ํ•œ ์„ธ ๊ฐ€์ง€ ์ƒํƒœ

๋Œ€๋ถ€๋ถ„์˜ ํŒ€์€ ์„ธ ๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค:

  • Active(ํ™œ์„ฑ): ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆํ•˜๊ณ  ์ œํ’ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Inactive(๋น„ํ™œ์„ฑ/๋น„ํ™œ์„ฑํ™”): ๊ณ„์ •์€ ๋‚จ์•„ ์žˆ์ง€๋งŒ ์ ‘๊ทผ์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.
  • Deleted(์‚ญ์ œ): ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค(๋งŽ์€ ์•ฑ์ด ํ•˜๋“œ ์‚ญ์ œ๋ฅผ ํ”ผํ•˜๊ณ  ์ด๋ฅผ ๋น„ํ™œ์„ฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค).

**Create(์ƒ์„ฑ)**๋Š” ๋ณดํ†ต ๊ด€๋ฆฌ์ž๊ฐ€ IdP์—์„œ ์•ฑ์„ ํ•ด๋‹น ์ธ๋ฌผ์—๊ฒŒ ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ๋™๊ธฐํ™”๋œ ๊ทธ๋ฃน์— ๊ฐ€์ž…์‹œํ‚ฌ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. SCIM ์—”๋“œํฌ์ธํŠธ๋Š” ๋‚˜์ค‘์— ๊ทธ ์‚ฌ๋žŒ์„ ๋งค์นญํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: IdP๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” ์•ˆ์ •์ ์ธ ๊ณ ์œ  ID(์ข…์ข… SCIM์˜ id)์™€ ๋กœ๊ทธ์ธ ๊ฐ’(์ผ๋ฐ˜์ ์œผ๋กœ userName). ์•ฑ์—์„œ ์ด๋ฉ”์ผ์„ ์š”๊ตฌํ•œ๋‹ค๋ฉด ๋งคํ•‘์— ๋ช…์‹œํ•ด ์ƒ์„ฑ์ด ์ค‘๊ฐ„์— ์‹คํŒจํ•˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”.

**Update(์—…๋ฐ์ดํŠธ)**๋Š” IdP๊ฐ€ ํ”„๋กœํ•„ ํ•„๋“œ๋‚˜ ํ• ๋‹น์„ ๋ณ€๊ฒฝํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„, ์ด๋ฉ”์ผ, ๋ถ€์„œ ๋“ฑ ์‹๋ณ„ ๋ฐ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋˜ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋ฐ”๋€Œ์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”. ๊ฐ€์žฅ ๋ฏผ๊ฐํ•œ ํ•„๋“œ๋Š” ๋กœ๊ทธ์ธ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. userName์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ถˆ๋ณ€ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ™์€ ์‚ฌ๋žŒ์„ ๋งค์นญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ค‘๋ณต์ด ์ƒ๊น๋‹ˆ๋‹ค.

**Deactivate(๋น„ํ™œ์„ฑํ™”)**๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์ง€ ์•Š์œผ๋ฉด์„œ ์ ‘๊ทผ์„ ์‹ ์†ํžˆ ์ฐจ๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IdP๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ active=false๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์€ ์ด๋ฅผ "๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€, API ์‚ฌ์šฉ ๋ถˆ๊ฐ€"๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ์†Œ์œ ํ•œ ๋ ˆ์ฝ”๋“œ, ๊ฐ์‚ฌ ๊ธฐ๋ก, ์ฐธ์กฐ๋Š” ๋ณด์กดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

**Reactivate(์žฌํ™œ์„ฑํ™”)**๋Š” ๊ทธ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค. active=true๋Š” ๊ฐ™์€ ๊ณ„์ •์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๋ณต์›ํ•ด์•ผ ํ•˜๋ฉฐ ์ƒˆ ๊ณ„์ •์„ ๋งŒ๋“ค๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. IdP๊ฐ€ ๋™์ผ์ธ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๋ฉด ์•ฑ๋„ ๋™์ผ์ธ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์‚ฌ์ด์— ์ด๋ฉ”์ผ์ด๋‚˜ ํ‘œ์‹œ๋ช…์ด ๋ฐ”๋€Œ์—ˆ๋”๋ผ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

๋†€๋ผ์›€์„ ํ”ผํ•˜๋Š” ํ•„์ˆ˜ ํ•„๋“œ์™€ ์†์„ฑ ๋งคํ•‘

ํ”„๋กœ๋น„์ €๋‹์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ์•ฑ๊ณผ IdP๊ฐ€ ๋‘ ๊ฐ€์ง€์— ๋™์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ์‚ฌ์šฉ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ์‹๋ณ„ํ• ์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์†์„ฑ์„ IdP๊ฐ€ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋Š”์ง€.

๋ณดํ†ต ํ•„์š”ํ•œ ์ตœ์†Œ ํ•ญ๋ชฉ

SCIM์€ ์œ ์—ฐํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์•ฑ์€ ๋™์ผํ•œ ํ•ต์‹ฌ ์†์„ฑ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค:

  • ์•ˆ์ •์  ๊ณ ์œ  ์‹๋ณ„์ž (SCIM ๋ฆฌ์†Œ์Šค id, ์ข…์ข… IdP์˜ externalId์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ)
  • ์ด๋ฉ”์ผ ๋˜๋Š” ์‚ฌ์šฉ์ž๋ช… (๋ณดํ†ต userName, ๋กœ๊ทธ์ธ์— ์‚ฌ์šฉ๋จ)
  • ์ด๋ฆ„ (name.givenName๊ณผ name.familyName ๋˜๋Š” displayName)
  • ํ™œ์„ฑ ์ƒํƒœ (active: true/false)
  • ํƒ€์ž„์Šคํƒฌํ”„๋‚˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์„ ํƒ์ ์ด์ง€๋งŒ ๊ฐ์‚ฌ ๋ฐ ๋””๋ฒ„๊น…์— ์œ ์šฉ)

์‹๋ณ„์ž๊ฐ€ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ์€ ๊ณ ์œ ํ•ด ๋ณด์ด์ง€๋งŒ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ๋งŒ์œผ๋กœ ๋งค์นญํ•˜๋ฉด ๊ฒฐํ˜ผ, ๋ฆฌ๋ธŒ๋žœ๋”ฉ, ๋„๋ฉ”์ธ ์ด์ „ ๋“ฑ์œผ๋กœ ์ธํ•ด IdP๊ฐ€ ๊ธฐ์กด ์‚ฌ์šฉ์ž๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š๊ณ  ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“  ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ค‘๋ณต์œผ๋กœ ๊ฐ€๋Š” ํ”ํ•œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

IdP๊ฐ€ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์„ ๊ฒฐ์ •ํ•˜์„ธ์š”

๋ช…ํ™•ํ•œ ๊ทœ์น™์„ ์ •ํ•˜์„ธ์š”: ์–ด๋–ค ํ•„๋“œ๋Š” IdP ์†Œ์œ (IdP๊ฐ€ ํ•ญ์ƒ ์šฐ์„ )์ด๊ณ  ์–ด๋–ค ํ•„๋“œ๋Š” ์•ฑ ์†Œ์œ (์•ฑ์—์„œ ๋ณ€๊ฒฝํ•ด๋„ ๋ฎ์–ด์“ฐ์ง€ ์•Š์Œ)์ธ์ง€.

์ผ๋ฐ˜์ ์ด๊ณ  ์•ˆ์ „ํ•œ ๋ถ„ํ•  ์˜ˆ์‹œ:

  • IdP ์†Œ์œ : active, ์ด๋ฉ”์ผ/์‚ฌ์šฉ์ž๋ช…, given ๋ฐ family name, displayName
  • ์•ฑ ์†Œ์œ : ์•ฑ ํŠน์ • ํ”„๋กœํ•„ ํ•„๋“œ(ํ™˜๊ฒฝ์„ค์ •, ๋‚ด๋ถ€ ๋ฉ”๋ชจ ๋“ฑ)

์•ฑ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฆ„์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค๋ฉด, ๊ทธ ํŽธ์ง‘์ด ์œ ์ง€๋ ์ง€ SCIM ์—…๋ฐ์ดํŠธ ๋•Œ ๋ฎ์–ด์“ธ์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”. ์–ด๋А ์ชฝ์ด๋“  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์—‰์„ฑํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

๋นˆ ๊ฐ’๊ณผ ์ผ๊ด€์„ฑ ์—†๋Š” ํฌ๋งท์„ ์˜ˆ์ƒํ•˜์„ธ์š”. ์ผ๋ถ€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” displayName๋งŒ ๋ณด๋‚ด๊ณ , ๋‹ค๋ฅธ ๊ณณ์€ given/family name๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ๋Œ€์ฑ…์€ ํ•„์š”ํ•  ๋•Œ given๊ณผ family name์œผ๋กœ displayName์„ ๊ตฌ์„ฑํ•˜๊ณ , ์„ฑ์ด ์—†๋Š” ๊ฒฝ์šฐ๋„ ์šฐ์•„ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ค‘์š” ํ•„๋“œ๋Š” ๊ฒ€์ฆํ•˜์„ธ์š”. userName์ด ๋น„์–ด ์žˆ๊ฑฐ๋‚˜ ๋กœ๊ทธ์ธ์— ์ด๋ฉ”์ผ์ด ํ•„์š”ํ•˜์ง€๋งŒ ์ด๋ฉ”์ผ์ด ์•„๋‹Œ ๊ฐ’์ด ๋“ค์–ด์˜ค๋ฉด ๋ช…ํ™•ํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ์„ธ์š”. ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€๋Šฅํ•œ ์‚ฌ์šฉ์ž๋ฅผ ์กฐ์šฉํžˆ ์ƒ์„ฑํ•˜๋ฉด ๋А๋ฆฐ ์žฅ์• ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

๊ณ„์ • ๋งค์นญ ๋ฐฉ์‹๊ณผ ์ค‘๋ณต์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ 

Set up users and roles
Design PostgreSQL data models for users, groups, and roles without writing code.
Build Backend

"๋งค์นญ"์€ IdP์™€ ์•ฑ์ด ๋‘ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋™์ผ์ธ์ž„์— ๋™์˜ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๋น„์ €๋‹ ๋ฌธ์ œ๋Š” IdP๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ณด๋‚ผ ๋•Œ ์•ฑ์ด ๊ธฐ์กด ์‚ฌ์šฉ์ž๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์–ด๋–ค ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด์—‡์œผ๋กœ ๋งค์นญํ•ด์•ผ ํ•˜๋Š”๊ฐ€

๊ฐ€์žฅ ๋จผ์ € ์•ˆ์ •์ ์ด๊ณ  ์‚ฌ๋žŒ์ด ๋ฐ”๊พธ๊ธฐ ์–ด๋ ค์šด ์‹๋ณ„์ž๋กœ ๋งค์นญํ•˜์„ธ์š”. ์ด๋ฉ”์ผ๊ณผ ์‚ฌ์šฉ์ž๋ช…์€ ํ”„๋กœํ•„ ๋ฐ์ดํ„ฐ๋กœ ์ทจ๊ธ‰ํ•ด ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์„ธ์š”.

์ผ๋ฐ˜์ ์ธ ๋งค์นญ ํ‚ค(์‹ ๋ขฐ๋„ ๋†’์€ ์ˆœ):

  • IdP์˜ ๋ถˆ๋ณ€ ์™ธ๋ถ€ ID(immutable external ID)
  • SCIM id(์•ฑ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๋ณ„๋กœ ์•ˆ์ •์ )
  • ์ด๋ฉ”์ผ(์œ ์šฉํ•˜์ง€๋งŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)
  • ์‚ฌ์šฉ์ž๋ช…(์ข…์ข… ์ด๋ฆ„ ๋ณ€๊ฒฝ, ์žฌ์‚ฌ์šฉ ๋˜๋Š” ํฌ๋งท ์ฐจ์ด๊ฐ€ ์žˆ์Œ)

์•ฑ์ด ์ด๋ฉ”์ผ๋งŒ์œผ๋กœ ๋งค์นญํ•˜๋ฉด ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ์ด ์ƒˆ ์ธ๋ฌผ๋กœ ๋ณด์ด๋ฉฐ ์ค‘๋ณต์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋Œ€์‹  ์™ธ๋ถ€ ID๋ฅผ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์ด๋ฉ”์ผ์€ ์‹๋ณ„์„ ๋ฐ”๊พธ์ง€ ์•Š๋„๋ก ์—…๋ฐ์ดํŠธ๋งŒ ํ—ˆ์šฉํ•˜์„ธ์š”.

์ค‘๋ณต์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ 

์ค‘๋ณต์€ ๋ณดํ†ต ์„ธ ๊ฐ€์ง€ ์ƒํ™ฉ์—์„œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค:

  1. ์•ฑ์ด ๋ช…ํ™•ํ•œ ๋งค์นญ์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•„ IdP๊ฐ€ "์ƒ์„ฑ(create)"์„ ๋ณด๋ƒ„(ํ•„์ˆ˜ ์†์„ฑ ๋ˆ„๋ฝ ๋˜๋Š” ๋งคํ•‘ ์‹ค์ˆ˜๋กœ ์ธํ•ด).
  2. ์•ฑ์ด ์ด๋ฉ”์ผ์„ ๊ณ ์œ  ์‹๋ณ„์ž๋กœ ์ทจ๊ธ‰ํ•ด ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ์ด ๋‘ ๋ฒˆ์งธ ๊ณ„์ •์„ ๋งŒ๋“ฆ.
  3. ๋™์ผํ•œ ์‚ฌ๋žŒ์ด ๋‘ ๊ฒฝ๋กœ์—์„œ ํ”„๋กœ๋น„์ €๋‹๋จ(๋‘ IdP ๋˜๋Š” ์ˆ˜๋™ ์ดˆ๋Œ€ + SCIM).

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

๋งŒ์•ฝ ๋‘ IdP ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜์˜ ์•ฑ ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค๋ฉด ์ž๋™ ๋ณ‘ํ•ฉํ•˜์ง€ ๋งˆ์„ธ์š”. ํ•ด๋‹น ๊ณ„์ •์— ๋Œ€ํ•ด SCIM์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ณ , ์–ด๋–ค IdP ์ •์ฒด์„ฑ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ๊ฒฐ์ •ํ•œ ๋’ค ์™ธ๋ถ€ ID๋กœ ์žฌ์—ฐ๊ฒฐํ•˜๊ณ  ์ž˜๋ชป๋œ ๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ์‚ฌ ๊ธฐ๋ก์ด ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฃน, ์—ญํ• , ์ ‘๊ทผ: ๊ทœ์น™์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ

SCIM์ด ์‚ฌ์šฉ์ž์™€ ๊ทธ๋ฃน์„ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๊ฐ€์žฅ ํฐ ์œ„ํ—˜์€ ๋†€๋ผ์šด ์ ‘๊ทผ ๊ถŒํ•œ ๋ถ€์—ฌ์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”: IdP ๊ทธ๋ฃน์„ ๊ธฐ์ค€์œผ๋กœ ์ ‘๊ทผ์„ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜, ์•ฑ ๋‚ด๋ถ€์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ๊ธฐ์ค€์œผ๋กœ ์ ‘๊ทผ์„ ๋ถ€์—ฌํ•˜์„ธ์š”. ๋‘˜์„ ๋ช…ํ™•ํ•œ ๊ทœ์น™ ์—†์ด ์„ž์œผ๋ฉด "์™œ ๊ถŒํ•œ์ด ์ƒ๊ฒผ์ง€?"๋ผ๋Š” ์‚ฌ๊ฑด์ด ์ƒ๊น๋‹ˆ๋‹ค.

๊ทธ๋ฃน ๊ธฐ๋ฐ˜ ์ ‘๊ทผ์€ ์ด๋ฏธ ๊ด€๋ฆฌ์ž๊ฐ€ ํŒ€ ๋ฉค๋ฒ„์‹ญ์„ ๊ด€๋ฆฌํ•˜๋Š” IdP๊ฐ€ ์žˆ์„ ๋•Œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ์€ ์•ฑ ์†Œ์œ ์ž๊ฐ€ IdP๋ฅผ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ  ๊ถŒํ•œ์„ ๋ฏธ์„ธ ์กฐ์ •ํ•  ๋•Œ ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋‘˜์„ ๋ณ‘์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์ถฉ๋Œ ์‹œ ๋ˆ„๊ฐ€ ์šฐ์„ ํ•˜๋Š”์ง€ ์ •์˜ํ•˜์„ธ์š”.

๊ธฐ๋ณธ๊ฐ’์€ ๋ณด์ˆ˜์ ์œผ๋กœ ๋‘์„ธ์š”. ๊ทธ๋ฃน ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์—ฐ๋˜๊ฑฐ๋‚˜ ๋ˆ„๋ฝ๋˜๋ฉด(์ฒซ ๋™๊ธฐํ™” ์ค‘์— ํ”ํ•จ) ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๋”๋ผ๋„ ๋ฏผ๊ฐํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์€ ๋ถ€์—ฌํ•˜์ง€ ๋งˆ์„ธ์š”. "๊ทธ๋ฃน ์—†์Œ"์„ ์ถ”์ธกํ•˜์ง€ ๋ง๊ณ  "์ ‘๊ทผ ์—†์Œ"์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์„ธ์š”.

์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ทœ์น™ ์„ธํŠธ:

  • ์‚ฌ์šฉ์ž ์ƒ์„ฑ: ์ตœ์†Œ ๊ถŒํ•œ์˜ ๊ธฐ๋ณธ ์—ญํ• ์„ ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ์—ญํ•  ์—†์Œ.
  • ๊ทธ๋ฃน ์ถ”๊ฐ€: ํ•ด๋‹น ๊ทธ๋ฃน์— ์—ฐ๊ฒฐ๋œ ์ ‘๊ทผ ๋ถ€์—ฌ.
  • ๊ทธ๋ฃน ์ œ๊ฑฐ: ํ•ด๋‹น ์ ‘๊ทผ ์ฆ‰์‹œ ์ œ๊ฑฐ.
  • ์‚ฌ์šฉ์ž ๋น„ํ™œ์„ฑํ™”: ๊ทธ๋ฃน๊ณผ ์ƒ๊ด€์—†์ด ๋กœ๊ทธ์ธ ์ฐจ๋‹จ ๋ฐ ์ ‘๊ทผ ์ฒ ํšŒ.
  • ์‚ฌ์šฉ์ž ์žฌํ™œ์„ฑํ™”: ํ˜„์žฌ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ์— ๋”ฐ๋ผ ์ ‘๊ทผ๋งŒ ๋ณต์›.

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

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

๋‹จ๊ณ„๋ณ„: ์‚ฌ๋žŒ์„ ์ž ๊ทธ์ง€ ์•Š๊ณ  SCIM ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

Model lifecycle flows fast
Create onboarding, role changes, and offboarding flows with drag-and-drop business logic.
Start Building

๋ถ„๋ฆฌ๋œ ๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ(๋ณ„๋„ ํ…Œ๋„ŒํŠธ, ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋˜๋Š” ์Šคํ…Œ์ด์ง• ์ธ์Šคํ„ด์Šค)์—์„œ ๊นจ๋—ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๋ช‡ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๊ณ„์ •์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ๋จผ์ € ๊ทธ๊ณณ์—์„œ ํ”„๋กœ๋น„์ €๋‹์„ ์ผญ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐํ•˜๊ธฐ ์ „์— SCIM์œผ๋กœ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๋ธŒ๋ ˆ์ดํฌ๊ธ€๋ž˜์Šค ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ๋งŒ๋“œ์„ธ์š”. ๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๊ณ  IdP์˜ SCIM ํ• ๋‹น์—์„œ ์ œ์™ธํ•˜์„ธ์š”. ํ”„๋กœ๋น„์ €๋‹์ด ์ •์ƒ ๊ด€๋ฆฌ์ž ์ ‘๊ทผ์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์„ ๋•Œ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ž‘์€ ํŒŒ์ผ๋Ÿฟ ๊ทธ๋ฃน(2~5๋ช…)์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ๊ด€๋ฆฌ์ž 1๋ช…๊ณผ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž 1๋ช…์„ ํฌํ•จํ•˜์„ธ์š”. ํŒŒ์ผ๋Ÿฟ์ด ์™„์ „ํžˆ ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•  ๋•Œ๊นŒ์ง€ ์ „์ฒด ํšŒ์‚ฌ์— ํ”„๋กœ๋น„์ €๋‹์„ ์ ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

์œ„ํ—˜ํ•œ ๋ถ€๋ถ„์„ ์ ๊ฒ€ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ํ”Œ๋žœ:

  • Create(์ƒ์„ฑ): IdP์—์„œ ์ƒˆ ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์•ฑ์— ์˜ฌ๋ฐ”๋ฅธ ์ด๋ฆ„, ์ด๋ฉ”์ผ, ์ƒํƒœ๋กœ ๊ณ„์ •์ด ์ƒ์„ฑ๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • Update(์—…๋ฐ์ดํŠธ): ํ•„๋“œ ํ•˜๋‚˜(์ข…์ข… ์ด๋ฉ”์ผ)๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์•ฑ์ด ๊ฐ™์€ ์‚ฌ์šฉ์ž๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š”์ง€, ์ค‘๋ณต์„ ๋งŒ๋“ค์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • Deactivate(๋น„ํ™œ์„ฑํ™”): ํ• ๋‹น์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์•ฑ์ด ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•˜๋˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • Reactivate(์žฌํ™œ์„ฑํ™”): ์‚ฌ์šฉ์ž๋ฅผ ๋‹ค์‹œ ํ• ๋‹นํ•˜๊ณ  ๊ฐ™์€ ๊ณ„์ •์ด ์žฌํ™œ์„ฑํ™”๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • ๋ฐ˜๋ณต: ๋™์ผํ•œ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ด "์ฒ˜์Œ ์‹คํ–‰๋งŒ" ๋ฐœ์ƒํ•˜๋Š” ๋™์ž‘์„ ์žก์•„๋‚ด์„ธ์š”.

UI๋งŒ ๋ฏฟ์ง€ ๋งˆ์„ธ์š”. IdP์™€ ์•ฑ ์–‘์ชฝ์—์„œ SCIM ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๊ณ  ํƒ€์ž„์Šคํƒฌํ”„(์–ธ์ œ IdP๊ฐ€ ๋ณ€๊ฒฝ์„ ๋ณด๋ƒˆ๋Š”์ง€, ์–ธ์ œ ์•ฑ์ด ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€, ์–ด๋–ค ํ•„๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€)๋ฅผ ๋น„๊ตํ•˜์„ธ์š”.

์–ด๋–ค ๋‹จ๊ณ„์—์„œ๋“  ๋‘ ๋ฒˆ์งธ ๊ณ„์ •์ด ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ์‚ฌ์šฉ์ž๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌ์ž ์ ‘๊ทผ์ด ์‚ฌ๋ผ์ง€๋ฉด ๋กค์•„์›ƒ์„ ์ค‘๋‹จํ•˜๊ณ  ๋งค์นญ๊ณผ ์†์„ฑ ๋งคํ•‘์„ ์ˆ˜์ •ํ•œ ๋’ค ํŒŒ์ผ๋Ÿฟ์„ ๋„˜๊ธฐ์„ธ์š”.

์ž ๊ธˆ ๋˜๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š” ํ”ํ•œ ์‹ค์ˆ˜

Handle offboarding the right way
Add safe deactivate and reactivate behavior without deleting business data.
Get Started

๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋Š” "SCIM ์ž์ฒด์˜ ๋ฒ„๊ทธ"๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์„ค์ • ์ค‘์—” ์‚ฌ์†Œํ•ด ๋ณด์˜€๋˜ ๊ฐ€์ •์ด ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋ฉด์„œ ๊นจ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋งค์นญ ๊ทœ์น™๊ณผ ๊ธฐ๋ณธ๊ฐ’์ด ์ปค๋„ฅํ„ฐ๋ณด๋‹ค ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ณดํ†ต ์ž ๊ธˆ์„ ์œ ๋ฐœํ•˜๋Š” ์‹ค์ˆ˜

์ผ๋ฐ˜์ ์ธ ํŒจํ„ด:

  • ๋А์Šจํ•œ ๋งค์นญ(์˜ˆ: ์ด๋ฉ”์ผ๋งŒ์œผ๋กœ ๋งค์นญํ•˜๊ฑฐ๋‚˜ ๋™์ผ ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง„ ๋ณต์ˆ˜ ์‚ฌ์šฉ์ž๋ฅผ ํ—ˆ์šฉ).
  • ์ด๋ฉ”์ผ์„ ์˜๊ตฌ ID๋กœ ์ทจ๊ธ‰(์ด๋ฉ”์ผ์€ ์ด๋ฆ„ ๋ณ€๊ฒฝ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์žฌ์‚ฌ์šฉ์ด ๋ฐœ์ƒํ•จ).
  • SCIM์ด ์ˆ˜๋™ ์ˆ˜์ •์„ ๋ฎ์–ด์จ๋„ ์•„๋ฌด๋„ ๋ชจ๋ฅด๊ฒŒ ๋‚ด๋ฒ„๋ ค ๋‘ (IdP๋Š” ์ž์‹ ์˜ ๊ด€์ ์„ ๊ณ„์† ์žฌ์ ์šฉํ•จ).
  • ์ƒ์„ฑ ์‹œ ๊ด‘๋ฒ”์œ„ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ธฐ๋ณธ์œผ๋กœ ๋ถ€์—ฌํ•˜๊ณ  ๋‚˜์ค‘์— ์กฐ์ •ํ•˜์ง€ ์•Š์Œ.
  • ํŒŒ์ผ๋Ÿฟ ์ „์— ์ „์ฒด ์‚ฌ์šฉ์ž ๋Œ€์ƒ ํ”„๋กœ๋น„์ €๋‹์„ ์ผœ ํ•œ ๋งคํ•‘ ์‹ค์ˆ˜๊ฐ€ ์ „์ฒด ํšŒ์‚ฌ์— ์˜ํ–ฅ์„ ์คŒ.

์‹ค์ œ ์‹คํŒจ ์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ: ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ์ค‘ IT๊ฐ€ ์ด๋ฉ”์ผ์„ ์ผ๊ด„ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ฑ์ด ์ด๋ฉ”์ผ๋กœ ๋งค์นญํ•  ๊ฒฝ์šฐ ๊ธฐ์กด ๊ณ„์ •์„ ์ฐพ์ง€ ๋ชปํ•ด ์ƒˆ ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ , ๊ธฐ์กด ๊ณ„์ •์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ๋‘ ๊ฐœ์˜ ํ”„๋กœํ•„๊ณผ ๊นจ์ง„ ์ด๋ ฅ, ๊ทธ๋ฆฌ๊ณ  ์ ์ ˆํ•œ ์ ‘๊ทผ์„ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•

IdP์˜ ๋ถˆ๋ณ€ ์‚ฌ์šฉ์ž ID ๊ฐ™์€ ์•ˆ์ •์ ์ธ ๊ณ ์œ  ์‹๋ณ„์ž๋กœ ๋งค์นญํ•˜๊ณ  ์ด๋ฉ”์ผ์€ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๊ฐ’์œผ๋กœ ๋‹ค๋ฃจ์„ธ์š”.

์•ฑ์—์„œ ๋ˆ„๊ฐ€ ์‚ฌ์šฉ์ž ํ•„๋“œ๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”. SCIM์ด ์ง„์‹ค์˜ ์ถœ์ฒ˜๋ผ๋ฉด IdP ์†Œ์œ  ํ•„๋“œ์— ๋Œ€ํ•ด ์ˆ˜๋™ ํŽธ์ง‘์„ ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ๊ณง ๋ฎ์–ด์จ์งˆ ๊ฒƒ์ž„์„ ๋ช…ํ™•ํžˆ ํ‘œ์‹œํ•˜์„ธ์š”.

์ž‘์€ ํŒŒ์ผ๋Ÿฟ๊ณผ ์ตœ์†Œ ๊ถŒํ•œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ํ๋ฆ„์„ ์‹ ๋ขฐํ•œ ๋’ค ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•˜๋Š” ํŽธ์ด, ๊ณผ๋‹ค ๊ถŒํ•œ ๋ถ€์—ฌ๋‚˜ ์ž˜๋ชป๋œ ๋น„ํ™œ์„ฑํ™” ์ดํ›„ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์‰ฝ์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ SCIM์„ ์ ์šฉํ•˜๊ธฐ ์ „์— ํ™•์ธํ•  ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

ํŒŒ์ผ๋Ÿฟ์„ ๋„˜๊ธฐ๊ธฐ ์ „์— ์ „์ฒด ์ˆ˜๋ช…์ฃผ๊ธฐ(์ƒ์„ฑ, ๊ฐ™์€ ๊ณ„์ •์˜ ์—…๋ฐ์ดํŠธ, ์ ‘๊ทผ ์ œ๊ฑฐ)๋ฅผ ๊ฒ€์ฆํ•˜์„ธ์š”.

IdP์—์„œ ์‹ค์ œ ์ง์›์ด ์•„๋‹Œ ์ƒˆ๋กœ์šด ํ…Œ์ŠคํŠธ ID ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค์–ด ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ณ  ์•ฑ์—์„œ ์˜ˆ์ƒ๋˜๋Š” ์‚ฌ์šฉ์ž๋ช…, ์ด๋ฉ”์ผ, ํ‘œ์‹œ๋ช…, ์ƒํƒœ๋กœ ๊ณ„์ •์ด ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

๊ทธ ๋‹ค์Œ ๋ณ€๊ฒฝ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. IdP์—์„œ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์•ฑ์—์„œ ํ•œ ์‚ฌ์šฉ์ž ๋ ˆ์ฝ”๋“œ๋งŒ ์—…๋ฐ์ดํŠธ๋˜๋Š”์ง€(๋‘ ๋ฒˆ์งธ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”์ง€) ํ™•์ธํ•˜์„ธ์š”.

๋งˆ์ง€๋ง‰์œผ๋กœ ์ œ๊ฑฐ ๋ฐ ๋ณต๊ตฌ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”. IdP์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฐ ์ ‘๊ทผ์ด ์ œ๊ฑฐ๋˜๋Š”์ง€ ํ™•์ธํ•œ ๋‹ค์Œ ์žฌํ™œ์„ฑํ™”ํ•ด ๊ถŒํ•œ์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ(์˜ฌ๋ฐ”๋ฅธ ์—ญํ• ยท๊ทธ๋ฃน, ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์šฐ์—ฐํžˆ ๋ถ€์—ฌ๋˜์ง€ ์•Š์Œ) ๋ณต์›๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

๊ฐ„๋‹จํ•œ ๊ณ -๋ผ์ด๋ธŒ ์ฒดํฌ๋ฆฌ์ŠคํŠธ:

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

ํ˜„์‹ค์ ์ธ ์˜ˆ: ํŒ€์› ์˜จ๋ณด๋”ฉ๊ณผ ์˜คํ”„๋ณด๋”ฉ

Pilot SCIM changes safely
Build a staging version of your app to test create, update, and deactivate flows safely.
Prototype Now

์˜ˆ๋ฅผ ๋“ค์–ด ์ง์› 200๋ช… ๊ทœ๋ชจ์˜ ํšŒ์‚ฌ๊ฐ€ IdP์™€ SCIM์œผ๋กœ ๋‚ด๋ถ€ ๋„๊ตฌ ์ ‘๊ทผ์„ ๊ด€๋ฆฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์›”์š”์ผ์— Maya๊ฐ€ Sales Ops์— ํ•ฉ๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. IT๊ฐ€ IdP์—์„œ ์•ฑ์„ Maya์—๊ฒŒ ํ• ๋‹นํ•˜๋ฉด SCIM์ด **Create(์ƒ์„ฑ)**์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์— ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ณ ์œ  ์‹๋ณ„์ž, ์ด๋ฉ”์ผ, "Sales Ops" ๋ถ€์„œ ๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฃน์ด ์ ‘๊ทผ์„ ๋ถ€์—ฌํ•œ๋‹ค๋ฉด ์•ฑ์€ ํ•ด๋‹น ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ์„ ๋ฐ›์•„ ์˜ฌ๋ฐ”๋ฅธ ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

๋ชฉ์š”์ผ์— Maya๊ฐ€ RevOps๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ **Update(์—…๋ฐ์ดํŠธ)**๋ฅผ ์ด‰๋ฐœํ•ฉ๋‹ˆ๋‹ค. Maya๋Š” ๊ฐ™์€ ์‚ฌ๋žŒ(๋™์ผํ•œ ์™ธ๋ถ€ ID)์ด์ง€๋งŒ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ์ด ๋ถ€์„œ๋‚˜ ๊ทธ๋ฃน์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค๋ฉด ์ด๋•Œ ์‹ค์ˆ˜๊ฐ€ ๋“œ๋Ÿฌ๋‚˜๋ฏ€๋กœ ์ฆ‰์‹œ ํ™•์ธํ•˜์„ธ์š”.

์›”๋ง์— Maya๊ฐ€ ํ‡ด์‚ฌํ•˜๋ฉด IdP๊ฐ€ ๊ณ„์ •์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ์•ฑ ํ• ๋‹น์„ ์ œ๊ฑฐํ•˜๊ณ  SCIM์ด Deactivate(๋น„ํ™œ์„ฑํ™”)(active=false ๊ฐ™์€ ์—…๋ฐ์ดํŠธ)๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. Maya๋Š” ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์—†์ง€๋งŒ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์†Œ์œ ๋กœ ๋‚จ์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌ์ž๋Š” ๋นจ๋ฆฌ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

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

๊ณ„์•ฝ์ง์— ์ž„์‹œ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋ฉด Maya์˜ ๊ณ„์ •์„ ์žฌ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. IdP์— ๋ณ„๋„ ๊ณ„์•ฝ์ž ์ •์ฒด์„ฑ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ธฐ๊ฐ„์ด ์ •ํ•ด์ง„ ๊ทธ๋ฃน์— ๋„ฃ์–ด ํ”„๋กœ๋น„์ €๋‹์œผ๋กœ ์ œ๊ฑฐ๋ฅผ ๊ด€๋ฆฌํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„: ์•ˆ์ „ํ•˜๊ฒŒ ๋กค์•„์›ƒํ•˜๊ณ  ์œ ์ง€๊ด€๋ฆฌํ•˜๊ธฐ

ํ”„๋กœ๋น„์ €๋‹์€ ์ž‘๋™์‹œํ‚ค๊ธฐ ์‰ฌ์›Œ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ž˜ ์šด์˜ํ•˜๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทœ์น™, ์†Œ์œ ์ž, ๋ณ€๊ฒฝ ๋กœ๊ทธ๊ฐ€ ์žˆ๋Š” ์ž‘์€ ์‹œ์Šคํ…œ์œผ๋กœ ๋‹ค๋ฃจ์„ธ์š”.

์†์„ฑ ๋งคํ•‘๊ณผ ์ ‘๊ทผ ๊ทœ์น™์„ ํ•œ ๊ณณ์— ์ ์–ด๋‘์„ธ์š”: ์–ด๋–ค IdP ํ•„๋“œ๊ฐ€ username, email, name, department, manager๋ฅผ ์ฑ„์šฐ๋Š”์ง€, ์–ด๋–ค ๊ทธ๋ฃน์ด ์–ด๋–ค ์ ‘๊ทผ์„ ๋ถ€์—ฌํ•˜๋Š”์ง€. ๋ˆ„๊ฐ€ ์™œ ์‚ฌ๋žŒ์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๋Š”์ง€ ์งˆ๋ฌธ์ด ๋“ค์–ด์™”์„ ๋•Œ ํ•œ ๊ฐ€์ง€ ํ™•์‹คํ•œ ๋‹ต์„ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ˜„์‹ค๊ฐ ์žˆ๋Š” ํŒŒ์ผ๋Ÿฟ์„ ์„ ํƒํ•˜๋˜ ๋˜๋Œ๋ฆฌ๊ธฐ ์‰ฌ์šด ๊ทœ๋ชจ๋กœ ์„ค์ •ํ•˜์„ธ์š”. ์ฒดํฌํฌ์ธํŠธ(1์ผ์ฐจ, 1์ฃผ์ฐจ, 2์ฃผ์ฐจ)๋ฅผ ์ •์˜ํ•˜๊ณ  ๋กค๋ฐฑ ๋‹จ๊ณ„(ํ• ๋‹น ์ผ์‹œ์ค‘์ง€, SCIM ์ค‘์ง€, ์ ‘๊ทผ ๋ณต์›)๋ฅผ ๋ช…์‹œํ•˜๋ฉฐ ๋ธŒ๋ ˆ์ดํฌ๊ธ€๋ž˜์Šค ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ SCIM ๋ฒ”์œ„ ๋ฐ–์— ๋‘์„ธ์š”.

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

์ง์ ‘ ์•ฑ์„ ๊ฐœ๋ฐœ ์ค‘์ด๋ผ๋ฉด ์‚ฌ์šฉ์ž ์ƒ์„ฑ, ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ, ๋น„ํ™œ์„ฑํ™”, ์—ญํ•  ํ• ๋‹น์„ ์ดˆ๊ธฐ ์„ค๊ณ„์— ํฌํ•จํ•˜์„ธ์š”. ์ด๋Ÿฐ ๊ธฐ๋Šฅ์ด 1์ˆœ์œ„ ๊ธฐ๋Šฅ์ผ ๋•Œ ์ดํ›„ ์ž‘์—…์ด ํ›จ์”ฌ ์ˆ˜์›”ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ๋„๊ตฌ๋ฅผ ์‹œ์ œํ’ˆ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค๋ฉด AppMaster (appmaster.io)๋Š” ๋ฐฑ์—”๋“œ, ์›น ์•ฑ, ๋ชจ๋ฐ”์ผ ์•ฑ์„ ํ•œ ๊ณณ์—์„œ ๊ตฌ์ถ•ํ•œ ๋’ค ์‚ฌ์šฉ์ž ๋ชจ๋ธ๊ณผ ์ ‘๊ทผ ๊ทœ์น™์ด ์•ˆ์ •๋˜์—ˆ์„ ๋•Œ API๋ฅผ ํ†ตํ•ด SCIM์„ ์—ฐ๊ฒฐํ•˜๋Š” ์‹ค์šฉ์ ์ธ ๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

What does SCIM provisioning actually do?

SCIM ํ”„๋กœ๋น„์ €๋‹์€ ์•ฑ์˜ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์„ IdP(Identity Provider)์™€ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์ฑ„์šฉ๋˜๊ฑฐ๋‚˜ ์ด๋ฆ„์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ํŒ€์„ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜ ํ‡ด์‚ฌํ•˜๋ฉด IdP๊ฐ€ ๊ทธ ๋ณ€๊ฒฝ์„ ์•ฑ์— ์ „์†กํ•ด ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ดˆ๋Œ€, ์ˆ˜์ •, ์ œ๊ฑฐํ•  ํ•„์š”๊ฐ€ ์—†๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

How is SCIM different from SSO?

SSO๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ธ์ฆํ•˜๋Š”์ง€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. SCIM์€ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์— ์กด์žฌํ•ด์•ผ ํ•˜๋Š”์ง€, ํ™œ์„ฑ์ธ์ง€ ๋น„ํ™œ์„ฑ์ธ์ง€, ํ˜„์žฌ ํ”„๋กœํ•„ ํ•„๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋‘˜์„ ํ•จ๊ป˜ ์“ฐ๋ฉด โ€œ๋กœ๊ทธ์ธ์€ ๋˜์ง€๋งŒ ๊ณ„์ •์ด ์—†์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐโ€๋‚˜ โ€œ๊ณ„์ •์€ ์žˆ์ง€๋งŒ ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐโ€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

Who should be the source of truth: the IdP or the app?

์‹ ์› ํ•„๋“œ์™€ ์ˆ˜๋ช…์ฃผ๊ธฐ ์ƒํƒœ์— ๋Œ€ํ•ด์„œ๋Š” IdP๋ฅผ ์ง„์‹ค์˜ ์ถœ์ฒ˜(source of truth)๋กœ ๊ฐ„์ฃผํ•˜๊ณ , ์•ฑ์€ ๊ทธ์— ๋งž์ถฐ ์ผ๊ด€๋˜๊ฒŒ ๋”ฐ๋ฅด์„ธ์š”. ์•ฑ์—์„œ ๋กœ์ปฌ ์ˆ˜์ •์„ ํ—ˆ์šฉํ•œ๋‹ค๋ฉด, ์–ด๋–ค ํ•„๋“œ๋ฅผ IdP๊ฐ€ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฏธ๋ฆฌ ์ •ํ•ด ํ˜ผ๋ž€์„ ํ”ผํ•˜์„ธ์š”.

What user lifecycle states should my app support for SCIM?

๋Œ€๋ถ€๋ถ„์˜ ํŒ€์€ ์„ธ ๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: active(ํ™œ์„ฑ), inactive(๋น„ํ™œ์„ฑ/๋น„ํ™œ์„ฑํ™”), deleted(์‚ญ์ œ). ์‹ค์ œ ์šด์˜์—์„œ๋Š” ํ•˜๋“œ ์‚ญ์ œ๋ฅผ ํ”ผํ•˜๊ณ  ๋น„ํ™œ์„ฑํ™”๋ฅผ ์‚ฌ์šฉํ•ด ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•˜๋ฉด์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ์ดํ„ฐ์™€ ๊ฐ์‚ฌ ๊ธฐ๋ก์€ ๋‚จ๊ธฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

Which fields are the minimum needed to support SCIM safely?

IdP๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์•ˆ์ •์ ์ธ ๊ณ ์œ  ์‹๋ณ„์ž(๋ณดํ†ต SCIM์˜ ์‚ฌ์šฉ์ž id ๋˜๋Š” IdP์˜ immutable ID)์™€ ๋กœ๊ทธ์ธ ๊ฐ’(userName ๋“ฑ), ๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ•„๋“œ(์˜ˆ: ์ด๋ฉ”์ผ)๋ฅผ ์ €์žฅํ•˜์„ธ์š”. ์•ˆ์ •์  ID๊ฐ€ ์žˆ์–ด์•ผ ์ด๋ฉ”์ผ์ด๋‚˜ ์‚ฌ์šฉ์ž๋ช…์ด ๋ฐ”๋€Œ์–ด๋„ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Should I match users by email or by an external ID?

ํ•ญ์ƒ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์‹๋ณ„์ž(immutable identifier)๋ฅผ ์šฐ์„ ์œผ๋กœ ๋งค์นญํ•˜์„ธ์š”. ์ด๋ฉ”์ผ๊ณผ ์‚ฌ์šฉ์ž๋ช…์€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ผ์œผ๋ฉด ์ค‘๋ณต์„ ์ดˆ๋ž˜ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

How do I avoid SCIM updates overwriting the wrong things?

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

Whatโ€™s the safest way to test SCIM without locking people out?

๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ(๋ณ„๋„ ํ…Œ๋„ŒํŠธ, ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋˜๋Š” ์Šคํ…Œ์ด์ง• ์ธ์Šคํ„ด์Šค)์—์„œ ์ž‘์€ ํŒŒ์ผ๋Ÿฟ์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. SCIM์œผ๋กœ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๋ธŒ๋ ˆ์ดํฌ๊ธ€๋ž˜์Šค ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ๋งŒ๋“ค์–ด๋‘๊ณ , ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ(ํŠนํžˆ ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ), ๋น„ํ™œ์„ฑํ™”, ์žฌํ™œ์„ฑํ™”๋ฅผ ํ…Œ์ŠคํŠธํ•ด ํ•ญ์ƒ ๊ฐ™์€ ์‚ฌ์šฉ์ž ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

Why do duplicates happen, and how do I fix them?

์ค‘๋ณต์€ ๋ณดํ†ต ์ด๋ฉ”์ผ๋งŒ์œผ๋กœ ๋งค์นญํ•  ๋•Œ, ์ƒ์„ฑ ์‹œ ํ•„์ˆ˜ ์†์„ฑ์ด ๋น ์กŒ์„ ๋•Œ, ๋˜๋Š” ๋™์ผ ์ธ๋ฌผ์„ ๋‘ ๊ฒฝ๋กœ(์ˆ˜๋™ ์ดˆ๋Œ€ + SCIM, ๋˜๋Š” ์—ฌ๋Ÿฌ IdP)๋กœ ํ”„๋กœ๋น„์ €๋‹ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๊ถŒ์œ„ ์žˆ๋Š” ํ•˜๋‚˜์˜ ID๋ฅผ ์„ ํƒํ•˜๊ณ  ์˜ํ–ฅ์„ ๋ฐ›์€ ๊ณ„์ •์— ๋Œ€ํ•ด ํ”„๋กœ๋น„์ €๋‹์„ ์ผ์‹œ ์ค‘์ง€ํ•œ ํ›„ ์ •๋ฆฌ(์žฌ์—ฐ๊ฒฐ)ํ•˜์„ธ์š”. ์ž๋™ ๋ณ‘ํ•ฉ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

How should groups and roles work with SCIM so access stays predictable?

๊ธฐ๋ณธ ์›์น™์€ ์ตœ์†Œ ๊ถŒํ•œ(least privilege)์ž…๋‹ˆ๋‹ค: ๊ณ„์ •์„ ์ƒ์„ฑํ•  ๋•Œ ๊ธฐ๋ณธ ๊ถŒํ•œ์„ ์ตœ์†Œ๋กœ ๋‘๊ณ , ๊ทธ๋ฃน์ด๋‚˜ ์—ญํ•  ์ •๋ณด๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ๊ทธ๋•Œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์„ธ์š”. ๊ทธ๋ฃน ์ •๋ณด๊ฐ€ ์—†๊ฑฐ๋‚˜ ์ง€์—ฐ๋  ๊ฒฝ์šฐ โ€˜์ ‘๊ทผ ์—†์Œโ€™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋น„ํ™œ์„ฑํ™”๋Š” ํ•ญ์ƒ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ๋ณด๋‹ค ์šฐ์„ ํ•ด ์˜คํ”„๋ณด๋”ฉ์„ ํ™•์‹คํžˆ ํ•˜์„ธ์š”.

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

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

์‹œ์ž‘ํ•˜๋‹ค
SCIM ํ”„๋กœ๋น„์ €๋‹ ๊ธฐ๋ณธ: ํ๋ฆ„, ํ•„๋“œ, ์•ˆ์ „ํ•œ ํ…Œ์ŠคํŠธ | AppMaster