Skip to main content
Version: Latest(v3.0) ๐Ÿ”ฅ

Multi Auth Guide(SAML / LDAP)

๊ฐœ์š”โ€‹

์ด ๋ฌธ์„œ๋Š” APIM ์—์„œ SAML(Security Assertion Markup Language)๊ณผ LDAP(Active Directory) ์ธ์ฆ์„ ๋„๋ฉ”์ธ๋ณ„๋กœ ์„ค์ •ํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.

๋ชฉ์ฐจโ€‹

  1. ๊ธฐ๋ณธ ๊ฐœ๋…
  2. ์„ค์ • ๋ฐฉ๋ฒ•
  3. ์ฃผ์š” ๊ธฐ๋Šฅ
  4. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
  5. ๋ฌธ์ œ ํ•ด๊ฒฐ
  6. ์ฃผ์˜์‚ฌํ•ญ

๊ธฐ๋ณธ ๊ฐœ๋…โ€‹

๋„๋ฉ”์ธ๋ณ„ ์ธ์ฆ ๋ถ„๊ธฐ๋ž€?โ€‹

APIM BFF๋Š” ์ ‘์†ํ•˜๋Š” ๋„๋ฉ”์ธ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ธ์ฆ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๊ธฐ๋ณธ ์ธ์ฆ: ์ผ๋ฐ˜์ ์ธ Basic ์ธ์ฆ
  • SAML ์ธ์ฆ: ํŠน์ • ๋„๋ฉ”์ธ์—์„œ SAML IDP๋ฅผ ํ†ตํ•œ ์ธ์ฆ
  • LDAP ์ธ์ฆ: ํŠน์ • ๋„๋ฉ”์ธ์—์„œ LDAP/Active Directory๋ฅผ ํ†ตํ•œ ์ธ์ฆ

์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜คโ€‹

์˜ˆ์‹œ 1: SAML ์ธ์ฆ ๋„๋ฉ”์ธ

  • ๋„๋ฉ”์ธ:ย console1.xxx.com
  • ์ธ์ฆ ๋ฐฉ์‹: SAML IDP๋ฅผ ํ†ตํ•œ ์ธ์ฆ
  • ํŠน์ง•: ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ (IDP์—์„œ ์„ธ์…˜ ๊ด€๋ฆฌ)

์˜ˆ์‹œ 2: LDAP ์ธ์ฆ ๋„๋ฉ”์ธ

  • ๋„๋ฉ”์ธ:ย console2.xxx.com
  • ์ธ์ฆ ๋ฐฉ์‹: LDAP/Active Directory ์ธ์ฆ

์˜ˆ์‹œ 3: ๊ธฐ๋ณธ ์ธ์ฆ ๋„๋ฉ”์ธ

  • ๋„๋ฉ”์ธ:ย console3.xxx.comย (์„ค์ •๋˜์ง€ ์•Š์€ ๋„๋ฉ”์ธ)
  • ์ธ์ฆ ๋ฐฉ์‹: Basic ์ธ์ฆ

์„ค์ • ๋ฐฉ๋ฒ•โ€‹

1. ์„ค์ • ํŽ˜์ด์ง€ ์ ‘๊ทผโ€‹

  1. APIM ์ฝ˜์†”์— ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ๋กœ๊ทธ์ธ
  2. ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œย ์„ค์ •ย ํด๋ฆญ
  3. ๋„๋ฉ”์ธ๋ณ„ ์ธ์ฆ ๋ฐฉ์‹ ๋ถ„๊ธฐย ์„น์…˜์œผ๋กœ ์Šคํฌ๋กค

2. ๋„๋ฉ”์ธ๋ณ„ ์ธ์ฆ ๋ถ„๊ธฐ ํ™œ์„ฑํ™”โ€‹

  1. ๋„๋ฉ”์ธ๋ณ„ ์ธ์ฆ ๋ฐฉ์‹ ๋ถ„๊ธฐย ์Šค์œ„์น˜๋ฅผย ON์œผ๋กœ ์„ค์ •
  2. ์ด ์Šค์œ„์น˜๊ฐ€ OFF์ด๋ฉด ๋ชจ๋“  ๋„๋ฉ”์ธ์—์„œ ๊ธฐ๋ณธ ์ธ์ฆ ๋ฐฉ์‹ ์‚ฌ์šฉ

3. SAML ์ธ์ฆ ์„ค์ •โ€‹

SAML ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ๋„๋ฉ”์ธ ์„ค์ •:

  1. SAML ์ธ์ฆ ์ฝ˜์†” ๋„๋ฉ”์ธย ์Šค์œ„์น˜๋ฅผย ON์œผ๋กœ ์„ค์ •
  2. SAML ์ฝ˜์†” ๋„๋ฉ”์ธย ํ•„๋“œ์— ๋„๋ฉ”์ธ ์ž…๋ ฅ

4. LDAP ์ธ์ฆ ์„ค์ •โ€‹

