์ธ์ฆ ์ด ์ •๋ฆฌ :: 3. SSO ์ธ์ฆ ๋ฐ ์ด ์ •๋ฆฌ
์›น (WEB)/๊ณต๋ถ€ 2022. 3. 15. 22:17

SSO SSO(Single Sign On)๋Š” ํ•œ ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ†ตํ•ฉ ์ธ์ฆ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ๋•Œ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด SSO๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. SSO๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ํŒจํ„ด์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์ธ์ฆ gateway ๋ฐฉ์‹ ๊ฐ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ๋•Œ ์ด์ „ ๋ ˆ์ด์–ด์— ํ†ตํ•ฉ ์ธ์ฆ ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. User๋Š” SessionID๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ํ†ตํ•ฉ ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ํ†ต๊ณผํ•˜๋ฉด ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์˜ ๋‹จ์ ์€ ๊ฐ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ๋•Œ๋งˆ๋‹ค ์ธ์ฆ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•˜๋ฉฐ ์ธ์ฆ ์„œ๋น„์Šค ์ž์ฒด๊ฐ€ bottle neck์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2. ์ธ์ฆ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐฉ์‹ ์œ ์ €๋Š” ์šฐ์„  ํ†ตํ•ฉ ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ํ† ํฐ์ด๋ผ๋Š” ์ธ์ฆ ๋Œ€ํ–‰ ๋งค์ฒด..

์ธ์ฆ ์ด ์ •๋ฆฌ :: 2. ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ์˜ ๋‹ค์–‘ํ•œ ์ธ์ฆ (feat. SAML, OAuth 2.0)
์›น (WEB)/๊ณต๋ถ€ 2022. 3. 15. 22:10

SAML ์ธ์ฆ SAML์€ XML ๊ธฐ๋ฐ˜์˜ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ํฌ๋งท์ž…๋‹ˆ๋‹ค. ์ธ์ฆ ์ •๋ณด๋ฅผ XML ํฌ๋งท์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์•”ํ˜ธํ™”ํ•œ ๊ฒƒ์ด Assertion์ธ๋ฐ ์ด๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. User, IDP(Identity Provider), SP(Service Provider) ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์ฆ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. (๊ทธ๋ฆผ) User๊ฐ€ SP๋กœ ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋ฉด SP๋Š” ์ธ์ฆ๋œ User์ธ์ง€ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ๋˜์ง€ ์•Š์•˜์œผ๋ฉด ์ธ์ฆ ์š”์ฒญ(SAMLRequest)์„ ์ƒ์„ฑํ•˜์—ฌ User์—๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. SAMLRequest์— ์˜ํ•ด User๋Š” IDP๋กœ redirect๋˜๊ณ  ๋กœ๊ทธ์ธ์„ ํ†ตํ•ด ์ธ์ฆ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด IDP๋Š” SAMLAssertion์ด ํฌํ•จ๋œ SAMLResponse๋ฅผ User์— ๋‚ด๋ ค์ค๋‹ˆ๋‹ค. → ๊ทธ ๊ณผ์ •์—์„œ IDP๊ฐ€ ์„ค์ •ํ•œ Ses..