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

MongoDB 셸에서 모든 사용자 목록을 확인하는 방법

MongoDB 셸(mongo shell)에서 현재 데이터베이스에 등록된 모든 사용자를 확인하려면 getUsers() 메서드 또는 show users 명령어를 사용하면 됩니다. 두 가지 방법 모두 동일한 결과를 반환하지만, 상황에 따라 편의성이 조금씩 다릅니다.

방법 1 — getUsers() 메서드 사용

getUsers()

db.getUsers();

실제로 Mongo 셸에서 실행해 보겠습니다.

> db.getUsers();

실행 결과는 다음과 같습니다.

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

방법 2 — show users 명령어 사용

show usersgetUsers()

show users;

실제 실행 예시입니다.

> show users;

실행 결과는 다음과 같습니다.

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

출력 결과 해석

각 사용자 항목에는 다음과 같은 주요 정보가 포함됩니다.

  • _id: '데이터베이스명.사용자명' 형식으로 구성된 고유 식별자
  • user: 사용자 계정 이름
  • db: 해당 사용자가 생성된 인증 데이터베이스(authentication database)
  • roles: 부여된 역할(role)과 그 역할이 적용되는 데이터베이스. 예제에서 John은 test DB에 대해 readWrite(읽기·쓰기)와 dbAdmin 권한을, admin은 root(최고 관리자) 권한을 가지고 있습니다.
  • mechanisms: 지원되는 인증 메커니즘. MongoDB 4.0 이상에서는 SCRAM-SHA-1과 SCRAM-SHA-256이 기본적으로 표시됩니다.

참고 사항

사용자 목록을 조회하려면 해당 데이터베이스에 대한 viewUser 권한이 필요합니다. 또한 getUsers()show users는 모두 현재 접속한 데이터베이스의 사용자만 표시한다는 점에 유의하세요. 다른 데이터베이스의 사용자를 확인하려면 먼저 use <데이터베이스명>으로 전환한 뒤 명령어를 실행해야 합니다.