mongokerberos
Synopsis
MongoDB Enterprise ๋ mongokerberos
MongoDB Kerberos ์คํ Kerberos ๋ฐฐํฌ์๋ฒ ์ ๋ํด ์ ๋ฐ GSSAPI ๊ตฌ์ฑ ์ต์
์ ํ
์คํธํ๊ธฐ ์ํด ๋ฅผ ์ ๊ณตํฉ๋๋ค. mongokerberos
์(๋) ์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ ๋ชจ๋ ์ค ํ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ชจ๋ | ์ค๋ช
|
---|---|
์๋ฒ | ์๋ฒ ๋ชจ๋ ์์ ๋ ์๋ฒ ์ Kerberos ๊ด๋ จ ๊ตฌ์ฑ์ ๋ถ์ํ๊ณ ๋ฌธ์ ๊ฐ ์๋ ๋ชจ๋ ๊ตฌ์ฑ์ ๋ํ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํฌํจ๋ ๋ณด๊ณ ์๋ฅผ |
๊ณ ๊ฐ | ํด๋ผ์ด์ธํธ ๋ชจ๋ ์์ ๋ |
๋ ๋ชจ๋์ ๋ํ ์ค๋ฅ ๋ฉ์์ง์๋ ๋ฐ์ํ ํน์ ์ค๋ฅ์ ๋ํ ์ ๋ณด์ ์ค๋ฅ ํด๊ฒฐ์ ์ํ ์ ์ฌ์ ์ธ ์กฐ์ธ์ด ํฌํจ๋ฉ๋๋ค.
mongokerberos
์๋ฒ ๋ชจ๋์ ํด๋ผ์ด์ธํธ ๋ชจ๋ ๋ชจ๋์์ ๋ค์ ๋ฐฐํฌ ์ ํ์ ์ง์ํฉ๋๋ค.
Windows Active Directory ๋ฐฐํฌ์ ์ธ์ฆํ๋ Linux MongoDB ํด๋ผ์ด์ธํธ.
์ฐธ๊ณ
MongoDB Enterprise ๋ฐ ๋ mongokerberos
MIT ๊ตฌํ ๋ง ์ง์ Kerberos ํฉ๋๋ค. ์ .
์ผ๋ฐ์ ์ผ๋ก Kerberos ์ธ์ฆ ๊ณผ ๊ด๋ จ๋ ์ต์
์ ๊ตฌ์ฑํ ๋๋ mongokerberos
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
mongokerberos
์(๋) ํ
์คํธ ๋ฐ ๊ฒ์ฆ ๋๊ตฌ์
๋๋ค. ํ์ผ์ ํธ์งํ๊ฑฐ๋ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ์ง ์์ต๋๋ค. ํ๋ซํผ์์ Kerberos๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด MIT Kerberos ์ค๋ช
์ ๋ฅผ ์ฐธ์กฐํ์ธ์. ๋๋ ํด๋น ํ๋ซํผ์ ์ค๋ช
์๋ฅผ ์ฐธ์กฐํ์ธ์. Kerberos๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ๋๋ก MongoDB๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ค์ ํํ ๋ฆฌ์ผ์ ์ฐธ์กฐํ์ธ์.
Linux ์์ Kerberos ์ธ์ฆ์ ์ฌ์ฉํ์ฌ ์์ฒด ๊ด๋ฆฌํ MongoDB ๊ตฌ์ฑ
Windows ์์ Kerberos ์ธ์ฆ์ ์ฌ์ฉํ์ฌ ์์ฒด ๊ด๋ฆฌํ MongoDB ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ด ๋ฌธ์์์๋ mongokerberos
์ ๋ํ ๋ชจ๋ ๋ช
๋ น์ค ์ต์
์ ๋ํ ์ ์ฒด ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ค์น
mongokerberos
๋๊ตฌ๋ MongoDB database ๋๊ตฌ ์ถ๊ฐ ํจํค์ง์ ์ผ๋ถ์ด๋ฉฐ, MongoDB Server์ ํจ๊ป ๋๋ ๋
๋ฆฝํ ์ค์น๋ก ์ค์นํ ์ ์์ต๋๋ค.
MongoDB ์๋ฒ๋ก ์ค์น
MongoDB Server ์ค์น์ ์ผ๋ถ๋ก ์(๋ฅผ) ์ค์นํ๋ ค๋ฉด mongokerberos
MongoDB Enterprise ๋ค์์ ์ํํฉ๋๋ค.
ํ๋ซํผ์ ๋ง๋ ์ง์นจ์ ๋ฐ๋ฅด์ธ์: MongoDB Enterprise MongoDB Server ์ค์น
์ค์น๊ฐ ์๋ฃ๋๋ฉด
mongokerberos
๋ฐ ๊ธฐํ ํฌํจ๋ ๋๊ตฌ๋ฅผ MongoDB Server์ ๋์ผํ ์์น์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.์ฐธ๊ณ
Windows
.msi
์ค์น ํ๋ก๊ทธ๋จ ๋ง๋ฒ์ฌ์ ๊ฒฝ์ฐ Complete ์ค์น ์ต์ ์๋mongokerberos
๊ฐ ํฌํจ๋ฉ๋๋ค.
๋ ๋ฆฝํ์ผ๋ก ์ค์น
mongokerberos
๋ฅผ ๋
๋ฆฝํ ์ค์น๋ก ์ค์นํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
MongoDB Enterprise ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ์ธ์: MongoDB Enterprise ๋ค์ด๋ก๋ ์ผํฐ
๋๋กญ๋ค์ด ๋ฉ๋ด์์ Platform (์ด์ ์ฒด์ )๋ฅผ ์ ํํ ๋ค์, ๋ค์ ์ฐจํธ์ ๋ฐ๋ผ ํ๋ซํผ์ ์ ํฉํ Package ๋ฅผ ์ ํํฉ๋๋ค.
OSํจํค์งLinux
tgz
ํจํค์งWindows
zip
ํจํค์งmacOS
tgz
ํจํค์ง๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด ์์นด์ด๋ธ์ ์์ถ์ ํ๊ณ
mongokerberos
๋ฅผ ํ๋ ๋๋ผ์ด๋ธ์ ์์น์ ๋ณต์ฌํฉ๋๋ค.ํ
Linux ๋ฐ macOS ์ฌ์ฉ์๋
mongokerberos
๋ฅผ$PATH
ํ๊ฒฝ ๋ณ์์ ์ ์๋ ํ์ผ ์์คํ ์์น(์:/usr/bin
)์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ฑฐ๋ ๋จผ์ ์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ง ์๊ณ ๋ ๋ช ๋ น์ค์์mongokerberos
๋ฅผ ์ด๋ฆ์ผ๋ก ์ง์ ์ฐธ์กฐํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋น ํ๋ซํผ์ ์ค์น ๊ฐ์ด๋ ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฌ์ฉ๋ฒ
mongokerberos
๋ ์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ ์ ๋ ๊ฐ์ง ๋ชจ๋๋ก ์คํํ ์ ์์ต๋๋ค.
mongosh
๊ฐ ์๋ ์์คํ
๋ช
๋ น์ค์์ mongokerberos
๋ฅผ ์คํ .
์๋ฒ ๋ชจ๋
์๋ฒ ๋ชจ๋ ์์ mongokerberos
๋ฅผ ์คํํ๋ฉด ์ ์ ํ DNS ํ์ธ ํ์ธ, Kerberos ์์คํ
ํคํญ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฌ , mongod
๋๋ mongos
์ ๋ํ MongoDB ์๋น์ค ์ฃผ์ฒด์ ๋ํ ํ
์คํธ ๋ฑ ์์คํ
์ Kerberos ๊ตฌ์ฑ์ ๋ํด ์ผ๋ จ์ ํ์ธ ๋จ๊ณ๊ฐ ์ํ๋ฉ๋๋ค. ์ธ์คํด์ค.
์๋ฒ ๋ชจ๋์์ mongokerberos
๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
ํ๋ซํผ์ ์ค๋ช ์์ ๋ฐ๋ผ ํ๋ซํผ์์ Kerberos ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
๋ค์ ๋จ๊ณ์ ์ค๋ช ๋ ๋๋ก
mongod
๋๋mongos
์ธ์คํด์ค ์ ํจ๊ป ์ฌ์ฉํ MongoDB ์๋น์ค ์ฃผ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
์ด ๋จ๊ณ๋ฅผ ์๋ฃํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด --server
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ชจ๋ ์์ mongokerberos
๋ฅผ ์คํ ์ ์์ต๋๋ค.
mongokerberos --server
์๋ฒ ์ Kerberos ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋๊ณ ์๋น์ค ์ฃผ์ฒด๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋ ๊ฒฝ์ฐ ์ถ๋ ฅ์ ๋ค์๊ณผ ์ ์ฌํ ์ ์์ต๋๋ค.
Resolving kerberos environment... [OK] Kerberos environment resolved without errors. Verifying DNS resolution works with Kerberos service at <hostname>... [OK] DNS test successful. Getting MIT Kerberos KRB5 environment variables... * KRB5CCNAME: not set. * KRB5_CLIENT_KTNAME: not set. * KRB5_CONFIG: not set. * KRB5_KTNAME: not set. * KRB5_TRACE: not set. [OK] Verifying existence of KRB5 keytab FILE:/etc/krb5.keytab... [OK] KRB5 keytab exists and is populated. Checking principal(s) in KRB5 keytab... Found the following principals for MongoDB service mongodb: * mongodb/server.example.com@SERVER.EXAMPLE.COM Found the following kvnos in keytab entries for service mongodb: * 3 [OK] KRB5 keytab is valid. Fetching KRB5 Config... KRB5 config profile resolved as: <Your Kerberos profile file will be output here> [OK] KRB5 config profile resolved without errors. Attempting to initiate security context with service credentials... [OK] Security context initiated successfully.
๋ง์ง๋ง ๋ฉ์์ง๋ ์์คํ ์ Kerberos ๊ตฌ์ฑ์ MongoDB ์์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์์ ๋ํ๋ ๋๋ค. ๊ตฌ์ฑ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ถ๋ ฅ์ ์ผ๋ถ๋ก ํ์๋ฉ๋๋ค.
ํด๋ผ์ด์ธํธ ๋ชจ๋
ํด๋ผ์ด์ธํธ ๋ชจ๋์์ mongokerberos
๋ฅผ ์คํํ๋ฉด ์์คํ
์ Kerberos ํ๊ฒฝ์ ๋ํ ์ธ์ฆ์ ํ
์คํธํ๊ณ , ์ ์ ํ DNS ํ์ธ ํ์ธ, Kerberos ํด๋ผ์ด์ธํธ ํคํญ ํ์ผ ํ์ธ, ํฐ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ๋ถ์ฌ๋ ์ ์๋์ง ํ
์คํธ ๋ฑ Kerberos ์ธ์ฆ ํ๋ก์ธ์ค์ ๊ฐ ๋จ๊ณ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ ๋ชจ๋์์ mongokerberos
๋ฅผ ์คํํ๋ฉด mongosh
์ ํด๋ผ์ด์ธํธ ์ธ์ฆ ์ ์ฐจ๋ฅผ ์๋ฎฌ๋ ์ด์
ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ๋ชจ๋ ์์ mongokerberos
์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ํ๋ซํผ์ ์ค๋ช
์์ ๋ฐ๋ผ ํ๋ซํผ์ Kerberos ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์ ํ ์ฌํญ์ผ๋ก,mongokerberos
ํด๋ผ์ด์ธํธ ๋ชจ๋ ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋จผ์ ์๋ฒ ๋ชจ๋ ์์ ๋ฅผ ์คํ ํ์ฌ ํ๋ซํผ์ Kerberos ๊ตฌ์ฑ์ด ์ ํจํ์ง ํ์ธํ ์๋ ์์ต๋๋ค.
์ด ๋จ๊ณ๋ฅผ ์๋ฃํ ํ์๋ ๋ค์๊ณผ ๊ฐ์ด --client
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ๋ชจ๋ ์์ mongokerberos
๋ฅผ ์คํ ํ์ฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ํ
์คํธํ ์ ์์ต๋๋ค.
mongokerberos --client --username <username>
์ธ์ฆ ์ ์ฐจ์ ์ผ๋ถ๋ก Kerberos ํฐ์ผ์ ์์ฒญํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ ํจํ ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ํ๋ซํผ์ Kerberos ์ธํ๋ผ๋ ์ด ์ฌ์ฉ์๋ฅผ ์๊ณ ์์ด์ผ ํฉ๋๋ค.
์ ๊ณต๋ ์๊ฒฉ ์ฆ๋ช ์ด ์ ํจํ๊ณ ๊ตฌ์ฑ ํ์ผ์ Kerberos ์ต์ ์ด ์ ํจํ ๊ฒฝ์ฐ ์ถ๋ ฅ์ ๋ค์๊ณผ ์ ์ฌํ ์ ์์ต๋๋ค.
Resolving kerberos environment... [OK] Kerberos environment resolved without errors. Verifying DNS resolution works with Kerberos service at <hostname>... [OK] DNS test successful. Getting MIT Kerberos KRB5 environment variables... * KRB5CCNAME: not set. * KRB5_CLIENT_KTNAME: not set. * KRB5_CONFIG: not set. * KRB5_KTNAME: not set. * KRB5_TRACE: not set. [OK] Verifying existence of KRB5 client keytab FILE:/path/to/client.keytab... [OK] KRB5 client keytab exists and is populated. Checking principal(s) in KRB5 keytab... [OK] KRB5 keytab is valid. Fetching KRB5 Config... KRB5 config profile resolved as: <Your Kerberos profile file will be output here> [OK] KRB5 config profile resolved without errors. Attempting client half of GSSAPI conversation... [OK] Client half of GSSAPI conversation completed successfully.
์ต์ข ๋ฉ์์ง๋ ์ ๊ณต๋ ์ฌ์ฉ์์ ๋ํด ํด๋ผ์ด์ธํธ ์ธ์ฆ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์์ ๋ํ๋ ๋๋ค. ์ธ์ฆ ๋จ๊ณ ์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ถ๋ ฅ์ ์ผ๋ถ๋ก ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
์ต์
--server
์๋ฒ ๋ชจ๋ ์์
mongokerberos
๋ฅผ ์คํํ์ฌ ํ๋ซํผ์ Kerberos ๊ตฌ์ฑ์ด MongoDB ์ ํจ๊ป ์ฌ์ฉํ๊ธฐ์ ์ ํจํ์ง ํ ์คํธํฉ๋๋ค.์ฌ์ฉ ์์ ๋ฐ ์์ ์ถ๋ ฅ์ ์๋ฒ ๋ชจ๋ ๋ฅผ ์ฐธ์กฐํ์ธ์.
--client
ํด๋ผ์ด์ธํธ ๋ชจ๋ ์์
mongokerberos
๋ฅผ ์คํํ์ฌ ์์คํ ์ Kerberos ํ๊ฒฝ์ ๋ํด ํด๋ผ์ด์ธํธ ์ธ์ฆ ์ ํ ์คํธํฉ๋๋ค. ํด๋ผ์ด์ธํธ ๋ชจ๋ ์์ ์คํ ๋--username
๋ฅผ ์ฌ์ฉํ์ฌ ์ ํจํ ์ฌ์ฉ์ ์ด๋ฆ ์ ์ง์ ํด์ผ ํฉ๋๋ค.mongokerberos
๋ ์ ํจ์ฑ ๊ฒ์ฌ ์ ์ฐจ์ ์ผํ์ผ๋ก ์ด ์ฌ์ฉ์ ์ด๋ฆ ์ ๋ํ Kerberos ํฐ์ผ ์ ์์ฒญ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ ๋ชจ๋ ์์mongokerberos
๋ฅผ ์คํํ๋ฉดmongosh
์ ํด๋ผ์ด์ธํธ ์ธ์ฆ ์ ์ฐจ๋ฅผ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค์ฌ์ฉ ์์ ๋ฐ ์์ ์ถ๋ ฅ์ ํด๋ผ์ด์ธํธ ๋ชจ๋ ๋ฅผ ์ฐธ์กฐํ์ธ์.
--config <filename>, -f <filename>
๋ฐํ์ ๊ตฌ์ฑ ์ต์ ์ ๋ํ ๊ตฌ์ฑ ํ์ผ ์ ์ง์ ํฉ๋๋ค. ์ต์ ์ ๋ช ๋ น์ค ๊ตฌ์ฑ ์ต์ ๊ณผ ๋์ผํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์์ฒด ๊ด๋ฆฌํ ๊ตฌ์ฑ ํ์ผ ์ต์ ์ ์ฐธ์กฐํ์ธ์.
mongokerberos
๋ ์ด ํ์ผ์์saslHostName
๋ฐsaslServiceName
์ ๋ํ ๊ฐ์ ์ฝ์ต๋๋ค(์๋ ๊ฒฝ์ฐ). ์ด๋ฌํ ๊ฐ์ ๋์--setParameter
์ต์ ์ ์ฌ์ฉํ์ฌ ๋์ ์ง์ ํ ์ ์์ต๋๋ค.๊ตฌ์ฑ ํ์ผ์ด ASCII ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋์ง ํ์ธํฉ๋๋ค.
mongokerberos
์ธ์คํด์ค๋ UTF-8 ๋ฅผ ํฌํจํ์ฌ ASCII๊ฐ ์๋ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋ ๊ตฌ์ฑ ํ์ผ์ ์ง์ํ์ง ์์ต๋๋ค.
--setParameter <options>
๊ตฌ์ฑ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค. ์ฌ๋ฌ
setParameter
ํ๋๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.์ง์๋๋ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ฅผ
setParameter
๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ง๋งmongokerberos
๋ ๋ค์ ๊ฐ๋ง ํ์ธํฉ๋๋ค.์ด๋ฌํ ๊ฐ๋ ํฌํจํ๋ ๊ตฌ์ฑ ํ์ผ ์
--config
์ต์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐsetParameter
๊ฐ์ด ๊ตฌ์ฑ ํ์ผ ์ ๊ฐ์ ์ฌ์ ์ํฉ๋๋ค.์๋ฒ ๋ชจ๋ ์ ํด๋ผ์ด์ธํธ ๋ชจ๋ ๋ชจ๋์์ ์ ํจํฉ๋๋ค.
--host <hostname>
์ธ์ฆ์ ํ ์คํธํ ๋ ์ฐ๊ฒฐํ MongoDB ์๋ฒ์ ํธ์คํธ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
--host
์(๋ฅผ) ์ง์ ํ์ง ์์ผ๋ฉดmongokerberos
์(๋) ํธ์คํธ ์ด๋ฆ์ DNS ์ ํจ์ฑ ๊ฒ์ฌ ๋ฅผ ์ํํ์ง ์์ต๋๋ค(์ฆ, PTR ๊ธฐ๋ก ํ์ธ)
--username <username>, -u <username>
Kerberos ์ธ์ฆ์ ์๋ํ ๋ ์ฌ์ฉํ
mongokerberos
์ ์ฌ์ฉ์ ์ด๋ฆ์ ๋๋ค. ์ด ๊ฐ์ ํด๋ผ์ด์ธํธ ๋ชจ๋์์ ์คํํ ๋ ํ์ํฉ๋๋ค.
--gssapiServiceName <servicename>
๊ธฐ๋ณธ๊ฐ: 'MongoDB '
GSSAPI/Kerberos๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ ๋ ์ฌ์ฉํ ์๋น์ค ์ฃผ์ฒด ์ด๋ฆ์ ๋๋ค.