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

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ SSO: SAML/OIDC ํด๋ ˆ์ž„์„ ์—ญํ• ๊ณผ ํŒ€์— ๋งคํ•‘ํ•˜๊ธฐ

๋‚ด๋ถ€ ์•ฑ์šฉ SSO๋ฅผ ๋” ์•ˆ์ „ํ•˜๊ฒŒ: SAML ๋˜๋Š” OIDC ํด๋ ˆ์ž„์„ ์—ญํ• ๊ณผ ํŒ€์œผ๋กœ ๋งคํ•‘ํ•˜๊ณ , ๊ณ„์ • ์—ฐ๊ฒฐ์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜์„ธ์š”.

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ SSO: SAML/OIDC ํด๋ ˆ์ž„์„ ์—ญํ• ๊ณผ ํŒ€์— ๋งคํ•‘ํ•˜๊ธฐ

ํด๋ ˆ์ž„ ๋งคํ•‘์ด ๋‚ด๋ถ€ ์•ฑ์—์„œ ์ค‘์š”ํ•œ ์ด์œ 

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

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

ํด๋ ˆ์ž„ ๋งคํ•‘์€ IdP(Identity Provider)๊ฐ€ ๋ณด๋‚ด๋Š” ์ •์ฒด์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃน, ๋ถ€์„œ, ์ง์ฑ… ๋“ฑ์—์„œ ์•ฑ์ด ์ดํ•ดํ•˜๋Š” ๊ถŒํ•œ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ๋‹ค์Œ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  • ์•ฑ์— ์–ด๋–ค ์—ญํ• ์ด ์žˆ๋Š”๊ฐ€(admin, manager, viewer ๋“ฑ)
  • ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ํŒ€์ด๋‚˜ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์†ํ•˜๋Š”๊ฐ€
  • ๊ฐ ์—ญํ• ์ด ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ ํŒ€์ด ๋ฌด์—‡์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๊ฐ€
  • ๋ˆ„๊ฐ€ ์ž๋™์œผ๋กœ ์ ‘๊ทผ์„ ์–ป๊ณ , ๋ˆ„๊ฐ€ ์Šน์ธ์ด ํ•„์š”ํ•œ๊ฐ€

์ฃผ๋œ ๋ฌธ์ œ๋Š” ๋ณดํ†ต ๋‘ ๊ฐ€์ง€์—์„œ ์˜ต๋‹ˆ๋‹ค:

  • ์ž˜๋ชป๋œ ๋งคํ•‘: ๊ทธ๋ฃน ์ด๋ฆ„์ด ์ž˜๋ชป๋œ ์—ญํ• ์— ๋งค์นญ๋˜๊ฑฐ๋‚˜, "All Employees"์ฒ˜๋Ÿผ ๋„“์€ ๊ทธ๋ฃน์ด ์‹ค์ˆ˜๋กœ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ์ฃผ๋Š” ๊ฒฝ์šฐ
  • ๋ˆ„๋ฝ๋œ ํด๋ ˆ์ž„: IdP๊ฐ€ ์ผ๋ถ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ทธ๋ฃน์„ ๋ณด๋‚ด์ง€ ์•Š๊ฑฐ๋‚˜ ์†์„ฑ์ด ๋น„์–ด ์žˆ๊ฑฐ๋‚˜ ํ† ํฐ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ž˜๋ฆฌ๋Š” ๊ฒฝ์šฐ

์•ฑ์€ ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•˜๋ฉฐ, ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์šฐ๋ฐœ์  ์ ‘๊ทผ์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

SAML๊ณผ OIDC ํด๋ ˆ์ž„์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

SSO๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด IdP๋Š” ์•ฑ์— ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ž‘์€ ์‚ฌ์‹ค ๋ฌถ์Œ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ฐ ์‚ฌ์‹ค์€ ํด๋ ˆ์ž„์œผ๋กœ, ์˜ˆ๋ฅผ ๋“ค์–ด "email = [email protected]"์ด๋‚˜ "department = Finance" ๊ฐ™์€ ๋ผ๋ฒจ์ด ๋ถ™์€ ํ•„๋“œ์ž…๋‹ˆ๋‹ค.

SAML๊ณผ OIDC๋Š” ๋น„์Šทํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํฌ์žฅ ๋ฐฉ์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

SAML์€ ์˜ค๋ž˜๋œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ ํ”ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต XML ๋ฌธ์„œ(์–ด์„ค์…˜)๋ฅผ ๋ณด๋‚ด๊ณ  ๊ทธ ์•ˆ์˜ attributes๊ฐ€ ์•ฑ์ด ์ฝ๋Š” ํด๋ ˆ์ž„์ž…๋‹ˆ๋‹ค.

OIDC๋Š” OAuth 2.0 ์œ„์— ๊ตฌ์ถ•๋œ ์ตœ์‹  ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ์„œ๋ช…๋œ JSON ํ† ํฐ(ID ํ† ํฐ)๊ณผ ์„ ํƒ์  ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ณด๋‚ด๋ฉฐ, ํ† ํฐ ๋‚ด๋ถ€ ํ•„๋“œ๊ฐ€ ํด๋ ˆ์ž„์ž…๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ์•ฑ์—์„œ๋Š” ๋ณดํ†ต ๋‹ค์Œ ์†Œ์ˆ˜์˜ ํด๋ ˆ์ž„๋งŒ ์‹ ๊ฒฝ ์”๋‹ˆ๋‹ค:

  • ์ด๋ฉ”์ผ ์ฃผ์†Œ
  • IdP์˜ ์•ˆ์ •์ ์ธ ์‚ฌ์šฉ์ž ID(์ฃผ์ฒด, subject)
  • ์ „์ฒด ์ด๋ฆ„(๋˜๋Š” ์ด๋ฆ„/์„ฑ)
  • ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ(ํŒ€, ๋ณด์•ˆ ๊ทธ๋ฃน)
  • ๋ถ€์„œ๋‚˜ ์ง์ฑ…

