Docs Menu

Ops Manager ํ”„๋กœ์ ํŠธ์— LDAP ์ธ์ฆ ํ™œ์„ฑํ™”

์ฐธ๊ณ 

MongoDB 8.0 ๋ถ€ํ„ฐ LDAP ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ MongoDB 8 ์˜ ์ˆ˜๋ช… ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ณ€๊ฒฝ ์—†์ด ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. LDAP ๋Š” ํ–ฅํ›„ ์ฃผ์š” ์ถœ์‹œํ•˜๋‹ค ์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ LDAP ์‚ฌ์šฉ ์ค‘๋‹จ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Ops Manager๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Ops Manager ์—์ด์ „ํŠธ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ MongoDB deployment์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—์ด์ „ํŠธ์— ๋Œ€ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜๋งŒ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MongoDB Enterprise๋Š” ์ธ์ฆ ์š”์ฒญ์„ LDAP(Lightweight Directory Access Protocol) ์„œ๋น„์Šค๋กœ ํ”„๋ก์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

LDAP MongoDB Enterprise ๋นŒ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MongoDB Community ๋นŒ๋“œ ์—์„œ ๊ธฐ์กด ๋ฐฐํฌ ์‹คํ–‰ ๊ฒฝ์šฐ, ๋จผ์ € ๋ฐฐํฌ๋ฅผ MongoDB Enterprise๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์•ผ MongoDB Ops Manager ํ”„๋กœ์ ํŠธ ์— ๋Œ€ํ•ด LDAP ๋ฅผ ํ™œ์„ฑํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB Enterprise๋Š” saslauthd ๋ฐ ์šด์˜ ์ฒด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด LDAP(Lightweight Directory Access Protocol) ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋‹จ์ˆœ ๋ฐ SASL ๋ฐ”์ธ๋”ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • Linux์šฉ MongoDB Enterprise๋Š” saslauthd ๋ฅผ ํ†ตํ•ด ๋˜๋Š” MongoDB 3.4๋ถ€ํ„ฐ ์šด์˜ ์ฒด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด LDAP ์„œ๋ฒ„์— ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Windows์šฉ MongoDB Enterprise๋Š” ๋ฒ„์ „ 3.4๋ถ€ํ„ฐ ์šด์˜ ์ฒด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด LDAP ์„œ๋ฒ„์— ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB ๋งค๋‰ด์–ผ์˜ LDAP ํ”„๋ก์‹œ ์ธ์ฆ ๋ฐ LDAP ๊ถŒํ•œ ๋ถ€์—ฌ ์„น์…˜์—์„œ LDAP ๋ฐ MongoDB์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LDAP ๋ฐ SASL ์„ค์ •์€ ์ด ๋ฌธ์„œ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

์ด ์ ˆ์ฐจ์—์„œ๋Š” ์ž๋™ํ™”๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ LDAP ์ธ์ฆ ์„ ๊ตฌ์„ฑํ•˜๊ณ  ํ™œ์„ฑํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. MongoDB Ops Manager ๊ฐ€ ๋ชจ๋‹ˆํ„ฐ๋ง ๋˜๋Š” ๋ฐฑ์—…์„ ๊ด€๋ฆฌ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ LDAP ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. LDAP LDAP MongoDB Agent ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฐธ๊ณ 

ํ”„๋กœ์ ํŠธ์˜ ์ธ์ฆ ๋ฐ TLS ์„ค์ •์„ ์žฌ์„ค์ • ํ•˜๋ ค๋ฉด ๋จผ์ € Ops Manager๊ฐ€ ํ”„๋กœ์ ํŠธ์—์„œ managed ๋ชจ๋“  MongoDB ๋ฐฐํฌ ๋ฅผ ๊ด€๋ฆฌ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

1
  1. ์ด๋ฏธ ํ‘œ์‹œ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ํƒ์ƒ‰ ๋ชจ์Œ์˜ Organizations ๋ฉ”๋‰ด์—์„œ ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ํฌํ•จ๋œ ์กฐ์ง์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ์ด๋ฏธ ํ‘œ์‹œ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ Projects ํƒ์ƒ‰ ๋ชจ์Œ์˜ ํ”„๋กœ์ ํŠธ ๋ฉ”๋‰ด์—์„œ ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ์•„์ง ํ‘œ์‹œ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ Deployment ํด๋ฆญํ•˜์„ธ์š”.

  1. Security ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  2. Settings ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋‹ค์Œ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ TLS, ์ธ์ฆ ๋˜๋Š” ๊ถŒํ•œ ๋ถ€์—ฌ ์„ค์ •์„ ์ฒ˜์Œ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ Get Started์„(๋ฅผ) ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ TLS ์ธ์ฆ ๋˜๋Š” ๊ถŒํ•œ ๋ถ€์—ฌ ์„ค์ •์„ ์ด๋ฏธ ๊ตฌ์„ฑํ•œ ๊ฒฝ์šฐ Edit์„(๋ฅผ) ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

