Auditing
์ด ํ์ด์ง์ ๋ด์ฉ
์ฐธ๊ณ
MongoDB Atlas์์์ ๊ฐ์ฌ
MongoDB Atlas๋ M10
์ด์์ ํด๋ฌ์คํฐ์ ๋ํ ๊ฐ์ฌ๋ฅผ ์ง์ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ MongoDB Atlas ๋ฌธ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฌ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
MongoDB Enterprise์๋ mongod
๋ฐ mongos
์ธ์คํด์ค์ ๋ํ ๊ฐ์ฌ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๊ฐ์ฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ด๋ฆฌ์์ ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์ฌ์ฉ์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ ๋ฐฐํฌ์๋ฒ์ ๋ํ ์์คํ
ํ๋์ ์ถ์ ํ ์ ์์ต๋๋ค.
๊ฐ์ฌ ์ถ๋ ฅ ํ์ฑํ ๋ฐ ๊ตฌ์ฑ
๊ฐ์ฌ ๊ธฐ๋ฅ์ ์ฝ์, syslog, JSON ํ์ผ ๋๋ BSON ํ์ผ์ ๊ฐ์ฌ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํ ์ ์์ต๋๋ค. MongoDB Enterprise์์ ๊ฐ์ฌ๋ฅผ ํ์ฑํํ๋ ค๋ฉด--auditDestination
์ ์ฌ์ฉํ์ฌ ๊ฐ์ฌ ์ถ๋ ฅ ๋์์ ์ค์ ํ์ธ์. ์์ธํ ๋ด์ฉ์ ๊ฐ์ฌ ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
๊ฐ์ฌ ๋ก๊ทธ ๋ฉ์์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ์์คํ ์ด๋ฒคํธ ๊ฐ์ฌ ๋ฉ์์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ์ฌ ์ด๋ฒคํธ ๋ฐ ํํฐ
๊ฐ์ฌ ์ด๋ฒคํธ๊ฐ ํ์ฑํ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์ ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค. [1]
์คํค๋ง(DDL),
๋ณต์ ๋ณธ ์ธํธ ๋ฐ ์ค๋ฉ๋ ํด๋ฌ์คํฐ,
์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ, ๊ทธ๋ฆฌ๊ณ
CRUD ์์ (
auditAuthorizationSuccess
์true
๋ก ์ค์ ํด์ผ ํจ)
์ฐธ๊ณ
MongoDB 5.0๋ถํฐ ์ธ์ปจ๋๋ฆฌ๋ ๋ณต์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ DDL ๊ฐ์ฌ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํ์ง ์์ต๋๋ค. DDL ๊ฐ์ฌ ์ด๋ฒคํธ๋ ์ฌ์ ํ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ system.profile
์ปฌ๋ ์
์ ์์ ํ๋ DDL ์์
์ ๋ํด ๊ธฐ๋ก๋ฉ๋๋ค.
๊ฐ์ฌ๋ ์์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฐ์ฌ ์ด๋ฒคํธ ์์ , ์ธ๋ถ ์ ๋ณด ๋ฐ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ์ฌ ์์คํ ์ ์ฌ์ฉํ๋ฉด ํํฐ๋ฅผ ์ค์ ํ์ฌ ์บก์ณ๋๋ ์ด๋ฒคํธ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ํํฐ๋ฅผ ์ค์ ํ๋ ค๋ฉด ๊ฐ์ฌ ํํฐ ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
[1] | ์ค๋จ๋ ํธ๋์ญ์ ๋ด์ ์์ ์ ์ฌ์ ํ ๊ฐ์ฌ ์ด๋ฒคํธ๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฌ๋ ํธ๋์ญ์ ์ด ์ค๋จ๋์์์ ๋ํ๋ด๋ ๊ฐ์ฌ ์ด๋ฒคํธ๋ ์์ต๋๋ค. |
๊ฐ์ฌ ๋ณด์ฆ
๊ฐ์ฌ ์์คํ ์ ๋ชจ๋ ๊ฐ์ฌ ์ด๋ฒคํธ[2]๋ฅผ ๊ฐ์ฌ ์ด๋ฒคํธ์ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ์ ๊ธฐ๋กํฉ๋๋ค. MongoDB๋ ์ด ๋ฒํผ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๋์คํฌ์ ๊ธฐ๋กํฉ๋๋ค. ๋จ์ผ ์ฐ๊ฒฐ์์ ์์ง๋ ์ด๋ฒคํธ์ ๊ฒฝ์ฐ, ์ด๋ฒคํธ์๋ ์ ์ฒด ์์๋ฅผ ๊ฐ์ง๋๋ค. ์ฆ, MongoDB๊ฐ ํ๋์ ์ด๋ฒคํธ๋ฅผ ๋์คํฌ์ ๊ธฐ๋กํ๋ ๊ฒฝ์ฐ, ์์คํ ์ ํด๋น ์ฐ๊ฒฐ์ ๋ํ ๋ชจ๋ ์ด์ ์ด๋ฒคํธ๋ฅผ ๋์คํฌ์ ๊ธฐ๋กํ์์ ๋ณด์ฅํฉ๋๋ค.
๊ฐ์ฌ ์ด๋ฒคํธ ํญ๋ชฉ์ด ๋ฐ์ดํฐ ์์ ๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด๊ตฌ์ฑ ์ํ์ ์ํฅ์ ๋ฏธ์น๋ ์์ ์ ํด๋นํ๋ ๊ฒฝ์ฐ, MongoDB๋ ํด๋น ํญ๋ชฉ์ ์ ๋์ ๊ธฐ๋กํ๊ธฐ ์ ์ ํญ์ ๊ฐ์ฌ ์ด๋ฒคํธ๋ฅผ ๋์คํฌ์ ๊ธฐ๋กํฉ๋๋ค.
์ฆ, ์ ๋์ ์์ ์ ์ถ๊ฐํ๊ธฐ ์ ์ MongoDB๋ ์์ ์ ๋ฐ์์ํจ ์ฐ๊ฒฐ์ ๋ํ ๋ชจ๋ ๊ฐ์ฌ ์ด๋ฒคํธ๋ฅผ ํด๋น ์์ ์ ํญ๋ชฉ๊น์ง ํฌํจํ์ฌ ๊ธฐ๋กํฉ๋๋ค.
์ด๋ฌํ ๊ฐ์ฌ๋ฅผ ๋ณด์ฅํ๋ ค๋ฉด journaling
์ด ํ์ฑํ๋ ์ํ์์ MongoDB๋ฅผ ์คํํด์ผ ํฉ๋๋ค.
๊ฒฝ๊ณ
๋ง์ฝ ์ด๋ฒคํธ๋ฅผ ๊ฐ์ฌ ๋ก๊ทธ์ ์ปค๋ฐํ๊ธฐ ์ ์ ์๋ฒ๊ฐ ์ข ๋ฃ๋๋ฉด MongoDB๋ ์ด๋ฒคํธ๋ฅผ ์์ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ MongoDB๊ฐ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์ปค๋ฐํ๊ธฐ ์ ์ ์ด๋ฒคํธ ํ์ธ์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ง๊ณ ์์ ์ ๊ฐ์ฌํ๋ ๋์ ์๋ฒ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ํ ๊ฐ์ฌ ๋ก๊ทธ๊ฐ ํ๋ฌ์(flush)๋๊ธฐ ์ ์ ์ข ๋ฃ๋ ์ ์์ต๋๋ค.
๋ํ ์๋ฒ๊ฐ audit destination
์ ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋กํ ์ ์๋ ๊ฒฝ์ฐ, ์๋ฒ๋ ์ข
๋ฃ๋ฉ๋๋ค.
[2] | ๊ฐ์ฌ ๊ตฌ์ฑ์๋ ๊ฐ์ฌํ ์ด๋ฒคํธ๋ฅผ ์ ํํ๋ ํํฐ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. |