ํ•œ ๊ฐ€์ง€ ๊ตฌ๋ถ„์€ ๋งŽ์€ ํ˜ผ๋ž€์„ ๋ง‰์•„์ค๋‹ˆ๋‹ค:

์ธ์ฆ(Authentication)์€ "์ด ์‚ฌ์šฉ์ž๋Š” ๋ˆ„๊ตฌ์ธ๊ฐ€?"์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •์ ์ธ ์‚ฌ์šฉ์ž ID์™€ ์ด๋ฉ”์ผ ๊ฐ™์€ ํด๋ ˆ์ž„์€ SSO ๋กœ๊ทธ์ธ๊ณผ ์•ฑ ๊ณ„์ •์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

์ธ๊ฐ€(Authorization)๋Š” "๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?"์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฃน์ด๋‚˜ ๋ถ€์„œ ๊ฐ™์€ ํด๋ ˆ์ž„์€ ์‚ฌ์šฉ์ž๋ฅผ ์•ฑ ๋‚ด๋ถ€์˜ ์—ญํ• ๊ณผ ํŒ€์— ๋งคํ•‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‘ ์‚ฌ๋žŒ์ด ์ธ์ฆ์„ ์„ฑ๊ณตํ•˜๋”๋ผ๋„, "Finance" ๊ทธ๋ฃน ํด๋ ˆ์ž„์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋งŒ ๊ฒฐ์ œ ํ™”๋ฉด์— ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—ญํ• ๊ณผ ํŒ€: ๋ฌด์—‡์— ๋งคํ•‘ํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ

SAML ์†์„ฑ์„ ๋งคํ•‘ํ•˜๊ฑฐ๋‚˜ OIDC ํด๋ ˆ์ž„์„ ๊ถŒํ•œ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์ „์— ์•ฑ์ด ์•Œ์•„์•ผ ํ•  ๋‘ ๊ฐ€์ง€๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”:

  • ์—ญํ• (Role)์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค(๊ถŒํ•œ).
  • ํŒ€(Team)์€ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋””์— ์†ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค(๋ฒ”์œ„).

์—ญํ• ์€ ์ด ์‚ฌ๋žŒ์ด ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€, ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ์Šน์ธ/๋‚ด๋ณด๋‚ด๊ธฐ/์‚ฌ์šฉ์ž ๊ด€๋ฆฌ/์„ค์ • ๋ณ€๊ฒฝ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

ํŒ€์€ ์ด ์‚ฌ๋žŒ์ด ์–ด๋А ๋ถ€์„œ, ์ง€์—ญ, ํ ๋˜๋Š” ๋น„์šฉ ์„ผํ„ฐ์—์„œ ์ผํ•˜๋Š”์ง€์™€ ์–ด๋–ค ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

์—ญํ• ์€ ์ž‘๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•˜์„ธ์š”. ๋Œ€๋ถ€๋ถ„์˜ ๋‚ด๋ถ€ ์•ฑ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๋™ํ•ด๋„ ์ž˜ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ๋ช‡ ๊ฐ€์ง€ ์—ญํ• ์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์€ ์ผ์ƒ ์—…๋ฌด ํ˜„์‹ค์„ ๋ฐ˜์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: Support Tier 2, EMEA ๋‹ด๋‹น, ์ž„์‹œ ํ ์†Œ์œ ์ž ๋“ฑ.

์ตœ์†Œ ๊ถŒํ•œ ์›์น™(least privilege)์ด ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๋‚ด๋ถ€ ์•ฑ์€ ์„ธ ๊ฐ€์ง€ ์—ญํ• ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค:

  • Viewer: ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ๊ฒ€์ƒ‰์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
  • Editor: ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Œ
  • Admin: ์„ค์ •, ์‚ฌ์šฉ์ž, ์ ‘๊ทผ ๊ทœ์น™์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

๊ฐ ์—ญํ• ์ด ํ—ˆ์šฉํ•˜๋Š” ๋ฐ”๋ฅผ ํ‰์ดํ•œ ์–ธ์–ด๋กœ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ทธ๋ฃน ์ด๋ฆ„์ด ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ "๊นœ์ง ๊ด€๋ฆฌ์ž" ๊ถŒํ•œ์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์„ ์˜ˆ๋ฐฉํ•˜๊ณ  ๋‚˜์ค‘์— ๋ฆฌ๋ทฐํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

๊ทธ๋ฃน ๊ธฐ๋ฐ˜ ์ ‘๊ทผ: IdP ๊ทธ๋ฃน์„ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•  ๊ฒƒ์ธ์ง€

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

