Hamutaro - Hamtaro 4

Backend/Spring

[Spring] IAM(Identity and Access Management) ์ธ์ฆ ์„œ๋ฒ„

carsumin 2025. 1. 19. 17:52
IAM(Identity and Access Management) ์ธ์ฆ ์„œ๋ฒ„
  • ์‚ฌ์šฉ์ž ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ
  • ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ํ™•์ธํ•˜๊ณ , ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•˜๋Š” ์—ญํ• 

 

IAM ์ธ์ฆ ์„œ๋ฒ„์˜ ์ฃผ์š” ๊ธฐ๋Šฅ
  • ์ธ์ฆ (Authentication)
    • ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•  ๋•Œ ๋ณธ์ธ์ด ๋ˆ„๊ตฌ์ธ์ง€ ์ฆ๋ช…ํ•˜๋„๋ก ํ•จ
    • ์ผ๋ฐ˜์ ์œผ๋กœ ID/๋น„๋ฐ€๋ฒˆํ˜ธ, ์ƒ์ฒด ์ธ์ฆ, ์ธ์ฆ ํ† ํฐ ๋“ฑ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง
  • ๊ถŒํ•œ ๋ถ€์—ฌ (Authorization)
    • ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธ
    • ์—ญํ• (Role) ๊ธฐ๋ฐ˜, ์ •์ฑ…(Policy) ๊ธฐ๋ฐ˜, ์†์„ฑ(Attribute) ๊ธฐ๋ฐ˜์˜ ์ ‘๊ทผ ์ œ์–ด ๋ชจ๋ธ์„ ํ™œ์šฉ
  • ์„ธ์…˜ ๋ฐ ํ† ํฐ ๊ด€๋ฆฌ
    • ์„ธ์…˜ ๊ด€๋ฆฌ : ์‚ฌ์šฉ์ž ์ธ์ฆ ํ›„ ์„ธ์…˜์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€
    • ํ† ํฐ ๋ฐœ๊ธ‰ : OAuth 2.0 ๋ฐ OpenID Connect์™€ ๊ฐ™์€ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์•ก์„ธ์Šค ํ† ํฐ, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋“ฑ์„ ๋ฐœ๊ธ‰ํ•˜์—ฌ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์ˆ˜ํ–‰
  • ๋‹ค์ค‘ ์ธ์ฆ (MFA : Multi-Factor Authentication)
    • ๋ณด์•ˆ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ ์™ธ์— ์ธ์ฆ ์ˆ˜๋‹จ (OTP, ์ง€๋ฌธ, ์–ผ๊ตด ์ธ์‹ ๋“ฑ)์„ ์š”๊ตฌ
  • ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
    • ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ
    • ์‚ฌ์šฉ์ž ๊ทธ๋ฃน ๋ฐ ์—ญํ•  ๊ด€๋ฆฌ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ… ์„ค์ • ๋ฐ ์ดํ–‰
  • ๋กœ๊ทธ ๋ฐ ๊ฐ์‚ฌ
    • ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋กํ•˜์—ฌ ๋ณด์•ˆ ๊ฐ์‚ฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ง€์›

 

IAM ์ธ์ฆ ์„œ๋ฒ„์˜ ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€
  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ธ์ฆ
    • AWS IAM, Azure Active Directory, Google Cloud IAM๊ณผ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ์ž ๋ฐ ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ ์ œ์–ด
  • API ๋ณด์•ˆ
    • OAuth 2.0 ๋ฐ OpenID Connect๋ฅผ ํ™œ์šฉํ•˜์—ฌ API ์ ‘๊ทผ์„ ๋ณดํ˜ธํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ์ฒ˜๋ฆฌ
  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‚ฌ์šฉ์ž ์ธ์ฆ
    • ๊ธฐ์—… ๋‚ด ์ง์›, ํŒŒํŠธ๋„ˆ, ๊ณ ๊ฐ์˜ ์ ‘๊ทผ์„ ์ค‘์•™ ์ง‘์ค‘์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  SSO๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์›ํ™œํ•œ ์ ‘๊ทผ์„ ์ œ๊ณต
  • ์†Œ์…œ ๋กœ๊ทธ์ธ ์ง€์›
    • Google, Facebook, GitHub๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ์ธ์ฆ ์ œ๊ณต์ž๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„

 

IAM ์ธ์ฆ ์„œ๋ฒ„์˜ ๊ตฌํ˜„ ์˜ˆ์‹œ
  • ์ƒ์šฉ ์†”๋ฃจ์…˜
    • AWS IAM
    • Okta
    • Microsoft Azure AD
    • Auth0
  • ์˜คํ”ˆ์†Œ์Šค ์†”๋ฃจ์…˜
    • Keycloak
    • WSO2 Identity Server
    • Apache Shiro
    • FusionAuth