사용자 지정 역할 관리
역할은 사용자에게 MongoDB 리소스에 대한 액세스 권한을 부여합니다. 기본적으로 MongoDB는 몇 가지 기본 제공 역할 을 제공하지만 이러한 역할이 원하는 권한 범위를 설명할 수 없는 경우 사용자 지정 역할을 만들 수 있습니다.
역할을 생성할 때 역할이 적용되는 데이터베이스를 지정합니다. Ops Manager는 Ops Manager 프로젝트의 모든 MongoDB 인스턴스에 사용자 지정 역할을 저장하지만 데이터베이스 이름과 역할 이름의 조합을 통해 역할을 고유하게 식별합니다. Ops Manager 프로젝트 내의 여러 배포에 해당 이름을 가진 데이터베이스가 있는 경우 역할은 해당 데이터베이스 각각에 적용됩니다. admin
데이터베이스에 역할을 만드는 경우 역할은 배포서버의 모든 admin
데이터베이스에 적용됩니다.
역할은 특정 리소스에 대한 특정 조치에 대한 액세스 권한을 부여하는 권한으로 구성됩니다. 대부분의 데이터베이스에서 리소스는 데이터베이스 또는 collection이지만 admin
데이터베이스에서는 리소스가 모든 데이터베이스, 전체 데이터베이스에서 지정된 이름을 가진 모든 collection 또는 모든 배포가 될 수 있습니다.
역할은 데이터베이스에 있는 다른 역할로부터 권한을 상속받을 수 있습니다. admin
데이터베이스의 역할은 다른 데이터베이스의 역할에서 권한을 상속할 수 있습니다.
MongoDB 역할은 MongoDB Ops Manager 역할과 별개입니다.
고려 사항
managed 사용자 및 역할
Ops Manager 프로젝트에서 managed 모든 사용자 또는 역할의 Synced 값은 Yes
로 설정되며 프로젝트의 모든 배포에 동기화됩니다.
Ops Manager 프로젝트에서 managed 선택하지 않은 모든 사용자 또는 역할은 Synced 값이 No
로 설정되며 해당 MongoDB deployment에만 존재합니다.
참고
가져오기 후 Synced 에서 OFF
로 전환하면 생성한 모든 사용자 또는 역할이 삭제됩니다.
일관된 사용자 및 역할
프로젝트에서 일관된 사용자 및 역할 집합을 적용하는 경우 Ops Manager는 해당 프로젝트의 모든 배포서버에서 이러한 사용자 및 역할을 동기화합니다. Enforce Consistent Set 를 토글하여 한 세트의 사용자 및 역할을 managed 여부를 선택합니다.
Enforce Consistent Set 입니다 YES
관리형 프로젝트에서 Ops Manager는 모든 사용자 및 역할에 모든 배포에 대한 액세스 권한을 부여합니다. Ops Manager 프로젝트가 managed하는 모든 배포에는 동일한 MongoDB 사용자 및 역할 집합이 있습니다.
Ops Manager는 Synced 을(를) Yes
으)로 설정한 사용자 및 역할에 대한 액세스를 제한합니다. Ops Manager는 Ops Manager 프로젝트가 managed하지 않는 모든 사용자 및 역할을 프로젝트의 배포에서 삭제합니다.
Enforce Consistent Set 입니다 NO
managed 프로젝트에서 Ops Manager를 사용하면 각 배포가 자체 MongoDB 사용자 및 역할 집합을 사용할 수 있습니다. Ops Manager는 이러한 MongoDB 사용자 및 역할을 managed 필요가 없습니다. 이러한 사용자와 역할을 managed하려면 MongoDB deployment에 직접 연결해야 합니다.
Ops Manager는 Synced 에서 Yes
로 설정한 관리형 MongoDB 사용자 및 역할에 모든 관리형 배포에 대한 액세스 권한을 부여합니다.
Ops Manager는 Synced 를 No
로 설정한 관리되지 않는 MongoDB 사용자 및 역할의 액세스를 해당 사용자 및 역할의 특정 배포로 제한합니다.
참고
Enforce Consistent Set 기본값은 NO
입니다.
MongoDB deployment 가져오기가 사용자 및 역할 관리에 미치는 영향을 알아보려면 자동화 및 가져오기 시 업데이트된 보안 설정을 참조하세요.
전제 조건
역할을 적용하려면 MongoDB 액세스 제어 를 활성화해야 합니다. 액세스 제어를 활성화하기 전이나 이후에 역할을 생성할 수 있지만 액세스 제어를 활성화할 때까지 역할이 Go 않습니다.
사용자 지정 MongoDB 역할 생성
Identifier 필드 에 역할 을 정의할 데이터베이스 를 입력하고 역할 의 이름을 입력합니다.
역할은 자신이 정의된 데이터베이스에 적용되며 collection 수준까지 액세스 권한을 부여할 수 있습니다. 역할 이름과 해당 데이터베이스의 조합으로 해당 역할을 고유하게 식별합니다. 사용하는 인증 및 권한 부여 방법을 충족하려면 Identifier 필드를 작성하세요.
LDAP 인증이나 권한 부여를 모두 사용하지 않는 경우 database Identifier 필드에 데이터베이스 이름을 입력하고 name Identifier 필드에 역할에 원하는 이름을 입력합니다.
LDAP 인증을 사용하지만 LDAP 권한 부여는 사용하지 않는 경우 database Identifier 필드에
$external
을 입력하고 name Identifier 필드에 역할에 원하는 이름을 입력합니다.LDAP 권한 부여와 함께 인증 방법을 사용하는 경우 database Identifier 필드에
admin
을 입력하고 name Identifier 필드에 LDAP 그룹 고유 이름을 입력합니다.예시
LDAP 서버에서 고유 이름이
CN=DBA,CN=Users,DC=example,DC=com
인 LDAP 그룹을 생성했습니다. 이 LDAP 그룹에 연결된 Ops Manager에서 DBA 역할을 생성하려면admin
database IdentifierCN=DBA,CN=Users,DC=example,DC=com
필드에 ,name Identifier 필드에 를 입력합니다.
새 역할에 부여할 권한을 선택합니다.
두 가지 방법으로 권한을 부여할 수 있습니다.
역할에 다른 역할의 권한을 부여합니다.
새 역할에 하나 이상의 기존 역할에 대한 모든 권한을 부여하려면 Inherits From 필드에서 역할을 선택합니다. 이 필드는 MongoDB 기본 제공 역할 과 이미 생성한 사용자 지정 역할을 모두 포함하는 드롭다운 목록을 제공합니다.
권한을 직접 추가합니다.
역할에 특정 권한을 부여하려면 ADD PRIVILEGES FOR A RESOURCE 을 클릭합니다.
Resource 필드에 역할을 적용할 리소스를 지정합니다. 드롭다운 메뉴에서 데이터베이스를 선택합니다. 전체 데이터베이스를 지정하려면 이 필드를 비워 두세요. 컬렉션을 지정하려면 컬렉션 이름을 입력합니다. 리소스가 admin
데이터베이스에 있는 경우 ADMIN 를 클릭하고 admin
데이터베이스 외부에 역할을 적용할 수 있습니다.
Available Privileges 섹션에서 적용할 작업을 선택합니다. 각 작업에 대한 설명은 MongoDB 매뉴얼의 권한 작업 을 참조하세요.
사용자 지정 역할 편집
사용자 지정 역할의 권한을 변경할 수 있습니다. 해당 이름이나 데이터베이스는 변경할 수 없습니다.
해당 역할에 대한 권한을 추가하거나 제거합니다.
두 가지 방법으로 권한을 부여할 수 있습니다.
역할에 다른 역할의 권한을 부여합니다.
새 역할에 하나 이상의 기존 역할에 대한 모든 권한을 부여하려면 Inherits From 필드에서 역할을 선택합니다. 이 필드는 MongoDB 기본 제공 역할 과 이미 생성한 사용자 지정 역할을 모두 포함하는 드롭다운 목록을 제공합니다.
권한을 직접 추가합니다.
역할에 특정 권한을 부여하려면 ADD PRIVILEGES FOR A RESOURCE 을 클릭합니다.
Resource 필드에 역할을 적용할 리소스를 지정합니다. 드롭다운 메뉴에서 데이터베이스를 선택합니다. 전체 데이터베이스를 지정하려면 이 필드를 비워 두세요. 컬렉션을 지정하려면 컬렉션 이름을 입력합니다. 리소스가 admin
데이터베이스에 있는 경우 ADMIN 를 클릭하고 admin
데이터베이스 외부에 역할을 적용할 수 있습니다.
Available Privileges 섹션에서 적용할 작업을 선택합니다. 각 작업에 대한 설명은 MongoDB 매뉴얼의 권한 작업 을 참조하세요.
상속된 역할을 제거하려면 역할 옆에 있는 x 을 클릭합니다. 권한을 제거하려면 권한 옆에 있는 휴지통 아이콘을 클릭합니다.
역할에 대한 권한 보기
역할의 권한을 보려면 Deployment 을 클릭한 다음 Security 탭을 클릭한 다음 Roles 을 클릭한 다음 역할 옆에 있는 view privileges 을 클릭합니다.
각 권한은 리소스를 권한 작업 세트와 쌍을 이룹니다. 모든 역할에는 데이터베이스가 할당됩니다. 각 기본 제공 역할 은 admin
데이터베이스 또는 모든 데이터베이스에 할당됩니다.