๋จผ์ € ๊ทธ๋ฃน์ด ๋ฌด์—‡์„ ๋ถ€์—ฌํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”. ๋งŽ์€ ๋„๊ตฌ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์ด ํ•˜๋‚˜์˜ ์—ญํ• (์˜ˆ: "Support Agent")๊ณผ ์„ ํƒ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ํŒ€(์˜ˆ: "Tier 2")์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ๋งคํ•‘์ด ์ง€๋ฃจํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค: ๊ฐ™์€ ๊ทธ๋ฃน์€ ํ•ญ์ƒ ๊ฐ™์€ ์ ‘๊ทผ์„ ์˜๋ฏธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ๊ทธ๋ฃน์— ์†ํ•  ๋•Œ

์‚ฌ๋žŒ๋“ค์€ ์ข…์ข… ์—ฌ๋Ÿฌ IdP ๊ทธ๋ฃน์— ์†ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•  ๊ทœ์น™์ด ํ•„์š”ํ•˜๊ณ  ๊ทธ ๊ทœ์น™์„ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹:

  • ๋ˆ„์  ๊ทœ์น™(Additive): ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ๊ทธ๋ฃน์˜ ๊ถŒํ•œ์„ ํ•ฉ์นฉ๋‹ˆ๋‹ค(๊ถŒํ•œ์ด ์ข๊ฒŒ ๋ฒ”์œ„๊ฐ€ ์ •ํ•ด์กŒ์„ ๋•Œ ์œ ์šฉ).
  • ์šฐ์„ ์ˆœ์œ„ ๊ทœ์น™(Priority): ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ๊ทธ๋ฃน ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค(์—ญํ• ์ด ์ถฉ๋Œํ•  ๋•Œ ์œ ์šฉ).
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ: ํŒ€์—๋Š” ๋ˆ„์ ์„ ์ ์šฉํ•˜๊ณ  ์—ญํ• ์—๋Š” ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ค ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋“  ๋ฌธ์„œํ™”ํ•˜์„ธ์š”. ๋‚˜์ค‘์— ์ด ๊ทœ์น™์„ ๋ฐ”๊พธ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ‘์ž๊ธฐ ๊ถŒํ•œ์„ ์–ป๊ฑฐ๋‚˜ ์žƒ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ช…๋ช… ๊ทœ์น™ ์‚ฌ์šฉํ•˜๊ธฐ

๋ช…ํ™•ํ•œ ๊ทธ๋ฃน ์ด๋ฆ„์€ ์‹ค์ˆ˜๋ฅผ ์ค„์ด๊ณ  ๊ฐ์‚ฌ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ํŒจํ„ด ์˜ˆ:

  • --

์˜ˆ: support-tool-prod-agent ๋˜๋Š” finance-tool-staging-viewer. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด "Admins"์ฒ˜๋Ÿผ ๋ชจํ˜ธํ•œ ์ด๋ฆ„์„ ์—ฌ๋Ÿฌ ์•ฑ์—์„œ ์žฌ์‚ฌ์šฉํ•˜๋Š” ์ผ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ จ ๊ทธ๋ฃน์— ์†ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ ‘๊ทผ ๊ธˆ์ง€(๋˜๋Š” ์ œํ•œ๋œ ๊ฒŒ์ŠคํŠธ ์ƒํƒœ)๋กœ ํ•˜๊ณ , ์ ‘๊ทผ ์š”์ฒญ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ ์ฃผ์„ธ์š”.

๊ณ„์ • ์—ฐ๊ฒฐ: SSO ์‚ฌ์šฉ์ž๋ฅผ ์•ฑ ๊ณ„์ •์— ๋งค์นญํ•˜๊ธฐ

Build an internal tool fast
Build an internal app with clear roles, teams, and access rules in one place.
Start Building

SSO๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์ฆ๋ช…ํ•˜์ง€๋งŒ, ์•ฑ์€ ์—ฌ์ „ํžˆ ๊ทธ ์ •์ฒด์„ฑ์„ ์–ด๋А ๊ธฐ์กด ๊ณ„์ •์— ๋ถ™์ผ์ง€ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ • ์—ฐ๊ฒฐ์ด ์—†์œผ๋ฉด ์‹๋ณ„์ž๊ฐ€ ๋ฐ”๋€” ๋•Œ(์ด๋ฉ”์ผ ๋ณ€๊ฒฝ, ์ด๋ฆ„ ๋ณ€๊ฒฝ, ๊ณ„์—ด์‚ฌ ์ด๋™, IdP ๋ณ€๊ฒฝ) ๋™์ผ์ธ์ด ์—ฌ๋Ÿฌ ๊ณ„์ •์„ ๊ฐ–๊ฒŒ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ์•ˆ์ •์ ์ด๊ณ  ๊ณ ์œ ํ•œ ํ‚ค๋ฅผ ๊ธฐ๋ณธ ๋งค์นญ์œผ๋กœ ์„ ํƒํ•˜์„ธ์š”.

  • OIDC์˜ ๊ฒฝ์šฐ ๋ณดํ†ต IdP์˜ sub ํด๋ ˆ์ž„์ด ๊ทธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • SAML์˜ ๊ฒฝ์šฐ์—๋Š” ์˜๊ตฌ์ ์ธ NameID๋‚˜ ์ „์šฉ ๋ถˆ๋ณ€ ์‚ฌ์šฉ์ž ID ์†์„ฑ์ด ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค.

