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

MongoDB 사용자 비밀번호 변경 방법 완벽 가이드

MongoDB에서 사용자 비밀번호를 변경하는 방법

MongoDB에서 사용자의 비밀번호를 변경하려면 changeUserPassword() 메서드를 사용해야 합니다. 이 메서드는 사용자 이름과 새로운 비밀번호 두 개의 인자를 받아 해당 사용자의 비밀번호를 즉시 갱신합니다.

실제 동작 과정을 이해하기 위해, 먼저 특정 역할(role)을 가진 사용자를 하나 생성해 보겠습니다.

1단계: 테스트용 사용자 생성

다음은 admin 데이터베이스에서 'test' 데이터베이스에 대한 읽기/쓰기 권한을 가진 사용자를 생성하는 쿼리입니다.

> use admin
switched to db admin
> db.createUser(
...     {
...       user: "Chris",
...       pwd: "chris",
...       roles: [ { role: "readWrite", db: "test" } ]
...     }
... );
Successfully added user: {
    "user" : "Chris",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "test"
        }
    ]
}

사용자가 성공적으로 생성되었습니다. 생성된 사용자 정보에는 사용자 이름과 부여된 역할이 함께 표시됩니다.

2단계: 생성된 사용자 확인

이제 test 데이터베이스에서 해당 사용자 정보를 조회해 보겠습니다.

> db.getUser("Chris");

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

{
    "_id" : "admin.Chris",
    "user" : "Chris",
    "db" : "admin",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "test"
        }
    ],
    "mechanisms" : [
        "SCRAM-SHA-1",
        "SCRAM-SHA-256"
    ]
}

출력 결과를 통해 사용자 'Chris'가 admin 데이터베이스에 등록되어 있으며, test 데이터베이스에 대한 readWrite(읽기/쓰기) 권한을 가지고 있음을 확인할 수 있습니다. 또한 SCRAM-SHA-1과 SCRAM-SHA-256 인증 메커니즘이 적용되어 있는 것도 볼 수 있습니다.

3단계: 비밀번호 변경

이제 changeUserPassword() 메서드를 사용하여 MongoDB 사용자의 비밀번호를 변경하는 쿼리를 실행합니다. 첫 번째 인자로 대상 사용자 이름을, 두 번째 인자로 새로운 비밀번호를 전달합니다.

> db.changeUserPassword("Chris", "123456");

쿼리 실행 후 별도의 오류 메시지가 출력되지 않으면 비밀번호가 성공적으로 변경된 것입니다. 이후 사용자 'Chris'는 기존 비밀번호인 'chris' 대신 새로 설정한 '123456'으로 로그인해야 합니다.

참고 사항

  • 권한 요구: changeUserPassword()를 실행하려면 해당 데이터베이스에서 userAdmin 또는 userAdminAnyDatabase 역할이 필요합니다.
  • 적용 범위: 이 명령은 명령어를 실행 중인 데이터베이스에 등록된 사용자에게만 적용됩니다. 다른 데이터베이스의 사용자를 변경하려면 먼저 해당 데이터베이스로 전환(use)해야 합니다.
  • 보안 팁: 실제 운영 환경에서는 추측하기 쉬운 단순한 비밀번호보다 충분히 길고 복잡한 비밀번호를 사용하는 것이 좋습니다.