์์ฒด ๊ด๋ฆฌํ ๋ฐฐํฌ์๋ฒ์ ์ญํ ๊ธฐ๋ฐ ์ก์ธ์ค ์ ์ด
์ด ํ์ด์ง์ ๋ด์ฉ
MongoDB๋ RBAC(์ญํ ๊ธฐ๋ฐ ์ก์ธ์ค ์ ์ด)๋ฅผ ์ฌ์ฉํ์ฌ MongoDB ์์คํ ์ ๋ํ ์ก์ธ์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ฌ์ฉ์์๊ฒ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฆฌ์์ค ๋ฐ ์ฐ์ฐ์ ๋ํ ์ฌ์ฉ์์ ์ก์ธ์ค๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ด ํ๋ ์ด์ ๋ถ์ฌ๋ฉ๋๋ค. ์ญํ ์ด ํ ๋น๋์ง ์์ ์ฌ์ฉ์๋ ์์คํ ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ก์ธ์ค ์ ์ด ํ์ฑํ
MongoDB๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ก์ธ์ค ์ ์ด๋ฅผ ํ์ฑํํ์ง ์์ต๋๋ค. --auth
๋๋ security.authorization
์ค์ ์ ์ฌ์ฉํ์ฌ ๊ถํ ๋ถ์ฌ์ ํ์ฑํํ ์ ์์ต๋๋ค. ๋ด๋ถ ์ธ์ฆ์ ํ์ฑํํ๋ฉด ํด๋ผ์ด์ธํธ ๊ถํ ๋ถ์ฌ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ก์ธ์ค ์ ์ด๊ฐ ํ์ฑํ๋๋ฉด ์ฌ์ฉ์๋ ์์ ์ ์ธ์ฆํด์ผ ํฉ๋๋ค.
์ญํ
์ญํ ์ ๋ฆฌ์์ค์ ๋ํด ์ง์ ๋ ์กฐ์น๋ฅผ ์ํํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. ๊ฐ ๊ถํ์ ์ญํ ์ ๋ช ์์ ์ผ๋ก ์ง์ ๋๊ฑฐ๋ ๋ค๋ฅธ ์ญํ ์์ ์์๋๊ฑฐ๋, ๋ ๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ๋ชจ๋ ์ ์ฉ๋ฉ๋๋ค.
์ก์ธ์ค
์ญํ ์ ๊ถํ์ ์ ํํ์ง ์์ต๋๋ค. ์ฌ์ฉ์์๊ฒ ๋ ๊ฐ์ง ์ญํ ์ด ์๋ ๊ฒฝ์ฐ ์ก์ธ์ค ๊ถํ์ด ๋ ํฐ ์ญํ ์ด ์ฐ์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ด๋ฏธ readWriteAnyDatabase
์ญํ ์ด ์๋ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ read
์ญํ ์ ๋ถ์ฌํ๋ ๊ฒฝ์ฐ read
๊ถํ์ ๋ถ์ฌํด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ์ฐ๊ธฐ ์ก์ธ์ค๋ฅผ ์ทจ์ํ์ง ์์ต๋๋ค.
์ฌ์ฉ์์ ์ญํ ์ ์ทจ์ํ๋ ค๋ฉด revokeRolesFromUser
๋ช
๋ น์ ์ฌ์ฉํฉ๋๋ค.
์ธ์ฆ ์ ํ
์ญํ ์ ์ฌ์ฉ์์๊ฒ ์ธ์ฆ ์ ํ์ ๋ถ๊ณผํ์ฌ ์ง์ ๋ ์์ค ๋ฐ ๋์ IP ์ฃผ์ ๋ฒ์์์ ์ฐ๊ฒฐํ๋๋ก ์๊ตฌํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ์ธ์ฆ ์ ํ์ ์ฐธ์กฐํ์ธ์.
๊ถํ
๊ถํ์ ์ง์ ๋ ๋ฆฌ์์ค์ ํด๋น ๋ฆฌ์์ค์ ๋ํด ํ์ฉ๋ ์กฐ์น๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ฆฌ์์ค ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ปฌ๋ ์ , collection ์ค์ ํ๋ค ๋๋ ํด๋ฌ์คํฐ ์ ๋๋ค. ๋ฆฌ์์ค ๊ฐ ํด๋ฌ์คํฐ ์ธ ๊ฒฝ์ฐ ๊ด๋ จ ์์ ์ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ปฌ๋ ์ ์ด ์๋ ์์คํ ์ํ ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ฆฌ์์ค ๋ฌธ์์ ๋ํ ์์ธํ ๋ด์ฉ ์ ์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ์๋ฒ์๋ํ ๋ฆฌ์์ค ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์กฐ์น ์ ๋ฆฌ์์ค ์ ํ์ฉ๋๋ ์์ ์ ์ง์ ํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์์ ์ ์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ์๋ฒ์ ๋ํ ๊ถํ ์์ ์ ์ฐธ์กฐํ์ธ์.
์์๋ ๊ถํ
์ญํ ์ ์ ์์ ๊ธฐ์กด ์ญํ ์ ํ๋ ์ด์ ํฌํจํ ์ ์์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ ์ญํ ์ ํฌํจ๋ ์ญํ ์ ๋ชจ๋ ๊ถํ์ ์์ํฉ๋๋ค.
์ญํ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ค๋ฅธ ์ญํ ๋ก๋ถํฐ ๊ถํ์ ์์๋ฐ์ ์ ์์ต๋๋ค. 0} ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ง๋ ์ญํ ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ญํ ์์ ๊ถํ์ ์์ํ ์ ์์ต๋๋ค.admin
์ญํ ์ ๊ถํ ๋ณด๊ธฐ
showPrivileges
๋ฐ
showBuiltinRoles
ํ๋๋ฅผ ๋ชจ๋ true
๋ก ์ค์ ํ ์ํ์์ rolesInfo
๋ช
๋ น์ ์คํํ์ฌ ์ญํ ์ ๋ํ ๊ถํ์ ๋ณผ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ๋ฐ ์ญํ
์ฌ์ฉ์๋ฅผ ์์ฑํ๋ ๋์ ์ฌ์ฉ์์๊ฒ ์ญํ ์ ํ ๋นํ ์ ์์ต๋๋ค. ๊ธฐ์กด ์ฌ์ฉ์๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ์ญํ ์ ๋ถ์ฌํ๊ฑฐ๋ ์ทจ์ํ ์๋ ์์ต๋๋ค. ์ฌ์ฉ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์ ์ฒด ๋ชฉ๋ก์ ์ฌ์ฉ์ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ญํ ์ด ํ ๋น๋ ์ฌ์ฉ์๋ ํด๋น ์ญํ ์ ๋ชจ๋ ๊ถํ์ ๋ฐ์ต๋๋ค. ํ ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์ญํ ์ ๊ฐ์ง ์ ์์ต๋๋ค. ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ์ ์ญํ ์ ํ ๋นํ๋ฉด ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์์ฑ๋ ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์์ ํ ์ ์๋ ๊ถํ์ ๊ฐ์ง ์ ์์ต๋๋ค.
์ฐธ๊ณ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ฒซ ๋ฒ์งธ๋ก ์์ฑ๋๋ ์ฌ์ฉ์๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌ ์๋ ๊ถํ์ด ์๋ ์ฌ์ฉ์ ๊ด๋ฆฌ์์ฌ์ผ ํฉ๋๋ค. ์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ์๋ฒ์์ ์ก์ธ์ค ์ ์ด ํ์ฑํ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ด์ฅ๋ ์ญํ ๋ฐ ์ฌ์ฉ์ ์ ์ ์ญํ
MongoDB๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ์ผ๋ฐ์ ์ผ๋ก ํ์ํ ์ผ๋ จ์ ๊ถํ์ ์ ๊ณตํ๋ ๋ด์ฅ๋ ์ญํ ์ ์ ๊ณตํฉ๋๋ค.
์ด๋ฌํ ๊ธฐ๋ณธ ์ ๊ณต ์ญํ ๋ก ์ํ๋ ๊ถํ ์งํฉ์ ์ ๊ณตํ ์ ์๋ ๊ฒฝ์ฐ, MongoDB๋ ์ฌ์ฉ์ ์ ์ ์ญํ ์ ์์ฑํ๊ณ ์์ ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
LDAP ์ธ์ฆ
์ฐธ๊ณ
MongoDB 8.0 ๋ถํฐ ์์๋ฉ๋๋ค. LDAP ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. LDAP ๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ MongoDB 8 ์ ์๋ช ๊ธฐ๊ฐ ๋์ ๋ณ๊ฒฝ ์์ด ๊ณ์ ์๋ํฉ๋๋ค. LDAP ๋ ํฅํ ์ฃผ์ ์ถ์ํ๋ค ์์ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค.
์์ธํ ๋ด์ฉ์ LDAP ์ฌ์ฉ ์ค๋จ์ ์ฐธ์กฐํ์ธ์.
MongoDB Enterprise๋ ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์ํ LDAP ๊ทธ๋ฃน์ ๋ํ LDAP ์๋ฒ ์ฟผ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. MongoDB๋ ๋ฐํ๋ ๊ฐ ๊ทธ๋ฃน์ DN(๊ณ ์ ์ด๋ฆ)์ admin
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ญํ ์ ๋งคํํฉ๋๋ค. MongoDB๋ ๋งคํ๋ ์ญํ ๋ฐ ๊ด๋ จ ๊ถํ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LDAP ๊ถํ ๋ถ์ฌ ๋ฅผ ์ฐธ์กฐํ์ธ์.