개발 공부/mongo
[mongoDB] 사용자 별 권한 부여
solutionMan
2024. 2. 21. 13:11
반응형
데이터베이스 역할
- read: 데이터를 읽을 수 있는 권한을 부여합니다.
- readWrite: 데이터를 읽고 쓸 수 있는 권한을 부여합니다.
- dbAdmin: 데이터베이스 관리와 관련된 작업을 수행할 수 있는 권한을 부여합니다.
- userAdmin: 데이터베이스 사용자를 관리할 수 있는 권한을 부여합니다.
관리 역할
- clusterAdmin: 클러스터 수준에서 관리 작업을 수행할 수 있는 권한을 부여합니다.
- readAnyDatabase: 모든 데이터베이스에서 데이터를 읽을 수 있는 권한을 부여합니다. (관리용 데이터베이스 제외)
- readWriteAnyDatabase: 모든 데이터베이스에서 데이터를 읽고 쓸 수 있는 권한을 부여합니다. (관리용 데이터베이스 제외)
- userAdminAnyDatabase: 모든 데이터베이스의 사용자를 관리할 수 있는 권한을 부여합니다.
- dbAdminAnyDatabase: 모든 데이터베이스에서 관리 작업을 수행할 수 있는 권한을 부여합니다.
사용자 생성 및 권한부여
db.createUser({
user: "사용자명",
pwd: "비밀번호",
roles: [{ role: "역할", db: "데이터베이스명" }]
})
사용자 업데이트 및 권한부여 업데이트
db.updateUser("사용자명", {
pwd: "새 비밀번호",
roles: [{ role: "새 역할", db: "데이터베이스명" }]
})
사용자 목록 확인
db.getUsers()
사용자 역할 확인
db.getUser("사용자명")
실제 사용예시
db.createUser({
user: "사용자명",
pwd: "비밀번호",
roles: [
{ role: "read", db: "데이터베이스명" },
{ role: "readWrite", db: "데이터베이스명" },
{ role: "dbAdmin", db: "데이터베이스명" },
{ role: "userAdmin", db: "데이터베이스명" },
{ role: "clusterAdmin", db: "데이터베이스명" },
{ role: "readAnyDatabase", db: "데이터베이스명" },
{ role: "readWriteAnyDatabase", db: "데이터베이스명" },
{ role: "userAdminAnyDatabase", db: "데이터베이스명" },
{ role: "dbAdminAnyDatabase", db: "데이터베이스명" }
// 필요에 따라 추가 관리 역할을 여기에 포함시킬 수 있습니다.
]
})
반응형