사용자 지정 역할 관리
- Cloud Manager 에 대한 프로그래밍 방식의 액세스 를 위한 OAuth 2.0 인증 은 Preview 기능 으로 제공됩니다.
- 기능 및 해당 설명서는 미리 보기 기간에 언제든지 변경될 수 있습니다. OAuth 2.0 인증 을 사용하려면 Cloud Manager 공개 API 에 대한 요청에 사용할 서비스 계정 을 만듭니다.
역할은 사용자에게 MongoDB 리소스에 대한 액세스 권한을 부여합니다. 기본적으로 MongoDB는 몇 가지 기본 제공 역할 을 제공하지만, 이러한 역할이 원하는 권한 범위를 설명할 수 없는 경우 사용자 지정 역할을 만들 수 있습니다.
역할을 생성할 때 역할이 적용되는 데이터베이스를 지정합니다. Cloud Manager는 Cloud Manager 프로젝트의 모든 MongoDB 인스턴스에 사용자 지정 역할을 저장하지만 데이터베이스 이름과 역할 이름의 조합으로 역할을 고유하게 식별합니다. 해당 이름을 가진 데이터베이스가 Cloud Manager 프로젝트 내의 여러 배포에 존재하는 경우 역할은 해당 데이터베이스 각각에 적용됩니다. admin
데이터베이스에 역할을 만드는 경우 역할은 배포서버의 모든 admin
데이터베이스에 적용됩니다.
역할은 특정 리소스에 대한 특정 조치에 대한 액세스 권한을 부여하는 권한으로 구성됩니다. 대부분의 데이터베이스에서 리소스는 데이터베이스 또는 collection이지만 admin
데이터베이스에서는 리소스가 모든 데이터베이스, 전체 데이터베이스에서 지정된 이름을 가진 모든 collection 또는 모든 배포가 될 수 있습니다.
역할은 데이터베이스에 있는 다른 역할로부터 권한을 상속받을 수 있습니다. admin
데이터베이스의 역할은 다른 데이터베이스의 역할에서 권한을 상속할 수 있습니다.
MongoDB 역할은 Cloud Manager 역할과 별개입니다.
고려 사항
managed 사용자 및 역할
Cloud Manager 프로젝트에서 managed하도록 선택한 모든 사용자 또는 역할의 Synced 값은 Yes
로 설정되며 프로젝트의 모든 배포에 동기화됩니다.
Cloud Manager 프로젝트에서 managed하지 않은 사용자 또는 역할은 Synced 값이 No
로 설정되어 있으며 해당 MongoDB deployment에만 존재합니다.
참고
가져오기 후 Synced 에서 OFF
로 전환하면 생성한 모든 사용자 또는 역할이 삭제됩니다.
일관된 사용자 및 역할
프로젝트에서 일관된 사용자 및 역할 집합을 적용하는 경우 Cloud Manager는 해당 프로젝트의 모든 배포서버에서 이러한 사용자 및 역할을 동기화합니다. Enforce Consistent Set 를 토글하여 한 세트의 사용자 및 역할을 managed 여부를 선택합니다.
Enforce Consistent Set 입니다 YES
managed 프로젝트에서 Cloud Manager는 모든 사용자 및 역할에 모든 배포에 대한 액세스 권한을 부여합니다. Cloud Manager 프로젝트가 managed하는 모든 배포에는 동일한 MongoDB 사용자 및 역할 집합이 있습니다.
Cloud Manager는 Synced 을(를) Yes
으)로 설정한 사용자 및 역할에 대한 액세스를 제한합니다. Cloud Manager는 Cloud Manager 프로젝트가 managed하지 않는 모든 사용자 및 역할을 프로젝트의 배포에서 삭제합니다.
Enforce Consistent Set 입니다 NO
관리형 프로젝트에서 Cloud Manager를 사용하면 각 배포에서 자체 MongoDB 사용자 및 역할 집합을 사용할 수 있습니다. Cloud Manager는 이러한 MongoDB 사용자 및 역할을 managed 필요가 없습니다. 이러한 사용자와 역할을 managed하려면 MongoDB deployment에 직접 연결해야 합니다.
Cloud Manager는 Synced 에서 Yes
로 설정한 managed MongoDB 사용자 및 역할에 모든 managed 배포에 대한 액세스 권한을 부여합니다.
Cloud Manager는 Synced 를 No
로 설정한 관리되지 않는 MongoDB 사용자 및 역할의 액세스를 해당 사용자 및 역할의 특정 배포로 제한합니다.
참고
Enforce Consistent Set 기본값은 NO
입니다.
MongoDB deployment 가져오기가 사용자 및 역할 관리에 미치는 영향을 알아보려면 자동화 및 가져오기 시 업데이트된 보안 설정을 참조하세요.
roleNames
자동화로 managed 되는 배포에 대해서는 사용자 지정 역할 MongodbAutomationAgentUserRole
의 이름을 지정할 수 없습니다. 이 이름은 MongoDB Agent의 mms-automation
사용자가 사용하는 내부 역할 이름이기 때문입니다.
전제 조건
역할을 적용하려면 MongoDB 액세스 제어 를 활성화해야 합니다. 액세스 제어를 활성화하기 전이나 이후에 역할을 생성할 수 있지만 액세스 제어를 활성화할 때까지 역할이 Go 않습니다.
사용자 지정 MongoDB 역할 생성
MongoDB Cloud Manager 에서 Deployment 프로젝트 의 페이지로 이동합니다.
이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Deployment 페이지가 아직 표시되지 않은 경우 사이드바에서 Deployment를 클릭합니다.
배포 페이지가 표시됩니다.
탭 을 MongoDB Roles 클릭합니다.
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 그룹에 연결된 Cloud Manager에서 DBA 역할을admin
database Identifier 생성하려면CN=DBA,CN=Users,DC=example,DC=com
필드에 name Identifier 을 입력하고 필드에 를 입력합니다.
사용자 지정 역할 편집
사용자 지정 역할의 권한을 변경할 수 있습니다. 해당 이름이나 데이터베이스는 변경할 수 없습니다.
역할에 대한 권한 보기
역할의 권한을 보려면 다음과 같이 하세요:
MongoDB Cloud Manager 에서 Deployment 프로젝트 의 페이지로 이동합니다.
이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Deployment 페이지가 아직 표시되지 않은 경우 사이드바에서 Deployment를 클릭합니다.
배포 페이지가 표시됩니다.
각 권한은 리소스를 권한 작업 세트와 쌍을 이룹니다. 모든 역할에는 데이터베이스가 할당됩니다. 각 기본 제공 역할 은 admin
데이터베이스 또는 모든 데이터베이스에 할당됩니다.