๋ฌธ์„œ ๋ฉ”๋‰ด

๋ฌธ์„œ ํ™ˆ โ†’ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ โ†’ MongoDB ๋งค๋‰ด์–ผ

db.changeUserPassword()

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • ์ •์˜
  • ํ•„์š”ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ
  • ํ–‰๋™
  • ์˜ˆ์ œ
db.changeUserPassword(username, password)

์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์ฆ‰ ์‚ฌ์šฉ์ž๋ฅผ created๋กœ ์ง€์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜
์œ ํ˜•
์„ค๋ช…
username
๋ฌธ์ž์—ด
๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
password
๋ฌธ์ž์—ด

์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ๊ฐ’์€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด๋กœ ๋œ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ

  • passwordPrompt() ์€(๋Š”) ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฌป๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํŒ

mongo shell ๋ฒ„์ „ 4.2๋ถ€ํ„ฐ ๋ฉ”์„œ๋“œ/๋ช…๋ น ํ˜ธ์ถœ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•˜๋Š” ๋Œ€์‹  passwordPrompt() ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ/๊ด€๋ฆฌ ๋ฉ”์„œ๋“œ/๋ช…๋ น๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ „ ๋ฒ„์ „์˜ mongo shell์—์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

writeConcern
๋ฌธ์„œ

์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ž‘์—…์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ณ ๋ ค ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ๊ณ ๋ ค ์‚ฌ์–‘์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— changePassword ์กฐ์น˜๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

๊ธฐ๋ณธ์ ์œผ๋กœ db.changeUserPassword() ๋Š” passwordPrompt() ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ง€์ •๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ MongoDB ์ธ์Šคํ„ด์Šค์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค. TLS ์ „์†ก ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ db.changeUserPassword() ์—์„œ ๋ณด๋‚ธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. TLS ์ „์†ก ์•”ํ˜ธํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ ์€ TLS/SSL์„ ์œ„ํ•œ mongod ๋ฐ mongos ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

MongoDB๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ „์†ก ์‹œ ๊ทธ๋ฆฌ๊ณ  TLS ์ „์†ก ์•”ํ˜ธํ™”๊ฐ€ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ž‘์—…์€ products ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ accountUser ๋ผ๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ SOh3TbYhx8ypJPxmt1oOfL๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

ํŒ

mongo shell ๋ฒ„์ „ 4.2๋ถ€ํ„ฐ ๋ฉ”์„œ๋“œ/๋ช…๋ น ํ˜ธ์ถœ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•˜๋Š” ๋Œ€์‹  passwordPrompt() ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ/๊ด€๋ฆฌ ๋ฉ”์„œ๋“œ/๋ช…๋ น๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ „ ๋ฒ„์ „์˜ mongo shell์—์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

use products
db.changeUserPassword("accountUser", passwordPrompt())

mongosh ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ db.changeUserPassword() ์— ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

use products
db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")
โ†ย db.auth()
db.createUser()ย โ†’