문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

역할 기반 액세스 제어

이 페이지의 내용

  • 액세스 제어 활성화
  • 역할
  • 사용자 및 역할
  • 내장된 역할 및 사용자 정의 역할
  • LDAP 인증

MongoDB는 RBAC(역할 기반 액세스 제어)를 사용하여 MongoDB 시스템에 대한 액세스를 관리합니다. 사용자에게는 데이터베이스 리소스 및 작업에 대한 사용자의 액세스를 결정하는 하나 이상의 역할 이 부여됩니다. 역할이 할당되지 않은 사용자는 시스템에 액세스할 수 없습니다.

MongoDB는 기본적으로 액세스 제어를 활성화하지 않습니다. --auth 또는 security.authorization 설정을 사용하여 권한 부여를 활성화할 수 있습니다. 내부 인증을 활성화하면 클라이언트 권한 부여도 활성화됩니다.

액세스 제어가 활성화되면 사용자는 자신을 인증해야 합니다.

역할은 리소스에 대해 지정된 조치를 수행할 수 있는 권한을 부여합니다. 각 권한은 역할에 명시적으로 지정되거나 다른 역할에서 상속되거나, 두 가지 경우가 모두 적용됩니다.

역할은 권한을 제한하지 않습니다. 사용자에게 두 가지 역할이 있는 경우 액세스 권한이 더 큰 역할이 우선합니다.

예를 들어 이미 readWriteAnyDatabase 역할이 있는 사용자에게 데이터베이스에서의 read 역할을 부여하는 경우 read 권한을 부여해도 데이터베이스에서의 쓰기 액세스를 취소하지 않습니다.

사용자의 역할을 취소하려면 revokeRolesFromUser 명령을 사용합니다.

역할은 사용자에게 인증 제한을 부과하여 지정된 소스 및 대상 IP 주소 범위에서 연결하도록 요구할 수 있습니다.

자세한 내용은 인증 제한을 참조하세요.

권한은 지정된 리소스와 해당 리소스에 대해 허용된 조치로 구성됩니다.

리소스는 데이터베이스, 컬렉션, 컬렉션 세트 또는 클러스터입니다. 리소스가 클러스터인 경우 관련 작업은 특정 데이터베이스나 컬렉션이 아닌 시스템 상태에 영향을 줍니다. 리소스 문서에 대한 자세한 내용은 리소스 문서를 참조하세요

조치는 리소스에 대해 허용되는 연산을 지정합니다. 사용 가능한 조치는 권한 조치를 참조하세요.

역할은 정의에 기존 역할을 하나 이상 포함할 수 있으며, 이 경우 역할은 포함된 역할의 모든 권한을 상속합니다.

역할은 데이터베이스에 있는 다른 역할로부터 권한을 상속받을 수 있습니다. 0} 데이터베이스에서 만든 역할은 모든 데이터베이스의 역할에서 권한을 상속할 수 있습니다.admin

showPrivilegesshowBuiltinRoles 필드를 모두 true로 설정한 상태에서 rolesInfo명령을 실행하여 역할에 대한 권한을 볼 수 있습니다.

사용자를 생성하는 동안 사용자에게 역할을 할당할 수 있습니다. 기존 사용자를 업데이트하여 역할을 부여하거나 취소할 수도 있습니다. 사용자 관리 방법의 전체 목록은 사용자 관리를 참조하세요.

역할이 할당된 사용자는 해당 역할의 모든 권한을 받습니다. 한 사용자가 여러 역할을 가질 수 있습니다. 다양한 데이터베이스에서 사용자 역할을 할당하면 한 데이터베이스에서 생성된 사용자가 다른 데이터베이스에서 작업할 수 있는 권한을 가질 수 있습니다.

참고

데이터베이스에서 처음 생성되는 사용자는 다른 사용자를 관리할 수 있는 권한을 가진 사용자 관리자여야 합니다. 액세스 제어 활성화를 참조하세요.

MongoDB는 데이터베이스 시스템에서 일반적으로 필요한 일련의 권한을 제공하는 내장된 역할을 제공합니다.

이러한 기본 제공 역할로 원하는 권한 집합을 제공할 수 없는 경우, MongoDB는 사용자 정의 역할을 생성하고 수정하는 방법을 제공합니다.

MongoDB Enterprise는 인증된 사용자가 속한 LDAP 그룹에 대한 LDAP 서버 쿼리를 지원합니다. MongoDB는 반환된 각 그룹의 고유 이름(DN)을 admin 데이터베이스의 역할 에 매핑합니다. MongoDB는 매핑된 역할 및 관련 권한을 기반으로 사용자에게 권한을 부여합니다. 자세한 내용은 LDAP 권한 부여 를 참조하세요.

← 사용자 나열하기