2
ํ•„๋“œ
์ž‘์—…

MongoDB deployment TLS(์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ)

์ด ์Šฌ๋ผ์ด๋”๋ฅผ ON(์œผ)๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

TLS CA ํŒŒ์ผ ๊ฒฝ๋กœ

TLS ์ธ์ฆ ๊ธฐ๊ด€ ํŒŒ์ผ์€ ์ธ์ฆ ๊ธฐ๊ด€์˜ ๋ฃจํŠธ ์ธ์ฆ์„œ ์ฒด์ธ์„ ํฌํ•จํ•˜๋Š” .pem ํ˜•์‹์˜ ์ธ์ฆ์„œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. MongoDB Agent๋Š” ๋™์ผํ•œ ์ธ์ฆ ๊ธฐ๊ด€ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ์„œ๋ฒ„์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ์„œ ํŒŒ์ผ์˜ ์•”ํ˜ธํ™”๋œ ๋น„๊ณต๊ฐœ ํ‚ค๋Š” .pem PKCS #1 ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜•์‹. MongoDB Agent๊ฐ€ PKCS #8 ์„(๋ฅผ) ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜•์‹.

MongoDB ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—์„œ TLS ์ธ์ฆ ๊ธฐ๊ด€ ํŒŒ์ผ์˜ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  • ์ฒซ ๋ฒˆ์งธ ์ƒ์ž์— ๋ชจ๋“  Linux ํ˜ธ์ŠคํŠธ์˜ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  • ๋‘ ๋ฒˆ์งธ ์ƒ์ž์— ๋ชจ๋“  Windows ํ˜ธ์ŠคํŠธ์˜ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์˜ MongoDB ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ net.tls.CAFile ์„ค์ •์ด ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ์„œ๋ฒ„์˜ ๊ฐ ํ˜ธ์ŠคํŠธ์— ์ง€์ •๋œ ๊ฒฝ๋กœ์— TLS ์ธ์ฆ ๊ธฐ๊ด€์ด ์žˆ๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด Validate์„(๋ฅผ) ํด๋ฆญํ•˜์„ธ์š”.

ํด๋Ÿฌ์Šคํ„ฐ TLS CA ํŒŒ์ผ ๊ฒฝ๋กœ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ์ œ์‹œํ•œ ์ธ์ฆ์„œ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•  ๋•Œ ์‚ฌ์šฉ๋œ ์ธ์ฆ ๊ธฐ๊ด€์˜ ๋ฃจํŠธ ์ธ์ฆ์„œ ์ฒด์ธ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š” .pem ํŒŒ์ผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ๋Œ€ ๊ฒฝ๋กœ ๋˜๋Š” ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ .pem ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. net.tls.clusterCAFile์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด net.tls.CAFile ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

net.tls.clusterCAFile ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ๋Š” net.tls.CAFile ์˜ต์…˜์— ์ง€์ •๋œ .pem ํŒŒ์ผ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

net.tls.clusterCAFile ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ„๋„์˜ ์ธ์ฆ ๊ธฐ๊ด€์„ ์‚ฌ์šฉํ•˜์—ฌ TLS ํ•ธ๋“œ์…ฐ์ดํฌ์˜ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ฐ ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ ๋ชจ๋“œ

TLS ์ง€์› MongoDB deployment์— ์—ฐ๊ฒฐํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” MongoDB Agent๊ฐ€ TLS ์ธ์ฆ์„œ๋ฅผ ์ œ์‹œํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐ MongoDB deployment๋Š” ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ํด๋ผ์ด์–ธํŠธ ํ˜ธ์ŠคํŠธ์˜ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ TLS ์ธ์ฆ์„œ๋ฅผ ์š”๊ตฌํ•˜๋„๋ก ์„ ํƒํ•œ ๊ฒฝ์šฐ ์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•œ์ง€ ํ™•์ธํ•˜์„ธ์š”.

ํ—ˆ์šฉ๋˜๋Š” ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ต์…˜

๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๋Š” MongoDB deployment์— ์—ฐ๊ฒฐํ•  ๋•Œ ์œ ํšจํ•œ TLS ์ธ์ฆ์„œ๋ฅผ ์ œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. mongod tlsMode ์„ None ๋กœ ์„ค์ • ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ MongoDB Agents๊ฐ€ TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ์‚ฌํ•ญ

์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  MongoDB deployment๋Š” TLS๋กœ ์•”ํ˜ธํ™”๋œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์—์ด์ „ํŠธ๋Š” TLS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  MongoDB deployment์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

LDAP(๊ฒฝ๋Ÿ‰ ๋””๋ ‰ํ† ๋ฆฌ ์•ก์„ธ์Šค ํ”„๋กœํ† ์ฝœ)์™€ ํ•จ๊ป˜ TLS(์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ)/SSL(๋ณด์•ˆ ์†Œ์ผ“ ๊ณ„์ธต) ์‚ฌ์šฉ ๊ถŒ์žฅ

๊ธฐ๋ณธ์ ์œผ๋กœ LDAP ํŠธ๋ž˜ํ”ฝ์€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ž๊ฒฉ ์ฆ๋ช…(์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ)์ด ์Šค๋‹ˆํผ ๋ฐ ์žฌ์ƒ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๋„คํŠธ์›Œํฌ ์œ„ํ—˜์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. LDAPS (TLS /SSL์„ํ†ตํ•œ LDAP)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์•”ํ˜ธํ™”ํ•ฉ๋‹ˆ๋‹ค. Active Directory์™€ ๊ฐ™์€ ๋งŽ์€ ์ตœ์‹  ๋””๋ ‰ํ† ๋ฆฌ ์„œ๋น„์Šค์—๋Š” ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

3
  1. MongoDB Deployment Authentication Mechanism ์„น์…˜์—์„œ LDAP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ์ ์ ˆํ•œ ์œ ํ˜•์˜ LDAP ์ธ์ฆ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์ค‘์š”

    • LDAP ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Native LDAP Authentication ์„(๋ฅผ) ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • LDAP ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, MongoDB deployment์˜ $external ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋Š” LDAP ์ธ์ฆ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

4

์ค‘์š”

MongoDB 3.4๋ถ€ํ„ฐ๋Š” ๋จผ์ € LDAP ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ํ•œ $external ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋กœ์ปฌ ์‚ฌ์šฉ์ž ๋ฌธ์„œ ์—†์ด๋„ LDAP, Kerberos ๋˜๋Š” X.509 ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ธ์ฆ๋˜๋ฉด MongoDB๋Š” LDAP ์„œ๋ฒ„์— ๋Œ€ํ•ด ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ LDAP ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์œ ํ•œ ๋ชจ๋“  ๊ทธ๋ฃน์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํ•ด๋‹น ๊ทธ๋ฃน์„ ๋™๋“ฑํ•œ MongoDB ์—ญํ• ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉ ํ•˜๋ฉด MongoDB ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋กค๋ง ๋ฐฉ์‹์œผ๋กœ ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋‹จ๊ณ„์—์„œ Saslauthd ์„(๋ฅผ) ์„ ํƒํ•œ ๊ฒฝ์šฐ ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

