Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 새 사용자 생성 및 역할(Role) 설정하는 방법

MongoDB에서 새 사용자 생성 및 역할(Role) 설정하는 방법

MongoDB에서 관리자(admin)처럼 강력한 권한을 가진 새로운 사용자를 만들려면 userAdminAnyDatabase 역할을 사용하는 것이 효과적입니다. 이 역할은 모든 데이터베이스에서 사용자를 생성하고 관리할 수 있는 권한을 부여하므로, 사실상 관리자 수준의 권한으로 볼 수 있습니다.

1. 사용자 생성 기본 문법

새로운 사용자를 추가할 때는 먼저 admin 데이터베이스로 전환한 뒤 db.createUser() 메서드를 사용합니다. 기본 문법은 다음과 같습니다.

use admin
db.createUser(
    {
        user: "yourUserName",
        pwd: "yourPassword",
        roles: [ { role: "yourRoleName", db: "yourDatabaseName" } ]
    }
)
  • user: 생성할 사용자의 이름
  • pwd: 사용자의 비밀번호
  • roles: 부여할 역할(role)과 해당 역할이 적용될 데이터베이스

2. 실제 적용 예시

이제 위 문법을 실제로 적용해 보겠습니다. 다음은 "userAdminAnyDatabase" 역할을 가진 사용자를 생성하는 쿼리입니다.

> use admin
switched to db admin
> db.createUser(
...    {
...        user: "David Miller",
...        pwd: "123456",
...        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...    }
... )

3. 실행 결과

위 쿼리를 실행하면 사용자가 성공적으로 생성되었다는 아래와 같은 결과가 출력됩니다.

Successfully added user: {
    "user" : "David Miller",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

참고 사항

실제 운영 환경에서는 위 예시처럼 단순한 비밀번호 대신 충분히 복잡하고 안전한 비밀번호를 사용하는 것이 좋습니다. 또한 상황에 따라 readWrite, dbAdmin 등 MongoDB에서 제공하는 다양한 내장 역할(built-in roles)을 조합하여 사용자 권한을 더욱 세분화해 관리할 수 있습니다.