Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

자체 관리 배포서버의 사용자

이 페이지의 내용

  • 사용자 관리
  • LDAP 관리 사용자
  • 인증 데이터베이스.
  • 중앙 집중식 사용자 데이터
  • 샤딩된 클러스터 사용자
  • 샤드 로컬 사용자

MongoDB에서 클라이언트를 인증하려면 해당 사용자를 MongoDB에 추가해야 합니다.

mongosh를 사용하여 db.createUser() 메서드로 사용자를 추가할 수 있습니다. 이 때 첫 번째로 생성하는 사용자에게는 다른 사용자를 생성할 권한이 제공되어야 합니다. userAdmin 또는 userAdminAnyDatabase 역할은 모두 다른 사용자를 생성할 수 있는 권한을 부여합니다.

다음도 참조하세요.

사용자를 만들 때 사용자에게 역할을 할당하여 사용자에게 권한을 부여할 수 있습니다. 기존 사용자를 업데이트하여 역할을 부여하거나 취소하고 비밀번호를 업데이트할 수도 있습니다. 사용자 관리 방법의 전체 목록은 사용자 관리를참조하세요.

사용자는 사용자 이름과 연결된 인증 데이터베이스를 통해 고유하게 식별됩니다. MongoDB는 MongoDB에서 생성 시 사용자를 고유한 userId와 연결합니다.

LDAP 서버에서 생성된 LDAP 관리 사용자system.users 컬렉션에 연결된 문서가 없으므로 userId 필드도 연결되어 있지 않습니다.

사용자를 추가하면 특정 데이터베이스에 사용자가 생성됩니다. 사용자를 생성한 데이터베이스는 해당 사용자에 대한 인증 데이터베이스입니다.

그러나 사용자의 권한은 인증 데이터베이스로 제한되지 않습니다. 따라서 사용자는 여러 데이터베이스에 대한 권한을 가질 수 있습니다. 역할에 대한 자세한 내용은 자체 관리 배포서버의 역할 기반 액세스 제어를 참조하세요.

사용자 이름과 인증 데이터베이스는 해당 사용자의 고유 식별자 역할을 합니다. MongoDB는 MongoDB에서 생성 시 사용자를 고유한 userId와 연결합니다. 그러나 LDAP 서버에서 생성된 LDAP 관리 사용자system.users 컬렉션에 연결된 문서가 없으므로 userId 필드가 연결되어 있지 않습니다.

두 명의 사용자가 이름은 같지만 서로 다른 데이터베이스에 생성된 경우 두 사용자는 별개의 두 사용자가 됩니다. 단일 사용자가 여러 데이터베이스에 대한 사용 권한을 갖도록 하려면 해당하는 각 데이터베이스에 대한 역할을 가진 단일 사용자를 생성합니다.

MongoDB에서 만든 사용자의 경우, MongoDB는 name, password 및 사용자의 authentication database을 포함한 모든 사용자 정보를 admin 데이터베이스의 system.users 컬렉션에 저장합니다.

이 컬렉션을 직접 수정하지 마세요. 사용자를 관리하려면 지정된 사용자 관리 명령을 사용합니다.

샤딩된 클러스터의 사용자를 만들려면 mongos 인스턴스에 연결하여 사용자를 추가합니다. mongos 인스턴스에서 생성된 사용자로 인증하려면 mongos 인스턴스를 통해 인증해야 합니다.

샤딩된 클러스터에서 MongoDB는 사용자 구성 데이터를 구성 서버admin 데이터베이스에 저장합니다.

compact 또는 rs.reconfig()와 같은 일부 유지 관리 작업은 샤딩된 클러스터의 특정 샤드에 직접 연결해야 합니다. 이러한 작업을 수행하려면 샤드에 직접 연결하고 샤드 로컬 관리 사용자로 인증해야 합니다.

샤드 로컬 관리 사용자를 만들려면 샤드의 프라이머리에 직접 연결하여 사용자를 만듭니다. 샤드 로컬 사용자 관리자를 생성하는 방법에 대한 지침은 키파일 인증을 사용한 자체 관리형 샤드 클러스터 배포 튜토리얼을 참조하세요.

MongoDB는 샤드 자체의 admin 데이터베이스에 샤드 로컬 사용자를 저장합니다. 이러한 샤드 로컬 사용자는 mongos를 통해 샤딩된 클러스터에 추가된 사용자와는 독립적입니다. 샤드 로컬 사용자는 샤드에 로컬이며 mongos로 액세스할 수 없습니다.

MongoDB 8.0 부터는 directShardOperations 역할 을 사용하여 샤드 에 대해 직접 명령을 실행해야 하는 유지 관리 작업을 수행할 수 있습니다.

샤드에 대한 직접 연결은 샤드별 유지보수 및 구성을 위해서만 사용해야 합니다. 일반적으로 클라이언트는 mongos를 통해 샤딩된 클러스터에 연결해야 합니다.

경고

directShardOperations 역할 을 사용하여 명령을 실행하면 클러스터 가 올바르게 작동하지 않고 데이터가 손상될 수 있습니다. directShardOperations 역할 은 유지 관리 목적으로만 사용하거나 MongoDB 지원 의 지침 에 따라 사용하세요. 유지 관리 작업 수행이 완료되면 directShardOperations 역할 사용을 중지합니다.

돌아가기

로컬 호스트 예외