Docs Menu

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] ๊ฐ์‚ฌ ๊ตฌ์„ฑ์—๋Š” ๊ฐ์‚ฌํ•  ์ด๋ฒคํŠธ๋ฅผ ์ œํ•œํ•˜๋Š” ํ•„ํ„ฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.