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 ๋ฐฐํฌ ๋ฅผ ๊ด๋ฆฌ ํด์ ํฉ๋๋ค.
๋ฐฐํฌ์๋ฒ ์๋ฒ์ ๋ํ ๋ํ ์์๋ก ์ด๋ํฉ๋๋ค.Security Settings
์ด๋ฏธ ํ์๋์ด ์์ง ์์ ๊ฒฝ์ฐ ํ์ ๋ชจ์์ Organizations ๋ฉ๋ด์์ ์ํ๋ ํ๋ก์ ํธ๊ฐ ํฌํจ๋ ์กฐ์ง์ ์ ํํฉ๋๋ค.
์ด๋ฏธ ํ์๋์ด ์์ง ์์ ๊ฒฝ์ฐ Projects ํ์ ๋ชจ์์ ํ๋ก์ ํธ ๋ฉ๋ด์์ ์ํ๋ ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
์์ง ํ์๋์ง ์์ ๊ฒฝ์ฐ ์ฌ์ด๋๋ฐ์์ Deployment ํด๋ฆญํ์ธ์.
Security ํญ์ ํด๋ฆญํฉ๋๋ค.
Settings ํญ์ ํด๋ฆญํฉ๋๋ค.
๋ค์ ์์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
์ด ํ๋ก์ ํธ์ ๋ํ TLS, ์ธ์ฆ ๋๋ ๊ถํ ๋ถ์ฌ ์ค์ ์ ์ฒ์ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ Get Started์(๋ฅผ) ํด๋ฆญํฉ๋๋ค.
์ด ํ๋ก์ ํธ์ ๋ํ TLS ์ธ์ฆ ๋๋ ๊ถํ ๋ถ์ฌ ์ค์ ์ ์ด๋ฏธ ๊ตฌ์ฑํ ๊ฒฝ์ฐ Edit์(๋ฅผ) ํด๋ฆญํฉ๋๋ค.
์ ํ ์ฌํญ: TLS ์ค์ ์ ์ง์ ํฉ๋๋ค.
ํ๋ | ์์
| ||||
---|---|---|---|---|---|
MongoDB deployment TLS(์ ์ก ๊ณ์ธต ๋ณด์) | ์ด ์ฌ๋ผ์ด๋๋ฅผ ON(์ผ)๋ก ์ ํํฉ๋๋ค. | ||||
TLS CA ํ์ผ ๊ฒฝ๋ก | TLS ์ธ์ฆ ๊ธฐ๊ด ํ์ผ์ ์ธ์ฆ ๊ธฐ๊ด์ ๋ฃจํธ ์ธ์ฆ์ ์ฒด์ธ์ ํฌํจํ๋ ์ธ์ฆ์ ํ์ผ์ ์ํธํ๋ ๋น๊ณต๊ฐ ํค๋ MongoDB ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ ๋ชจ๋ ํธ์คํธ์์ TLS ์ธ์ฆ ๊ธฐ๊ด ํ์ผ์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ํ๋ก์ ํธ์ MongoDB ํ๋ก์ธ์ค์ ๋ํ ๋ฐฐํฌ์๋ฒ์ ๊ฐ ํธ์คํธ์ ์ง์ ๋ ๊ฒฝ๋ก์ TLS ์ธ์ฆ ๊ธฐ๊ด์ด ์๋์ง ํ ์คํธํ๋ ค๋ฉด Validate์(๋ฅผ) ํด๋ฆญํ์ธ์. | ||||
ํด๋ฌ์คํฐ TLS CA ํ์ผ ๊ฒฝ๋ก | ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ์ ๊ตฌ์ถํ ๋ ์ ์ํ ์ธ์ฆ์์ ์ ํจ์ฑ์ ๊ฒ์ฌํ ๋ ์ฌ์ฉ๋ ์ธ์ฆ ๊ธฐ๊ด์ ๋ฃจํธ ์ธ์ฆ์ ์ฒด์ธ์ด ํฌํจ๋์ด ์๋
| ||||
ํด๋ผ์ด์ธํธ ์ธ์ฆ์ ๋ชจ๋ | TLS ์ง์ MongoDB deployment์ ์ฐ๊ฒฐํ ๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ MongoDB Agent๊ฐ TLS ์ธ์ฆ์๋ฅผ ์ ์ํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ํํฉ๋๋ค. ๊ฐ MongoDB deployment๋ ์ฐ๊ฒฐ์ ์๋ํ ๋ ์ด๋ฌํ ํด๋ผ์ด์ธํธ ํธ์คํธ์ ์ธ์ฆ์๋ฅผ ํ์ธํฉ๋๋ค. ํด๋ผ์ด์ธํธ TLS ์ธ์ฆ์๋ฅผ ์๊ตฌํ๋๋ก ์ ํํ ๊ฒฝ์ฐ ์ธ์ฆ์๊ฐ ์ ํจํ์ง ํ์ธํ์ธ์. ํ์ฉ๋๋ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
|
๊ฒฝ๊ณ
LDAP(๊ฒฝ๋ ๋๋ ํ ๋ฆฌ ์ก์ธ์ค ํ๋กํ ์ฝ)์ ํจ๊ป TLS(์ ์ก ๊ณ์ธต ๋ณด์)/SSL(๋ณด์ ์์ผ ๊ณ์ธต) ์ฌ์ฉ ๊ถ์ฅ
๊ธฐ๋ณธ์ ์ผ๋ก LDAP ํธ๋ํฝ์ ์ผ๋ฐ ํ ์คํธ๋ก ์ ์ก๋ฉ๋๋ค. ์ฆ, ์๊ฒฉ ์ฆ๋ช (์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋น๋ฐ๋ฒํธ)์ด ์ค๋ํผ ๋ฐ ์ฌ์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๋คํธ์ํฌ ์ํ์ ๋ ธ์ถ๋ฉ๋๋ค. LDAPS (TLS /SSL์ํตํ LDAP)๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ์ํธํํฉ๋๋ค. Active Directory์ ๊ฐ์ ๋ง์ ์ต์ ๋๋ ํ ๋ฆฌ ์๋น์ค์๋ ์ํธํ๋ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค.
์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ ํํฉ๋๋ค.
MongoDB Deployment Authentication Mechanism ์น์ ์์ LDAP๋ฅผ ์ ํํฉ๋๋ค.
์ ์ ํ ์ ํ์ LDAP ์ธ์ฆ์ ์ ํํฉ๋๋ค.
์ค์
LDAP ๊ถํ ๋ถ์ฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Native LDAP Authentication ์(๋ฅผ) ์ ํํด์ผ ํฉ๋๋ค.
LDAP ๊ถํ ๋ถ์ฌ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ, MongoDB deployment์
$external
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ์๋ LDAP ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
LDAP ๊ถํ ๋ถ์ฌ ์ค์ ์ ๊ตฌ์ฑํฉ๋๋ค. (์ ํ ์ฌํญ)
์ค์
MongoDB 3.4๋ถํฐ๋ ๋จผ์ LDAP ๊ถํ ๋ถ์ฌ๋ฅผ ํ์ฑํํ๋ ํ $external
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ก์ปฌ ์ฌ์ฉ์ ๋ฌธ์ ์์ด๋ LDAP, Kerberos ๋๋ X.509 ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฌ์ฉ์๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆ๋๋ฉด MongoDB๋ LDAP ์๋ฒ์ ๋ํด ์ฟผ๋ฆฌ๋ฅผ ์ํํ์ฌ LDAP ์ฌ์ฉ์๊ฐ ์์ ํ ๋ชจ๋ ๊ทธ๋ฃน์ ๊ฒ์ํ๊ณ ํด๋น ๊ทธ๋ฃน์ ๋๋ฑํ MongoDB ์ญํ ๋ก ๋ณํํฉ๋๋ค.
์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉ ํ๋ฉด MongoDB ํ๋ก์ธ์ค๊ฐ ๋กค๋ง ๋ฐฉ์์ผ๋ก ๋ค์ ์์๋ฉ๋๋ค.
์ด์ ๋จ๊ณ์์ Saslauthd ์(๋ฅผ) ์ ํํ ๊ฒฝ์ฐ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋๋๋ค.
Native LDAP Authentication ์(๋ฅผ) ์ ํํ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
๋ค์ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ค์ ๊ฐ์๋ฒ 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๊ฐ ์์๋์ง ์์ต๋๋ค.LDAP Authorization ์น์ ์ ๋ค์ ํ๋์ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ค์ ๊ฐLDAP Authorization
LDAP ๊ถํ ๋ถ์ฌ๋ฅผ ํ์ฑํํ๋ ค๋ฉด ON ์ผ)๋ก ํ ๊ธํฉ๋๋ค.
Authorization Query Template
LDAP ์ฌ์ฉ์์ ๋ํ LDAP ๊ทธ๋ฃน ๋ชฉ๋ก์ ์กฐํํ๋ ค๋ฉด LDAP ์ฟผ๋ฆฌ URL ํ ํ๋ฆฟ์ ์ง์ ํ์ธ์.
User to Distinguished Name Mapping
MongoDB๊ฐ ์ธ์ฆ๋ MongoDB ์ฌ์ฉ์ ์ด๋ฆ์ ๋ํด ์ํํ๋ ์ ๋ ฌ๋ ๋ณํ์ ์ ๊ณตํ๋ JSON ๋ฌธ์ ๋ฐฐ์ด์ ์ง์ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ MongoDB๋ ๋ณํ๋ ์ฌ์ฉ์ ์ด๋ฆ์ LDAP DN๊ณผ ์ผ์น์ํต๋๋ค.
LDAP ์(๋ฅผ) ์ฌ์ฉํ์ฌ MongoDB deployment ์ ์ฐ๊ฒฐํ๋๋ก ์์ด์ ํธ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ฐธ๊ณ
๊ธฐ์ต
Ops Manager๋ ์์ด์ ํธ๊ฐ ๋ฐฐํฌ๋น ํ๋์ ๋ฉ์ปค๋์ฆ ์ ์ฌ์ฉํ๋๋ก ์ ํํฉ๋๋ค.
Agent Auth Mechanism ์น์ ์์ LDAP ์ต์ ์ ์ ํํฉ๋๋ค.
MongoDB Agent์ ๋ํ ์๊ฒฉ ์ฆ๋ช ์ ์ ๊ณตํฉ๋๋ค.
์ค์ ๊ฐMongoDB Agent Username
LDAP ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
MongoDB Agent Password
์์ด์ ํธ์ LDAP ์ฌ์ฉ์ ์ด๋ฆ์ ๋ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
MongoDB Agent LDAP ๊ณ ์ ์ด๋ฆ ๊ทธ๋ฃน
LDAP ๊ถํ ๋ถ์ฌ๋ฅผ ํ์ฑํํ ๊ฒฝ์ฐ MongoDB Agent ์ฌ์ฉ์๊ฐ ์ํ ๊ทธ๋ฃน์ DN ์ ์ ๋ ฅํฉ๋๋ค.
LDAP ๊ทธ๋ฃน์ ๋ํ MongoDB ์ญํ ์ ์์ฑํฉ๋๋ค. (์ ํ ์ฌํญ)
LDAP ๊ถํ ๋ถ์ฌ๋ฅผ ํ์ฑํํ ํ์๋ LDAP ๊ถํ ๋ถ์ฌ์ ์ง์ ํ ๊ฐ LDAP ๊ทธ๋ฃน์ ๋ํด ์ฌ์ฉ์ ์ง์ MongoDB ์ญํ ์ ์์ฑ ํด์ผ ํฉ๋๋ค.