db.updateUser()
์ด ํ์ด์ง์ ๋ด์ฉ
์ ์
db.updateUser( username, update, writeConcern )
๋ฉ์๋๋ฅผ ์คํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ์ ํ๋กํ์ ์ ๋ฐ์ดํธํฉ๋๋ค. ํ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ฉด ์ด์ ํ๋์ ๊ฐ์ด ์์ ํ ๋ฐ๋๋๋ค. ์ฌ๊ธฐ์๋ ์ฌ์ฉ์์
roles
๋ฐฐ์ด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ํฌํจ๋ฉ๋๋ค.๊ฒฝ๊ณ
roles
๋ฐฐ์ด์ ์ ๋ฐ์ดํธํ๋ฉด ์ด์ ๋ฐฐ์ด์ ๊ฐ์ด ์์ ํ ๋์ฒด๋ฉ๋๋ค. ์ฌ์ฉ์์ ๊ธฐ์กด ์ญํ ์ ๋ชจ๋ ๋ฐ๊พธ์ง ์๊ณ ์ญํ ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ค๋ฉดdb.grantRolesToUser()
๋๋db.revokeRolesFromUser()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.db.updateUser()
๋ฉ์๋๋ ๋ค์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.ํ
๋ฉ์๋/๋ช ๋ น ํธ์ถ์์ ์ํธ๋ฅผ ์ง์ ์ง์ ํ๋ ๋์
passwordPrompt()
๋ฉ์๋๋ฅผ ๋ค์ํ ์ฌ์ฉ์ ์ธ์ฆ/๊ด๋ฆฌ ๋ฉ์๋/๋ช ๋ น๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ๋ฒ์ ์mongo
์ ธ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ์ง์ ํ ์๋ ์์ต๋๋ค.db.updateUser( "<username>", { customData : { <any information> }, roles : [ { role: "<role>", db: "<database>" } | "<role>", ... ], pwd: passwordPrompt(), // Or "<cleartext password>" authenticationRestrictions: [ { clientSource: ["<IP>" | "<CIDR range>", ...], serverAddress: ["<IP>", | "<CIDR range>", ...] }, ... ], mechanisms: [ "<SCRAM-SHA-1|SCRAM-SHA-256>", ... ], passwordDigestor: "<server|client>" }, writeConcern: { <write concern> } ) db.updateUser()
๋ฉ์๋์๋ ๋ค์๊ณผ ๊ฐ์ ์ธ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.Parameter์ ํ์ค๋ชusername
๋ฌธ์์ด
์ ๋ฐ์ดํธํ ์ฌ์ฉ์์ ์ด๋ฆ์ ๋๋ค.
update
๋ฌธ์
์ฌ์ฉ์์ ๋์ฒด ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ฌธ์์ ๋๋ค. ์ด ๋ฐ์ดํฐ๋ ์ฌ์ฉ์์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋์ฒดํฉ๋๋ค.
writeConcern
๋ฌธ์
์ ํ ์ฌํญ์ ๋๋ค. ์์ ์ ๋ํ ์ฐ๊ธฐ ๊ณ ๋ ค ์์ค์ ๋๋ค. ์ฐ๊ธฐ ๊ณ ๋ ค ์ฌ์์ ์ฐธ์กฐํ์ธ์.
update
๋ฌธ์๋ ์ ๋ฐ์ดํธํ ํ๋์ ํด๋น ์ ๊ฐ์ ์ง์ ํฉ๋๋ค.update
๋ฌธ์์ ๋ชจ๋ ํ๋๋ ์ ํ ์ฌํญ์ด์ง๋ง ํ๋ ์ด์์ ํ๋๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค.update
๋ฌธ์์ ๋ค์๊ณผ ๊ฐ์ ํ๋๊ฐ ์์ต๋๋ค:ํ๋์ ํ์ค๋ชcustomData
๋ฌธ์
์ ํ ์ฌํญ. ๋ชจ๋ ์์ ์ ๋ณด์ ๋๋ค.
roles
๋ฐฐ์ด
์ ํ ์ฌํญ. ์ฌ์ฉ์์๊ฒ ๋ถ์ฌ๋ ์ญํ ์ ๋๋ค.
roles
๋ฐฐ์ด์ ๋ํ ์ ๋ฐ์ดํธ๋ ์ด์ ๋ฐฐ์ด์ ๊ฐ์ ์ฌ์ ์ํฉ๋๋ค.pwd
๋ฌธ์์ด
์ ํ ์ฌํญ. ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ์ ๋๋ค. ๊ฐ์ ๋ค์ ์ค ํ๋์ผ ์ ์์ต๋๋ค.
์ผ๋ฐ ํ ์คํธ ๋ฌธ์์ด๋ก ๋ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ
passwordPrompt()
๋ฅผ ์ ๋ ฅํ์ฌ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
๋ฉ์๋/๋ช ๋ น ํธ์ถ์์ ์ํธ๋ฅผ ์ง์ ์ง์ ํ๋ ๋์
passwordPrompt()
๋ฉ์๋๋ฅผ ๋ค์ํ ์ฌ์ฉ์ ์ธ์ฆ/๊ด๋ฆฌ ๋ฉ์๋/๋ช ๋ น๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ๋ฒ์ ์mongo
์ ธ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ์ง์ ํ ์๋ ์์ต๋๋ค.authenticationRestrictions
๋ฐฐ์ด
์ ํ ์ฌํญ. ์๋ฒ๊ฐ ์์ฑ๋ ์ฌ์ฉ์์๊ฒ ์ํํ๋ ์ธ์ฆ ์ ํ ์ฌํญ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์๊ฑฐ๋ ์๋ฒ๊ฐ ์ฌ์ฉ์๋ฅผ ๋ฐ์๋ค์ผ ์ ์๋ IP ์ฃผ์ ๋ฐ CIDR ๋ฒ์์ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
mechanisms
๋ฐฐ์ด
์ ํ ์ฌํญ. ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ์ ๋ํ ํน์ SCRAM ๋ฉ์ปค๋์ฆ(1๊ฐ ๋๋ ์ฌ๋ฌ ๊ฐ)์ ๋๋ค.
authenticationMechanisms
๋ฅผ ์ง์ ํ๋ฉดauthenticationMechanisms
์ ํ์ ์งํฉ๋ง ์ง์ ํ ์ ์์ต๋๋ค.
๋น๋ฐ๋ฒํธ ์์ด ๋ฉ์ปค๋์ฆ ํ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ํ์ฌ ๋ฉ์ปค๋์ฆ์ ํ์ ์งํฉ๋ง ์ง์ ํ ์ ์์ผ๋ฉฐ, ์ง์ ๋ ๋ฉ์ปค๋์ฆ(1๊ฐ ๋๋ ์ฌ๋ฌ ๊ฐ)์ ๋ํ ๊ธฐ์กด ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ๋ง ์ ์ง๋ฉ๋๋ค.
๋ฉ์ปค๋์ฆ๊ณผ ํจ๊ป ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ๋ํ ์๊ฒฉ ์ฆ๋ช ์ธํธ๊ฐ ์ ์ฅ๋ฉ๋๋ค.
์ ํจํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"SCRAM-SHA-1"
SHA-1
ํด์ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
"SCRAM-SHA-256"
SHA-256
ํด์ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.featureCompatibilityVersion์ด
4.0
์ผ๋ก ์ค์ ๋์ด์ผ ํฉ๋๋ค.passwordDigestor๊ฐ
server
์ฌ์ผ ํฉ๋๋ค.
passwordDigestor
๋ฌธ์์ด
์ ํ ์ฌํญ์ ๋๋ค. ์๋ฒ ๋๋ ํด๋ผ์ด์ธํธ ์ค ์ด๋ ์ชฝ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ํด๋ ํ ์ง๋ฅผ ๋ํ๋ ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"server"
(๊ธฐ๋ณธ๊ฐ)- ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ค์ด์ ์คํธ๋์ง ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ ํ์ฌ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ด์ ์คํธํฉ๋๋ค.
"client"
(SCRAM-SHA-256
๊ณผ ํธํ๋์ง ์์)- ํด๋ผ์ด์ธํธ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ด์ ์คํธํ๊ณ , ์ดํ ๋ค์ด์ ์คํธ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋ฒ์ ์ ๋ฌํฉ๋๋ค.
์ญํ
roles
ํ๋์์ ๊ธฐ๋ณธ ์ ๊ณต ์ญํ ๊ณผ ์ฌ์ฉ์ ์ ์ ์ญํ ์ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค.
db.updateUser()
๊ฐ ์คํ๋๋ ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ์ญํ ์ ์ง์ ํ๋ ค๋ฉด ์ญํ ์ ์ด๋ฆ๊ณผ ํจ๊ป ์ญํ ์ ์ง์ ํ ์ ์์ต๋๋ค.
"readWrite"
๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์๋ก ์ญํ ์ ์ง์ ํ ์๋ ์์ต๋๋ค.
{ role: "<role>", db: "<database>" }
๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ์ญํ ์ ์ง์ ํ๋ ค๋ฉด ๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ์ญํ ์ ์ง์ ํฉ๋๋ค.
์ธ์ฆ ์ ํ
authenticationRestrictions
๋ฌธ์์๋ ๋ค์ ํ๋๋ง ํฌํจ๋ ์ ์์ต๋๋ค. authenticationRestrictions
๋ฌธ์์ ์ธ์ํ ์ ์๋ ํ๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ์๋ฒ์์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
ํ๋ ์ด๋ฆ | ๊ฐ | ์ค๋ช
|
---|---|---|
| IP ์ฃผ์ ๋ฐ/๋๋ CIDR ๋ฒ์ ๋ฐฐ์ด | ์กด์ฌํ๋ ๊ฒฝ์ฐ, ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ๋ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ IP ์ฃผ์๊ฐ ์ง์ ๋ ๋ชฉ๋ก์ ์๊ฑฐ๋ ๋ชฉ๋ก์ ์๋ CIDR ๋ฒ์์ ์ํ๋์ง ํ์ธํฉ๋๋ค. ํด๋ผ์ด์ธํธ์ IP ์ฃผ์๊ฐ ์๋ ๊ฒฝ์ฐ ์๋ฒ๋ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ์ง ์์ต๋๋ค. |
| IP ์ฃผ์ ๋ฐ/๋๋ CIDR ๋ฒ์ ๋ฐฐ์ด | ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ ์ ์๋ IP ์ฃผ์ ๋๋ CIDR ๋ฒ์์ ๋ชฉ๋ก์ ๋๋ค. ์กด์ฌํ๋ ๊ฒฝ์ฐ, ์๋ฒ๋ ์ฃผ์ด์ง ๋ชฉ๋ก์ IP ์ฃผ์๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ด ์น์ธ๋์๋์ง ํ์ธํฉ๋๋ค. ์ธ์ํ ์ ์๋ IP ์ฃผ์๋ฅผ ํตํด ์ฐ๊ฒฐ์ด ์๋ฝ๋ ๊ฒฝ์ฐ ์๋ฒ๋ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ์ง ์์ต๋๋ค. |
์ค์
์ฌ์ฉ์๊ฐ ์ธ์ฆ ์ ํ์ด ํธํ๋์ง ์๋ ์ฌ๋ฌ ์ญํ ์ ์์ํ๋ ๊ฒฝ์ฐ ํด๋น ์ฌ์ฉ์๋ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ clientSource
ํ๋๊ฐ ["198.51.100.0"]
์ธ ์ญํ ๊ณผ clientSource
ํ๋๊ฐ ["203.0.113.0"]
์ธ ๋ค๋ฅธ ์ญํ ์ ์์ํ๋ ๊ฒฝ์ฐ ์๋ฒ๋ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์ ์์ต๋๋ค.
MongoDB ์ ์ธ์ฆ ์ ๋ํ ์์ธํ ๋ด์ฉ ์ ์์ฒด ๊ด๋ฆฌํ ๋ฐฐํฌ์๋ฒ์ ๋ํ ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
db.updateUser()
๋ฉ์๋๋ updateUser
๋ช
๋ น์ ๋ํํฉ๋๋ค.
ํธํ์ฑ
์ด ๋ฉ์๋๋ ๋ค์ ํ๊ฒฝ์์ ํธ์คํ ๋๋ ๋ฐฐํฌ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์
์ด ๋ช ๋ น์ MongoDB Atlas ํด๋ฌ์คํฐ์์ ์ง์๋์ง ์์ต๋๋ค. ๋ชจ๋ ๋ช ๋ น์ ๋ํ Atlas ์ง์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ง์๋์ง ์๋ ๋ช ๋ น์ ์ฐธ์กฐํ์ธ์.
MongoDB Enterprise: MongoDB์ ๊ตฌ๋ ๊ธฐ๋ฐ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
MongoDB Community: MongoDB์ ์์ค ์ฌ์ฉ ๊ฐ๋ฅ ๋ฌด๋ฃ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
ํ๋
๋ณต์ ๋ณธ ์ธํธ
๋ณต์ ๋ณธ ์ธํธ์์ ์คํํ ๊ฒฝ์ฐ, db.updateUser()
๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก "majority"
์ฐ๊ธฐ ๊ณ ๋ ค(write concern)๋ฅผ ์ฌ์ฉํ์ฌ ์คํ๋ฉ๋๋ค.
์ํธํ (Encryption)
๊ฒฝ๊ณ
๊ธฐ๋ณธ์ ์ผ๋ก db.updateUser()
๋ passwordPrompt()
๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ง์ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ๋ฐ ํ
์คํธ๋ก MongoDB ์ธ์คํด์ค์ ์ ์กํฉ๋๋ค. db.updateUser()
์์ ๋ณด๋ธ ์ํธ๋ฅผ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ ๋ณดํธํ๋ ค๋ฉด TLS ์ ์ก ์ํธํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. TLS ์ ์ก ์ํธํ๋ฅผ ํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ TLS/SSL์ ์ํ mongod
๋ฐ mongos
๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
MongoDB๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ์ ์ฅํ์ง ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ ์ก ์ ๊ทธ๋ฆฌ๊ณ TLS ์ ์ก ์ํธํ๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ์๋ง ์ทจ์ฝํฉ๋๋ค.
ํ์ํ ์ก์ธ์ค ๊ถํ
์ฌ์ฉ์์ roles
๋ฐฐ์ด์ ์
๋ฐ์ดํธํ๋ ค๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ revokeRole
์กฐ์น๋ฅผ ํฌํจํ๋ ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
์ฌ์ฉ์์ ์ญํ ์ ์ถ๊ฐํ๋ ค๋ฉด ์ญํ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ grantRole
์กฐ์น๊ฐ ์์ด์ผ ํฉ๋๋ค.
๋ค๋ฅธ ์ฌ์ฉ์์ pwd
๋๋ customData
ํ๋๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ํด๋น ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ changePassword
๋ฐ changeCustomData
์กฐ์น๊ฐ ๊ฐ๊ฐ ์์ด์ผ ํฉ๋๋ค.
์์ ์ ๋น๋ฐ๋ฒํธ์ ์ฌ์ฉ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ค๋ฉด ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ๊ฐ changeOwnPassword
๋ฐ changeOwnCustomData
์กฐ์น๋ฅผ ๋ถ์ฌํ ์ ์๋ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
์์
๋ค์ ์ฌ์ฉ์ ์ ๋ณด๊ฐ ํฌํจ๋ products
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ appClient01
์ด(๊ฐ) ์ ๊ณต๋ฉ๋๋ค.
{ _id : "products.appClient01", userId : UUID("c5d88855-3f1e-46cb-9c8b-269bef957986"), user : "appClient01", db : "products", customData : { empID : "12345", badge : "9156" }, roles : [ { role : "readWrite", db : "products" }, { role : "read", db : "inventory" } ], mechanisms : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ], authenticationRestrictions : [ { clientSource: ["69.89.31.226"], serverAddress: ["172.16.254.1"] } ] }
๋ค์ db.updateUser()
๋ฉ์๋๋ ์ฌ์ฉ์์ customData
๋ฐ roles
๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋์ฒดํฉ๋๋ค.
use products db.updateUser( "appClient01", { customData : { employeeId : "0x3039" }, roles : [ { role : "read", db : "assets" } ] } )
products
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ appClient01
๋ ์ด์ ๋ค์๊ณผ ๊ฐ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฐ์ต๋๋ค.
{ _id : "products.appClient01", userId : UUID("c5d88855-3f1e-46cb-9c8b-269bef957986"), user : "appClient01", db : "products", customData : { employeeId : "0x3039" }, roles : [ { role : "read", db : "assets" } ], mechanisms : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ], authenticationRestrictions : [ { clientSource: ["69.89.31.226"], serverAddress: ["172.16.254.1"] } ] }
SCRAM-SHA-256
์๊ฒฉ ์ฆ๋ช
๋ง ์ฌ์ฉํ๋๋ก ์ฌ์ฉ์ ์
๋ฐ์ดํธ
์ฐธ๊ณ
SCRAM-SHA-256์ ์ฌ์ฉํ๋ ค๋ฉด featureCompatibilityVersion
์(๋ฅผ) 4.0
(์ผ)๋ก ์ค์ ํด์ผ ํฉ๋๋ค. featureCompatibilityVersion์ ๋ํ ์์ธํ ๋ด์ฉ์ Get FeatureCompatibilityVersio(FeatureCompatibilityVersion ๊ฐ์ ธ์ค๊ธฐ) ๋ฐ setFeatureCompatibilityVersion
์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ค์ ์์
์ ํ์ฌ SCRAM-SHA-256
๋ฐ SCRAM-SHA-1
์๊ฒฉ ์ฆ๋ช
์ ๋ชจ๋ ๊ฐ๊ณ ์๋ ์ฌ์ฉ์๊ฐ SCRAM-SHA-256
์๊ฒฉ ์ฆ๋ช
๋ง ๊ฐ๋๋ก ์
๋ฐ์ดํธํฉ๋๋ค.
์ฐธ๊ณ
๋น๋ฐ๋ฒํธ๊ฐ
mechanisms
๊ณผ ํจ๊ป ์ง์ ๋์ง ์์ ๊ฒฝ์ฐmechanisms
๋ฅผ ์ฌ์ฉ์์ ํ์ฌ SCRAM ๋ฉ์ปค๋์ฆ์ ํ์ ์งํฉ์ผ๋ก๋ง ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.๋น๋ฐ๋ฒํธ๊ฐ
mechanisms
๊ณผ ํจ๊ป ์ง์ ๋ ๊ฒฝ์ฐ ์ง์๋๋ SCRAM ๋ฉ์ปค๋์ฆ(1๊ฐ ๋๋ ์ฌ๋ฌ ๊ฐ)์ ์ง์ ํ ์ ์์ต๋๋ค.SCRAM-SHA-256
์ ๊ฒฝ์ฐpasswordDigestor
๋ ๊ธฐ๋ณธ๊ฐ"server"
์ด์ด์ผ ํฉ๋๋ค.
use reporting db.updateUser( "reportUser256", { mechanisms: [ "SCRAM-SHA-256" ] } )