LDAP ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ๋„๋ฉ”์ธ ์„ค์ •:

  1. LDAP(AD) ์ธ์ฆ ์ฝ˜์†” ๋„๋ฉ”์ธย ์Šค์œ„์น˜๋ฅผย ON์œผ๋กœ ์„ค์ •
  2. LDAP(AD) ์ฝ˜์†” ๋„๋ฉ”์ธย ํ•„๋“œ์— ๋„๋ฉ”์ธ ์ž…๋ ฅ
  • ์˜ˆ:ย console1.xxx.com
  • ์ฃผ์˜: ํ”„๋กœํ† ์ฝœ(http://,ย https://)๊ณผ ํฌํŠธ ๋ฒˆํ˜ธ๋Š” ์ž…๋ ฅํ•˜์ง€ ๋งˆ์„ธ์š”
  • ์ฃผ์˜: ๊ฒฝ๋กœ(/path)๋Š” ์ž…๋ ฅํ•˜์ง€ ๋งˆ์„ธ์š”

์˜ฌ๋ฐ”๋ฅธ ์ž…๋ ฅ ์˜ˆ์‹œ:

  • โœ…ย console1.xxx.com
  • โœ…ย apim.company.com
  • โœ…ย console.example.co.kr

์ž˜๋ชป๋œ ์ž…๋ ฅ ์˜ˆ์‹œ:

  • โŒย https://console1.xxx.com
  • โŒย console1.xxx.com:8080
  • โŒย console1.xxx.com/path

5. ์„ค์ • ์ €์žฅโ€‹

  1. ๋ชจ๋“  ์„ค์ •์„ ์™„๋ฃŒํ•œ ํ›„ย ์ €์žฅย ๋ฒ„ํŠผ ํด๋ฆญ
  2. ์ €์žฅ ์„ฑ๊ณต ๋ฉ”์‹œ์ง€ ํ™•์ธ
  3. ์„ค์ •์ด ์ฆ‰์‹œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค (์žฌ์‹œ์ž‘ ๋ถˆํ•„์š”)

6. ์„ค์ • ํ™•์ธโ€‹

์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ:

  1. ์„ค์ • ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ
  2. ์ž…๋ ฅํ•œ ๋„๋ฉ”์ธ๊ณผ ์Šค์œ„์น˜ ์ƒํƒœ ํ™•์ธ
  3. ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ์‹œํฌ๋ฆฟ ๋ชจ๋“œ์—์„œ ํ•ด๋‹น ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ์ธ์ฆ ๋ฐฉ์‹ ํ™•์ธ

์ฃผ์š” ๊ธฐ๋Šฅโ€‹

SAML ๋„๋ฉ”์ธ์—์„œ์˜ ๋™์ž‘โ€‹

1. ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ ์ˆจ๊น€โ€‹

  • SAML ๋„๋ฉ”์ธ์—์„œ๋Š” ํ™”๋ฉด ์ƒ๋‹จ์˜ ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ์ดย ์ž๋™์œผ๋กœ ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค
  • SAML ์ธ์ฆ์€ IDP(Identity Provider)์—์„œ ์„ธ์…˜์„ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๋ณ„๋„์˜ ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

2. ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌโ€‹

  • SAML ๋„๋ฉ”์ธ์—์„œ ๋กœ๊ทธ์•„์›ƒ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ:
    • ์„ธ์…˜ ํƒ€์ž„์•„์›ƒ,
    • ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜ ์ข…๋ฃŒ
  • SAML ๋„๋ฉ”์ธ์—์„œ ์„ธ์…˜ ๋งŒ๋ฃŒ ์‹œ:
    • ์ž๋™์œผ๋กœ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ๋˜์–ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค

์ผ๋ฐ˜ ๋„๋ฉ”์ธ์—์„œ์˜ ๋™์ž‘โ€‹

  • ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ์ด ์ •์ƒ์ ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค
  • ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ์ผ๋ฐ˜์ ์ธ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค
  • ๊ธฐ๋ณธ ์ธ์ฆ ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •โ€‹

ํ•„์ˆ˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜โ€‹

SAML ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

1. ๊ธฐ๋ณธ ๋กœ๊ทธ์ธ URLโ€‹

APIM_LOGIN_URL=https://login.example.com

  • ๊ธฐ๋ณธ ์ธ์ฆ ๋ฐฉ์‹์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋กœ๊ทธ์ธ URL
  • ๋ชจ๋“  ๋„๋ฉ”์ธ์—์„œ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ (SAML ๋„๋ฉ”์ธ ์ œ์™ธ)

2. SAML ๋กœ๊ทธ์ธ URL (SAML ๋„๋ฉ”์ธ ์‚ฌ์šฉ ์‹œ ํ•„์ˆ˜)โ€‹

APIM_SAML_LOGIN_URL=https://saml-idp.example.com/sso/login

  • SAML ๋„๋ฉ”์ธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋กœ๊ทธ์ธ URL
  • SAML IDP์˜ ๋กœ๊ทธ์ธ ์—”๋“œํฌ์ธํŠธ
  • ์ฃผ์˜: SAML ๋„๋ฉ”์ธ์„ ์„ค์ •ํ–ˆ์ง€๋งŒ ์ด ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ๊ธฐ๋ณธ ๋กœ๊ทธ์ธ URL์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค

3. Tenant Manager URLโ€‹

APIM_TENANT_MANAGER_URL=https://tenant-manager.example.com

  • Tenant Manager ์„œ๋น„์Šค URL
  • ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์‹œ ์‚ฌ์šฉ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ๋ฐฉ๋ฒ•โ€‹

  1. Kubernetes ํ™˜๊ฒฝ:
    • ConfigMap ๋˜๋Š” Secret์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€
    • Deployment YAML ํŒŒ์ผ ์ˆ˜์ •z