๊ทธ ๊ฐ’์„ "IdP ์‚ฌ์šฉ์ž ID"๋กœ ์ €์žฅํ•˜๊ณ  IdP issuer/entity ID์™€ ํ•จ๊ป˜ ๋ณด๊ด€ํ•ด ๋‹ค๋ฅธ IdP์—์„œ ๊ฐ™์€ sub๊ฐ€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”.

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

์ฒซ ๋กœ๊ทธ์ธ ์‹œ ๋Œ€๋ถ€๋ถ„์˜ ๋‚ด๋ถ€ ๋„๊ตฌ๋Š” ๋‹ค์Œ ์ค‘ ํ•œ ๊ฐ€์ง€ ์˜จ๋ณด๋”ฉ ํŒจํ„ด์„ ํƒํ•ฉ๋‹ˆ๋‹ค:

  • ์ž๋™ ์ƒ์„ฑ(Auto-create): ๊ณ„์ •์„ ์ฆ‰์‹œ ์ƒ์„ฑํ•˜๊ณ  ์ตœ์†Œ ๊ถŒํ•œ์„ ๋ถ€์—ฌ
  • ์ดˆ๋Œ€ ์ „์šฉ(Invite-only): ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋˜์—ˆ๊ฑฐ๋‚˜ ์Šน์ธ๋œ ์‚ฌ์šฉ์ž๋งŒ ๋กœ๊ทธ์ธ ํ—ˆ์šฉ
  • ์Šน์ธ ํ๋ฆ„(Approval flow): ๊ณ„์ •์„ ์ƒ์„ฑํ•˜์ง€๋งŒ ๊ด€๋ฆฌ์ž ์Šน์ธ ์ „๊นŒ์ง€๋Š” ์ฐจ๋‹จ

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

๋‹จ๊ณ„๋ณ„: ํด๋ ˆ์ž„์„ ์—ญํ• ๊ณผ ํŒ€์œผ๋กœ ๋งคํ•‘ํ•˜๊ธฐ

Choose your deployment path
Deploy to your cloud or export source code when you need more control over hosting.
Try It

์ข‹์€ ํด๋ ˆ์ž„ ๋งคํ•‘์€ SSO๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค: ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋ฉด ์ ์ ˆํ•œ ์œ„์น˜์™€ ๊ถŒํ•œ์œผ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € ์ ‘๊ทผ ๋ชจ๋ธ์„ ํ‰์ดํ•œ ์–ธ์–ด๋กœ ์ ์–ด๋‘์„ธ์š”. ๊ฐ ์—ญํ• (Viewer, Agent, Manager, Admin)๊ณผ ๊ฐ ํŒ€(Support, Finance, IT), ๋ˆ„๊ฐ€ ์™œ ๊ทธ ๊ถŒํ•œ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ชฉ๋กํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋‹ค์Œ IdP๊ฐ€ ์‹ค์ œ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์„ธ์š”. SAML์ด๋‚˜ OIDC์—์„œ ๋ณดํ†ต ์•ˆ์ •์ ์ธ ์‚ฌ์šฉ์ž ID(subject ๋˜๋Š” NameID), ์ด๋ฉ”์ผ, ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ทธ๋ฃน ์†์„ฑ์„ ์›ํ•ฉ๋‹ˆ๋‹ค. IdP๊ฐ€ ๋ณด๋‚ด๋Š” ๊ทธ๋ฃน ๊ฐ’์˜ ์ •ํ™•ํ•œ ๋ฌธ์ž์—ด(๋Œ€์†Œ๋ฌธ์ž ํฌํ•จ, ์ ‘๋‘์‚ฌ ํฌํ•จ)์„ ์บก์ฒ˜ํ•˜์„ธ์š”. "Support"์™€ "support"๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

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

  • ์—ญํ• ๊ณผ ํŒ€์„ ์ •์˜ํ•˜๊ณ  ๊ฐ ํ•ญ๋ชฉ์˜ ์†Œ์œ ์ž(๋ณ€๊ฒฝ์„ ์Šน์ธํ•  ์‚ฌ๋žŒ)๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • IdP์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํด๋ ˆ์ž„๊ณผ ์ •ํ™•ํ•œ ๊ทธ๋ฃน ์ด๋ฆ„์„ ๋ชฉ๋กํ™”ํ•ฉ๋‹ˆ๋‹ค(๊ณ„์•ฝ์ง, ๊ณต์œ  ๋ฉ”์ผํ•จ ๊ฐ™์€ ์—ฃ์ง€ ์ผ€์ด์Šค ํฌํ•จ).
  • ๋งคํ•‘ ๊ทœ์น™์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค: ๊ทธ๋ฃน->์—ญํ• , ๊ทธ๋ฃน->ํŒ€, ์—ฌ๋Ÿฌ ๊ทธ๋ฃน์ด ์ผ์น˜ํ•  ๋•Œ์˜ ์˜ค๋ฒ„๋ผ์ด๋“œ ์ˆœ์„œ ๋“ฑ.
  • ์‹ค์ œ IdP ๊ณ„์ •์„ ๊ฐ€์ง„ 3~5๊ฐœ์˜ ์‚ฌ์šฉ์ž ์œ ํ˜•(์‹ ์ž…, ๊ด€๋ฆฌ์ž, ๊ณ„์•ฝ์ง, ๊ด€๋ฆฌ์ž)์„ ์‚ฌ์šฉํ•ด ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์˜ˆ์ƒ ์—ญํ• /ํŒ€ ๊ฒฐ๊ณผ๋ฅผ ๋จผ์ € ์ ๊ณ , ๋กœ๊ทธ์ธํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

