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

MongoDB v3에서 사용자를 생성하는 방법 – createUser() 메서드 완벽 가이드

MongoDB v3에서 사용자 생성하기

MongoDB v3에서 새로운 사용자를 만들려면 createUser() 메서드를 사용합니다. 이 메서드를 호출할 때는 사용자 이름(user), 비밀번호(pwd), 그리고 역할(roles)을 함께 지정해야 합니다. 여기서 역할(role)은 해당 사용자에게 부여되는 권한을 의미하며, 어떤 데이터베이스에서 어떤 작업을 수행할 수 있는지 결정합니다.

기본 문법

사용자 생성의 기본적인 문법 구조는 다음과 같습니다.

use admin
db.createUser(
    {
        user: "yourUserName",
        pwd: "yourPassword",
        roles: [ { role: "yourPermission", db: "yourDatabase" } ]
    }
);
  • user: 생성할 사용자의 이름입니다.
  • pwd: 해당 사용자의 비밀번호입니다.
  • roles: 사용자에게 부여할 권한 배열로, 각 항목은 역할명(role)과 대상 데이터베이스(db)로 구성됩니다.

실제 실행 예제

위 문법을 실제로 적용하여 MongoDB v3에서 사용자를 생성해 보겠습니다.

> use admin
switched to db admin
> db.createUser(
...     {
...         user: "Robert",
...         pwd: "robert",
...         roles: [ { role: "readWrite", db: "sample" } ]
...     }
... );

위 예제에서는 새로운 사용자에 대해 다음과 같이 설정했습니다.

User: Robert
Password: robert
Roles: readWrite

여기서 readWrite 역할은 'sample' 데이터베이스에 대해 데이터를 읽고 쓸 수 있는 권한을 의미합니다. MongoDB에는 이 외에도 읽기 전용인 read, 데이터베이스 관리 권한인 dbAdmin, 모든 권한을 가진 dbOwner 등 다양한 내장 역할(built-in roles)이 제공되므로, 용도에 맞게 선택하여 지정하면 됩니다.

실행 결과 확인

명령어가 정상적으로 실행되면 다음과 같은 출력 결과를 확인할 수 있습니다.

Successfully added user: {
    "user" : "Robert",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "sample"
        }
    ]
}

출력 결과를 통해 사용자 "Robert"가 성공적으로 생성되었으며, 'sample' 데이터베이스에 대한 readWrite 권한이 정상적으로 부여된 것을 확인할 수 있습니다.

마무리

이처럼 MongoDB v3에서는 createUser() 메서드 하나만으로 사용자 계정 생성과 권한 설정을 동시에 처리할 수 있습니다. 운영 환경에서는 보안을 위해 강력한 비밀번호를 사용하고, 각 사용자에게 필요한 최소한의 권한만 부여하는 것이 좋습니다.