Docs Menu

system.users 자체 관리형 배포의 컬렉션

이 페이지의 내용

admin 데이터베이스 의 system.users 컬렉션 은 사용자 인증권한 부여 정보를 저장합니다. 이 컬렉션 의 데이터를 관리 하기 위해 MongoDB 는 사용자 관리 명령을 제공합니다.

system.users 컬렉션의 문서에는 다음과 같은 스키마가 있습니다.

{
_id: <system defined id>,
userId : <system assigned UUID>,
user: "<name>",
db: "<database>",
credentials: { <authentication credentials> },
roles: [
{ role: "<role name>", db: "<database>" },
...
],
customData: <custom information>,
authenticationRestrictions : [ <documents> ]
}

system.users 문서에 다음과 같은 필드가 있습니다.

admin.system.users.userId

생성 시 사용자에게 할당된 사용자의 고유 식별자입니다.

admin.system.users.user

사용자 이름입니다. 사용자는 단일 논리적 데이터베이스 의 컨텍스트에 존재하지만( admin.system.users.db 참조) roles 배열 에 지정된 역할을 통해 다른 데이터베이스에 액세스 할 수 있습니다.

admin.system.users.db

사용자와 연결된 인증 데이터베이스 입니다. 사용자의 권한이 반드시 이 데이터베이스로 제한되는 것은 아닙니다. 사용자는 roles 배열을 통해 추가 데이터베이스에 대한 권한을 가질 수 있습니다.

admin.system.users.credentials

사용자의 인증 정보입니다. 외부에 저장된 인증 509 자격 증명 있는 사용자(예: 인증 에 Kerberos 또는 X. 인증서를 사용하는 사용자)의 경우 해당 사용자의 system.users 문서 필드 포함되어 있지 credentials 않습니다.SCRAM 사용자 자격 증명 에는 메커니즘, 반복 횟수 및 인증 매개변수가 포함됩니다.

다음도 참조하세요.

admin.system.users.roles

사용자에게 부여된 역할의 배열입니다. 배열에는 기본 제공 역할사용자 정의 역할이 모두 포함됩니다.

역할 문서에는 다음과 같은 구문이 있습니다.

{ role: "<role name>", db: "<database>" }

역할 문서에는 다음과 같은 필드가 있습니다.

admin.system.users.roles[n].role

역할의 이름입니다. 역할은 MongoDB에서 제공하는 기본 제공 역할 또는 사용자 지정 사용자 정의 역할일 수 있습니다.

admin.system.users.roles[n].db

역할이 정의된 데이터베이스의 이름입니다.

역할 관리 또는 사용자 관리 명령을 사용하여 역할을 지정할 때는 명령이 실행되는 데이터베이스에 역할이 존재하는 경우 역할 이름만 지정할 수 있습니다(예: "readWrite").

admin.system.users.customData

사용자에 대한 선택적 사용자 지정 정보입니다.

admin.system.users.authenticationRestrictions

서버가 사용자에 대해 시행하는 인증 제한의 배열입니다. 배열에는 사용자가 서버에 연결할 수 있거나 서버가 사용자를 받아들일 수 있는 IP 주소 및 CIDR 범위 목록이 포함됩니다.

system.users 컬렉션에 있는 다음 문서를 가정해 보겠습니다.

{
"_id" : "home.Kari",
"userId" : UUID("ec1eced7-055a-4ca8-8737-60dd02c52793"),
"user" : "Kari",
"db" : "home",
"credentials" : {
"SCRAM-SHA-1" : {
"iterationCount" : 10000,
"salt" : "S/xM2yXFosynbCu4GzFDgQ==",
"storedKey" : "Ist4cgpEd1vTbnRnQLdobgmOsBA=",
"serverKey" : "e/0DyzS6GPboAA2YNBkGYm87+cg="
},
"SCRAM-SHA-256" : {
"iterationCount" : 15000,
"salt" : "p1G+fZadAeYAbECN8F/6TMzXGYWBaZ3DtWM0ig==",
"storedKey" : "LEgLOqZQmkGhd0owm/+6V7VdJUYJcXBhPUvi9z+GBfk=",
"serverKey" : "JKfnkVv9iXwxyc8JaapKVwLPy6SfnmB8gMb1Pr15T+s="
}
},
"authenticationRestrictions" : [
{ "clientSource" : [ "69.89.31.226" ], "serverAddress" : [ "172.16.254.1" ] }
],
"customData" : {
"zipCode" : "64157"
},
"roles" : [
{
"role" : "read",
"db" : "home"
},
{
"role" : "readWrite",
"db" : "test"
}
]
}

이 문서에 따르면 사용자 Kari의 인증 데이터베이스는 home 데이터베이스입니다. Karihome 데이터베이스에서 read 역할을, test 데이터베이스에서는 readWrite 역할을 가집니다.

이 페이지의 내용