๊ทœ์น™์„ ๊ตฌ์ฒดํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์€ ์˜ˆ์ œ๋ฅผ ํ•˜๋‚˜ ๋‚จ๊ฒจ ๋‘์„ธ์š”. ์˜ˆ: ์‚ฌ์šฉ์ž๊ฐ€ okta-support์— ์†ํ•˜๋ฉด Support ํŒ€๊ณผ Agent ์—ญํ• ์ด ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. okta-support-managers์—๋„ ์†ํ•˜๋ฉด Manager ์—ญํ• ์ด Agent๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋””๋ฒ„๊ทธ ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํžˆ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ˆ˜์‹ ๋œ ์›์‹œ ํด๋ ˆ์ž„(์•ˆ์ „ํ•˜๊ฒŒ), ์ผ์น˜ํ•œ ๊ทœ์น™, ์ตœ์ข… ์—ญํ• /ํŒ€ ๊ฒฐ๊ณผ๋ฅผ ๋กœ๊น…ํ•˜์„ธ์š”. ๋ˆ„๊ตฐ๊ฐ€ "๋กœ๊ทธ์ธํ–ˆ๋Š”๋ฐ ๋„๊ตฌ๊ฐ€ ์•ˆ ๋ณด์—ฌ์š”"๋ผ๊ณ  ํ•˜๋ฉด ์ถ”์ธก์ด ์•„๋‹ˆ๋ผ ๋น ๋ฅธ ํ™•์ธ์œผ๋กœ ์›์ธ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ ˆ์ž„ ๋ˆ„๋ฝ ์‹œ ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’

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

๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ์€ ๊ฑฐ๋ถ€(deny-by-default): ์—ญํ•  ์—†์Œ, ํŒ€ ์—†์Œ, ์ ‘๊ทผ ๊ธˆ์ง€์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์ ‘๊ทผํ•ด์„œ ๊ถŒํ•œ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ—ˆ์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์ฝ๊ธฐ ์ „์šฉ ๋“ฑ ๋งค์šฐ ์ œํ•œ์ ์ธ ์ƒํƒœ๋กœ๋งŒ ํ—ˆ์šฉํ•˜์„ธ์š”.

ํ•œ ๊ฐ€์ง€ ๋™์ž‘์„ ์„ ํƒํ•ด ๋ฌธ์„œํ™”ํ•˜์„ธ์š”:

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

์ ˆ๋Œ€ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ฃผ์ง€ ๋งˆ์„ธ์š”.

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

์‹คํŒจ์— ๋Œ€ํ•œ ์—์Šค์ปฌ๋ ˆ์ด์…˜ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“œ์„ธ์š”:

  • ๋ช…๋ช…๋œ ์†Œ์œ ์ž(IT ๋˜๋Š” ์•ฑ ๊ด€๋ฆฌ์ž)๊ฐ€ ์ ‘๊ทผ์„ ์Šน์ธ
  • ์ˆ˜๋™ ์—ญํ•  ํ• ๋‹น ํ๋ฆ„๊ณผ ๊ฐ์‚ฌ ๋ฉ”๋ชจ
  • ๋‹ค์Œ ๋กœ๊ทธ์ธ ์‹œ ํด๋ ˆ์ž„ ์žฌํ™•์ธ ๋ฐฉ๋ฒ•
  • "๋Œ€๊ธฐ ์ค‘์ธ ์ ‘๊ทผ" ๊ณ„์ •์— ๋Œ€ํ•œ ํƒ€์ž„์•„์›ƒ

๋ณ€๊ฒฝ, ์ œ๊ฑฐ, ์˜คํ”„๋ณด๋”ฉ ์ฒ˜๋ฆฌ

Add an access debug view
Create a simple access-mapping page to see received claims and the final role result.
Build Now

์‚ฌ๋žŒ๋“ค์€ ํŒ€์„ ์˜ฎ๊ธฐ๊ณ  ๊ด€๋ฆฌ์ž๋„ ๋ฐ”๋€Œ๊ณ  ํ‡ด์‚ฌํ•ฉ๋‹ˆ๋‹ค. SSO ์„ค์ •์€ ์ด๋ฅผ ์ •์ƒ์ ์ธ ์ผ๋กœ ์ทจ๊ธ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ๋žŒ์ด ํŒ€์„ ์˜ฎ๊ธฐ๋ฉด ๋‹ค์Œ ๋กœ๊ทธ์ธ ์‹œ ๊ทธ๋ฃน ํด๋ ˆ์ž„์„ ์žฌํ‰๊ฐ€ํ•˜๊ณ  ํ˜„์žฌ ๋งคํ•‘์„ ์ ์šฉํ•˜์„ธ์š”. ํ•œ ๋ฒˆ ๋ถ€์—ฌ๋œ ์ ‘๊ทผ์ด ์˜๊ตฌ์ ์œผ๋กœ ๋‚จ์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”.

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

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

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

์‹ค์šฉ์  ์˜คํ”„๋ณด๋”ฉ ์ •์ฑ… ์˜ˆ:

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

ํ”ํ•œ ์‹ค์ˆ˜์™€ ํ•จ์ •