Native LDAP Authentication ์„(๋ฅผ) ์„ ํƒํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

  1. ๋‹ค์Œ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ์„ค์ •
    ๊ฐ’

    ์„œ๋ฒ„ URL

    ํ•˜๋‚˜ ์ด์ƒ์˜ LDAP ์„œ๋ฒ„์˜ hostname:port ์กฐํ•ฉ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    transportSecurity

    LDAP ์ฟผ๋ฆฌ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ ค๋ฉด TLS ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. LDAP ์ฟผ๋ฆฌ๋ฅผ ์•”ํ˜ธํ™”ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ None ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์‹œ๊ฐ„ ์ดˆ๊ณผ (ms)

    ์ธ์ฆ ์š”์ฒญ์ด ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๊ธฐ ์ „์— ๋Œ€๊ธฐํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    Bind ๋ฉ”์„œ๋“œ

    SASL ๋˜๋Š” Simple ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์ค‘์š”: Simple ๋ฐ”์ธ๋“œ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ Simple ๋ฐ”์ธ๋“œ ๋ฉ”์„œ๋“œ๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ „๋‹ฌํ•˜๋ฏ€๋กœ Transport Security ์—์„œ TLS ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    SASL ๋ฉ”์ปค๋‹ˆ์ฆ˜

    MongoDB๊ฐ€ LDAP ์„œ๋ฒ„์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” SASL ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ(LDAP ๋ฐ”์ธ๋“œ ๊ณ ์œ  ์ด๋ฆ„)

    LDAP ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๋•Œ MongoDB๊ฐ€ ๋ฐ”์ธ๋”ฉํ•  LDAP ๊ณ ์œ  ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    ์ฟผ๋ฆฌ ๋น„๋ฐ€๋ฒˆํ˜ธ (LDAP ๋ฐ”์ธ๋“œ ๊ณ ์œ  ์ด๋ฆ„)

    LDAP ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๋•Œ MongoDB๊ฐ€ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    LDAP ์‚ฌ์šฉ์ž ์บ์‹œ ๋ฌดํšจํ™” ๊ฐ„๊ฒฉ

    MongoDB๊ฐ€ LDAP ์‚ฌ์šฉ์ž ์บ์‹œ๋ฅผ ํ”Œ๋Ÿฌ์‹œํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 30 ์ดˆ์ž…๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž์™€ ๊ณ ์œ  ์ด๋ฆ„ ๋งคํ•‘

    MongoDB๊ฐ€ ์ธ์ฆ๋œ MongoDB ์‚ฌ์šฉ์ž ์ด๋ฆ„์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ •๋ ฌ๋œ ๋ณ€ํ™˜์„ ์ œ๊ณตํ•˜๋Š” JSON ๋ฌธ์„œ ๋ฐฐ์—ด์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MongoDB๋Š” ๋ณ€ํ™˜๋œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ LDAP DN๊ณผ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค.

    LDAP ์„œ๋ฒ„ ๊ตฌ์„ฑ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

    LDAP ์„œ๋ฒ„ ๊ตฌ์„ฑ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๋ ค๋ฉด ON ์„ ์„ ํƒํ•˜๊ณ  ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด OFF ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ON ๊ตฌ์„ฑ์ด ์œ ํšจํ•˜์ง€ ์•Š์œผ๋ฉด MongoDB deployment๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  2. LDAP Authorization ์„น์…˜์— ๋‹ค์Œ ํ•„๋“œ์— ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ์„ค์ •
    ๊ฐ’

    LDAP Authorization

    LDAP ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ON ์œผ)๋กœ ํ† ๊ธ€ํ•ฉ๋‹ˆ๋‹ค.

    Authorization Query Template

    LDAP ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ LDAP ๊ทธ๋ฃน ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋ ค๋ฉด LDAP ์ฟผ๋ฆฌ URL ํ…œํ”Œ๋ฆฟ์„ ์ง€์ •ํ•˜์„ธ์š”.

    User to Distinguished Name Mapping

    MongoDB๊ฐ€ ์ธ์ฆ๋œ MongoDB ์‚ฌ์šฉ์ž ์ด๋ฆ„์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ •๋ ฌ๋œ ๋ณ€ํ™˜์„ ์ œ๊ณตํ•˜๋Š” JSON ๋ฌธ์„œ ๋ฐฐ์—ด์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MongoDB๋Š” ๋ณ€ํ™˜๋œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ LDAP DN๊ณผ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค.

5

์ฐธ๊ณ 

๊ธฐ์–ต

Ops Manager๋Š” ์—์ด์ „ํŠธ๊ฐ€ ๋ฐฐํฌ๋‹น ํ•˜๋‚˜์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

  1. Agent Auth Mechanism ์„น์…˜์—์„œ LDAP ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. MongoDB Agent์— ๋Œ€ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    ์„ค์ •
    ๊ฐ’

    MongoDB Agent Username

    LDAP ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    MongoDB Agent Password

    ์—์ด์ „ํŠธ์˜ LDAP ์‚ฌ์šฉ์ž ์ด๋ฆ„์— ๋Œ€ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    MongoDB Agent LDAP ๊ณ ์œ  ์ด๋ฆ„ ๊ทธ๋ฃน

    LDAP ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•œ ๊ฒฝ์šฐ MongoDB Agent ์‚ฌ์šฉ์ž๊ฐ€ ์†ํ•œ ๊ทธ๋ฃน์˜ DN ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

6
7
8

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Cancel์„(๋ฅผ) ํด๋ฆญํ•˜๋ฉด ์ถ”๊ฐ€๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

9

LDAP ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•œ ํ›„์—๋Š” LDAP ๊ถŒํ•œ ๋ถ€์—ฌ์— ์ง€์ •ํ•œ ๊ฐ LDAP ๊ทธ๋ฃน์— ๋Œ€ํ•ด ์‚ฌ์šฉ์ž ์ง€์ • MongoDB ์—ญํ• ์„ ์ƒ์„ฑ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