๋Œ€๋ถ€๋ถ„์˜ SSO ์žฅ์• ๋Š” SAML์ด๋‚˜ OIDC ์ž์ฒด๊ฐ€ ๋ณต์žกํ•ด์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ์•ฑ์ด ์‚ฌ๋žŒ, ๊ทธ๋ฃน, ์‹๋ณ„์ž์— ๋Œ€ํ•ด ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ฐ€์ •์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ”ํ•œ ์‹ค์ˆ˜ ์ค‘ ํ•˜๋‚˜๋Š” ์—ญํ•  ๋งคํ•‘๊ณผ ํŒ€ ๋งคํ•‘์„ ์„ž๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ญํ• ์€ "๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?"์ด๊ณ  ํŒ€์€ "์–ด๋””์— ์†ํ•˜๋Š”๊ฐ€?"์ž…๋‹ˆ๋‹ค. ํŒ€ ๊ทธ๋ฃน์„ ๊ณง๋ฐ”๋กœ ๊ฐ•๋ ฅํ•œ ์—ญํ• (์˜ˆ: Admin)์— ๋งคํ•‘ํ•˜๋ฉด ๊ทธ ํŒ€์— ์†ํ•œ ๋ˆ„๊ตฌ๋‚˜ ๊ด‘๋ฒ”์œ„ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ํ•จ์ •์€ ๊ณ„์ • ์—ฐ๊ฒฐ์˜ ์œ ์ผํ•œ ์‹๋ณ„์ž๋กœ ์ด๋ฉ”์ผ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ์€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๊ณ  ๋ณ„์นญ ๋•Œ๋ฌธ์— ์ค‘๋ณต์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค๋กœ๋Š” IdP์˜ ์•ˆ์ •์ ์ธ ์‚ฌ์šฉ์ž ID(์˜ˆ: sub/NameID)๋ฅผ ์„ ํ˜ธํ•˜๊ณ  ์ด๋ฉ”์ผ์€ ํ‘œ์‹œ/์•Œ๋ฆผ์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค:

  • ๊ทธ๋ฃน์ด ์—†์„ ๋•Œ ๊ธฐ๋ณธ๊ฐ’์„ ์—ด์–ด๋‘๋Š” ๊ฒƒ(๋ˆ„๋ฝ ์‹œ ์ „์ฒด ์ ‘๊ทผ ํ—ˆ์šฉ X)
  • ๊ฐœ๋ฐœ/์Šคํ…Œ์ด์ง•/ํ”„๋กœ๋•์…˜์—์„œ ์žฌ์‚ฌ์šฉ๋˜๋Š” ๋ชจํ˜ธํ•œ ๊ทธ๋ฃน๋ช…
  • ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ์„ ๋‹จ์ˆœ ๊ถŒํ•œ ๋ชฉ๋ก์œผ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  ๊ฐ ๊ทธ๋ฃน์ด ์‹ค์ œ๋กœ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๊ฒ€ํ† ํ•˜์ง€ ์•Š์Œ
  • ๋‹ค์ค‘ ํŒ€ ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์˜์—ญ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”๋ฐ ์—ญํ• ๋งŒ ํ•˜๋‚˜ ํ—ˆ์šฉํ•ด ๊ถŒํ•œ์„ ๊ณผ๋„ํ•˜๊ฒŒ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜ ์ ‘๊ทผ์„ ์žƒ๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ
  • ํŒŒํŠธ๋„ˆ์™€ ๊ณ„์•ฝ์ง์„ ์ง์› ์ „์šฉ ํŒ€๊ณผ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

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

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

Ship web and mobile together
Generate backend, web, and native mobile apps from one project for internal teams.
Generate App

๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ SSO๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์ „์— ๊ฐ ํŒ€์˜ ํ…Œ์ŠคํŠธ ๊ณ„์ •์œผ๋กœ ๋“œ๋ผ์ด๋Ÿฐ์„ ํ•˜์„ธ์š”. ๋Œ€๋ถ€๋ถ„์˜ ์ ‘๊ทผ ๋ฌธ์ œ๋Š” ์‹ ์ž…, ์—ญํ•  ๋ณ€๊ฒฝ, ์˜คํ”„๋ณด๋”ฉ ์‚ฌ๋ก€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ฉด ์ฆ‰์‹œ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค.

๋จผ์ € ๊ณ„์ • ์—ฐ๊ฒฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ๋ณ€ํ•˜์ง€ ์•Š์„ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ํ•˜๋‚˜ ์„ ํƒํ•˜๊ณ  ๊ณ ์ˆ˜ํ•˜์„ธ์š”. OIDC์—์„œ๋Š” ๋ณดํ†ต sub, SAML์—์„œ๋Š” NameID๋‚˜ ํŠน์ • ๋ถˆ๋ณ€ ์†์„ฑ์ž…๋‹ˆ๋‹ค.

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

๊ฐ„๋‹จํ•œ ์‚ฌ์ „ ์ถœ์‹œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ:

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

์˜ˆ์‹œ: Support์™€ Finance์šฉ ๋‚ด๋ถ€ ๋„๊ตฌ์™€ SSO ๊ทธ๋ฃน

Prototype your SSO flow
Prototype sign-in, first-login account linking, and approval flows with drag-and-drop steps.
Start Prototype

๋งค์ผ Support, Finance, ๋ช‡๋ช‡ ๋งค๋‹ˆ์ €๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์šด์˜ ๋„๊ตฌ๋ฅผ ์ƒ์ƒํ•˜์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋ฉด ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ๊ณ„์ •์„ ๊ณ ์น˜์ง€ ์•Š์•„๋„ ๋ฐ”๋กœ ์˜ฌ๋ฐ”๋ฅธ ํ™”๋ฉด๊ณผ ๋™์ž‘์„ ์–ป๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

๋ช‡ ๊ฐœ์˜ IdP ๊ทธ๋ฃน์„ ๋งŒ๋“ค๊ณ  ์•ฑ ๋‚ด ์—ญํ• ๊ณผ ํŒ€์— ๋งคํ•‘ํ•˜์„ธ์š”:

  • ops-support -> ์—ญํ• : Support Agent, ํŒ€: Support
  • ops-finance -> ์—ญํ• : Finance Analyst, ํŒ€: Finance
  • ops-managers -> ์—ญํ• : Manager, ํŒ€: Management

์‹ค์ œ ํ๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

UserIdP identifier used for linkingIdP groups claimIn-app resultNotes
Maya (Support)sub=00u8...k3ops-supportSupport Agent, Support teamํ‹ฐ์ผ“์„ ๋ณด๊ณ  ์‘๋‹ตํ•˜๊ณ  ํƒœ๊ทธํ•  ์ˆ˜ ์žˆ์Œ. ๊ฒฐ์ œ ํŽ˜์ด์ง€๋Š” ๋ณผ ์ˆ˜ ์—†์Œ.
Omar (Manager)sub=00u2...p9ops-support, ops-managersManager, Management team๋งคํ•‘ ๊ทœ์น™์ด ๋” ๋†’์€ ์—ญํ• ์„ ์„ ํƒํ•˜๋˜ Finance๋Š” ๋ถ„๋ฆฌ ์œ ์ง€.
Lina (Finance)sub=00u5...w1๋ˆ„๋ฝ(๊ทธ๋ฃน ํด๋ ˆ์ž„์ด ์ „์†ก๋˜์ง€ ์•Š์Œ)๊ธฐ๋ณธ: ์ ‘๊ทผ ์—†์Œ(๋˜๋Š” ์ฝ๊ธฐ ์ „์šฉ ๊ฒŒ์ŠคํŠธ)์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๊ณผ๋„ํ•œ ์ ‘๊ทผ์„ ๋ฐฉ์ง€. Lina๋Š” "์ ‘๊ทผ์ด ํ• ๋‹น๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•˜์„ธ์š”." ๋ฉ”์‹œ์ง€๋ฅผ ๋ด„.

์ด์ œ ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ ์‚ฌ๋ก€: Omar๊ฐ€ [email protected]์—์„œ [email protected]์œผ๋กœ ๋ณ€๊ฒฝ๋˜์–ด๋„, ์•ฑ์ด ์ด๋ฉ”์ผ์ด ์•„๋‹ˆ๋ผ ์•ˆ์ •์ ์ธ IdP ์‚ฌ์šฉ์ž ID(์˜ˆ: OIDC์˜ sub ๋˜๋Š” SAML์˜ ์˜๊ตฌ NameID)๋ฅผ ์‚ฌ์šฉํ•ด ๊ณ„์ •์„ ์—ฐ๊ฒฐํ•˜๋ฉด ์ค‘๋ณต ๊ณ„์ •์ด ์ƒ๊ธฐ์ง€ ์•Š๊ณ  ๊ธฐ๋ก๊ณผ ๊ฐ์‚ฌ ๋‚ด์—ญ์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

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

๋‹ค์Œ ๋‹จ๊ณ„: ์กฐ์ง ๋ณ€ํ™”์—๋„ ์ ‘๊ทผ์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ

๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์€ ์ฒซ ์ถœ์‹œ๊ฐ€ ์•„๋‹ˆ๋ผ ์กฐ์ง ๊ฐœํŽธ, ์ƒˆ ํŒ€, "์ž„์‹œ" ์˜ˆ์™ธ๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ์ ‘๊ทผ์„ ์œ ์ง€ํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค.

ํ•œ ํŽ˜์ด์ง€ ๋งคํ•‘ ๋ฌธ์„œ๋ฅผ ์œ ์ง€ํ•˜์„ธ์š”. ์ด ๋ฌธ์„œ์—๋Š”:

  • ์–ด๋–ค IdP ๊ทธ๋ฃน์ด ์–ด๋–ค ์•ฑ ์—ญํ• ๊ณผ ํŒ€์— ๋งคํ•‘๋˜๋Š”์ง€
  • ํด๋ ˆ์ž„ ๋ˆ„๋ฝ ์‹œ ๊ธฐ๋ณธ ๋™์ž‘(๋ˆ„๊ฐ€ ๋ณ€๊ฒฝ์„ ์Šน์ธํ•˜๋Š”์ง€ ํฌํ•จ)
  • ๊ฐ ๊ณ ์œ„ํ—˜ ์—ญํ• ์˜ ์†Œ์œ ์ž(์žฌ๋ฌด ๊ด€๋ฆฌ์ž, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ์ž, ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ๊ถŒํ•œ ๋“ฑ)
  • ๊ณ„์•ฝ์ง๊ณผ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ฒ˜๋ฆฌ ๋ฐฉ์‹
  • ์†Œ์Šค ์˜ค๋ธŒ ํŠธ๋ฃจ์Šค(์–ด๋””๊ฐ€ ๊ถŒํ•œ์˜ ์ถœ์ฒ˜์ธ์ง€: IdP vs ์•ฑ)

๊ฒฝ๊ณ„๊ฐ€ ๋ถ„๋ช…ํ•œ ํ•œ ๋ถ€์„œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์†Œ๊ทœ๋ชจ ํŒŒ์ผ๋Ÿฟ์„ ์‹คํ–‰ํ•˜๊ณ  ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ๊ณ ์นœ ๋’ค ํ™•์žฅํ•˜์„ธ์š”. ์ƒˆ๋กœ์šด ๊ทœ์น™์„ ํ•จ๋ถ€๋กœ ๋งŒ๋“ค์ง€ ๋งˆ์„ธ์š”. ๊ด€๋ฆฌ์ž๋‚˜ ๊ณ ์œ„ํ—˜ ์—ญํ• ์€ ์›”๋ณ„, ์ผ๋ฐ˜ ์—ญํ• ์€ ๋ถ„๊ธฐ๋ณ„๋กœ ์ •๊ธฐ ๊ฒ€ํ† ๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.

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

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

What is claim mapping in SSO, and why do internal apps need it?

ํด๋ ˆ์ž„ ๋งคํ•‘์€ IdP(์˜ˆ: ๊ทธ๋ฃน, ๋ถ€์„œ, ์ง์ฑ…)๊ฐ€ ๋ณด๋‚ด๋Š” ์ •๋ณด๋ฅผ ์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์—ญํ• ๊ณผ ํŒ€์œผ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์ด ์—†์œผ๋ฉด SSO ๋กœ๊ทธ์ธ์€ ์„ฑ๊ณตํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ฒŒ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

What should my app do if group claims are missing or empty?

๊ธฐ๋ณธ๊ฐ’์œผ๋กœ๋Š” deny-by-default(๊ฑฐ๋ถ€ ๊ธฐ๋ณธ)๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ธ์‹ํ•˜๋˜, ์•Œ๋ ค์ง„ ๋งคํ•‘์ด ์ผ์น˜ํ•  ๋•Œ๊นŒ์ง€ ์—ญํ• ๊ณผ ํŒ€์„ ํ• ๋‹นํ•˜์ง€ ๋งˆ์„ธ์š”. โ€œ์ ‘๊ทผ ์š”์ฒญ(request access)โ€ ์ง„์ž…์ ์„ ํ—ˆ์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋งค์šฐ ์ œํ•œ์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ , ๊ฒฐ์ฝ” ๋ˆ„๋ฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ถŒํ•œ์œผ๋กœ ๊ฐ„์ฃผํ•˜์ง€ ๋งˆ์„ธ์š”.

What is the safest way to link an SSO login to an existing app account?

IdP์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ณ ์œ  ํ‚ค๋ฅผ ๊ธฐ๋ณธ ๋งค์นญ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด OIDC์˜ ๊ฒฝ์šฐ sub ํด๋ ˆ์ž„, SAML์˜ ๊ฒฝ์šฐ ์˜๊ตฌ์ ์ธ NameID๋‚˜ ๋ถˆ๋ณ€ ์†์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’๊ณผ IdP์˜ issuer/entity ID๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•ด ๋‹ค๋ฅธ IdP์—์„œ ๊ฐ™์€ ์‹๋ณ„์ž๊ฐ€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”.

Why shouldnโ€™t I use email as the main identifier for account linking?

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

Whatโ€™s the difference between roles and teams in an internal app?

์—ญํ• (Role)์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ํŽธ์ง‘, ์Šน์ธ, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ). ํŒ€(Team)์€ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋””์— ์†ํ•˜๋Š”์ง€, ์–ด๋–ค ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ถ€์„œ, ์ง€์—ญ, ํ, ๋น„์šฉ ์„ผํ„ฐ).

How many roles should I start with for a typical internal tool?

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

How do I handle users who belong to multiple IdP groups?

์ผ๊ด€๋œ ํ•ด๊ฒฐ ๊ทœ์น™์„ ์„ ํƒํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜์„ธ์š”. ๋งŽ์€ ์กฐ์ง์€ ํŒ€ ๋ฉค๋ฒ„์‹ญ์—๋Š” ๋ˆ„์ (additive)์„ ์ ์šฉํ•˜๊ณ , ์—ญํ• ์€ ์šฐ์„ ์ˆœ์œ„(priority)๋กœ ๊ฒฐ์ •ํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ถŒํ•œ ์ถฉ๋Œ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

How should we name IdP groups to avoid accidental access?

๊ทธ๋ฃน ์ด๋ฆ„์— ์•ฑ๋ช…, ํ™˜๊ฒฝ, ์—ญํ• ์„ ํฌํ•จํ•˜๋Š” ๊ด€๋ก€๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์–ด๋–ค ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•ด์ง€๊ณ , โ€œAdminsโ€์ฒ˜๋Ÿผ ๋ชจํ˜ธํ•œ ์ด๋ฆ„์ด ์—ฌ๋Ÿฌ ์•ฑ์—์„œ ์žฌ์‚ฌ์šฉ๋˜๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

What should I log to debug access issues without guessing?

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

How do I keep access accurate when people change teams or leave the company?

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

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

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

์‹œ์ž‘ํ•˜๋‹ค
๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ SSO: SAML/OIDC ํด๋ ˆ์ž„์„ ์—ญํ• ๊ณผ ํŒ€์— ๋งคํ•‘ํ•˜๊ธฐ | AppMaster