You can create custom roles in Atlas when the built-in roles don't include your desired set of privileges. Atlas applies each database user's custom roles together with:
데이터베이스 사용자를 추가 하거나 데이터베이스 사용자를 수정 할 때 할당하는 모든 내장 역할입니다.
Any specific privileges you assign when you add a database user or modify a database user.
각 데이터베이스 사용자에게 여러 사용자 지정 역할을 할당할 수 있습니다.
참고
무료 클러스터와 Flex 클러스터 제한
Changes to custom roles might take up to 30 seconds to deploy in Free clusters and Flex clusters.
사용자 지정 역할 및 사용자 지정 역할 API 에 사용할 수 있는 권한 작업 은 내장 역할에 사용할 수 있는 권한 작업의 하위 집합을 나타냅니다.
사용자 정의 역할 권한 목록을 검토하려면 API 참조를 확인하세요.
고려 사항
중요
You must use the Atlas CLI, Atlas Administration API, Atlas UI, or a supported integration to add, modify, or delete database roles on Atlas clusters. Otherwise, Atlas rolls back any role modifications.
단일 데이터베이스 사용자에게 최대 20 개의 사용자 지정 역할을 할당할 수 있습니다.
You can create up to 100 custom roles per project by default. IMPORTANT: If you require more custom roles per project, you can increase the number of custom roles up to a maximum of 1400 through the Atlas Administration API using the Set One Project Limit endpoint.
Atlas는 프로젝트의 활동 피드에서 사용자 지정 MongoDB 역할의 생성, 삭제 및 업데이트를 감사합니다.
사용자에게 여러 역할을 할당하고 해당 역할이 객체에 대해 충돌하는 권한을 부여하는 경우, Atlas는 모든 역할 내에서 가장 높은 권한을 우선시합니다.
예를 들면 다음과 같습니다.
두 개의 사용자 지정 역할을 생성하고 두 역할을 모두 사용자 A에게 할당합니다.
The first custom role grants only
readprivileges on your database. It also grants bypassDocumentValidation on your database.The second role grants
dbAdminprivileges on your database. It doesn't grant bypassDocumentValidation, which is an implicit denial of bypass permissions.
dbAdmin이 더욱 상위 데이터베이스 액세스 권한이므로 사용자 A는 데이터베이스에 대한 모든dbAdmin권한을 갖습니다. 또한 bypassDocumentValidation이 더욱 상위 우회 권한이기 때문에 사용자 A가 bypassDocumentValidation 권한도 갖게 됩니다.
필요한 액세스 권한
사용자 지정 데이터베이스 역할을 구성하려면, Atlas에 대해 Organization Owner, Project Owner 또는 Project Database Access Admin 액세스 권한이 있어야 합니다.
사용자 지정 역할 추가
Atlas CLI를 사용하여 프로젝트의 사용자 지정 데이터베이스 역할을 업데이트하려면 다음 명령을 실행하십시오.
atlas customDbRoles create <roleName> [options]
명령 구문 및 매개변수에 관한 자세한 학습 은 Atlas CLI 문서에서 Atlas customDbRoles 생성을 참조하십시오.
Atlas 관리 API 통해 사용자 지정 역할을 만들려면 역할 만들기를 참조하세요.
Atlas UI를 통해 사용자 지정 역할을 만들려면 다음 단계를 따르세요.
Atlas 에서 프로젝트 의 Database & Network Access 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.
The Database & Network Access page displays after you complete the preceding steps.
역할 정보를 입력합니다.
필드 | 설명 |
|---|---|
Custom Role Name | 사용자 지정 역할의 이름. 중요: 지정된 역할 이름에는 문자, 숫자, 밑줄 또는 하이픈만 포함할 수 있습니다. 또한, 다음 조건 중 하나를 충족하는 역할 이름을 지정할 수 없습니다.
|
Action or Role | Privileges granted by the role. Click the dropdown to view the list of available privilege actions and roles. Atlas는 작업과 역할을 다음과 같은 범주로 분류합니다.
단일 범주에서 작업 또는 역할을 선택합니다. 작업 또는 역할을 선택하면 Atlas는 다음과 같은 예외를 제외하고 다른 범주를 비활성화합니다. Global Actions and Roles에서 작업/역할을 선택하는 경우에도 Custom Roles에서 작업/역할을 선택할 수 있습니다. 다른 범주의 작업 및 역할을 부여하려면 Add an action or role을(를) 클릭하여 새 행을 추가합니다. Atlas는 프로젝트의 클러스터 버전에서 사용할 수 없는 작업을 비활성화합니다. 사용자 지정 역할은 프로젝트 수준에서 정의되며 프로젝트 클러스터에서 사용하는 각 MongoDB 버전과 호환되어야 합니다. |
Database | 해당되는 경우 선택한 작업과 역할이 부여되는 데이터베이스입니다. 데이터베이스 지정하려면 데이터베이스 이름을 입력하거나 Apply to any database을 선택합니다. WARNING: If you select Apply to any database, the roles grants permissions for actions on the 이 필드는 Collection Actions 및 Database Actions and Roles 범주에 속하는 모든 역할 및 작업에 필수입니다. |
Collection | 해당하는 경우 작업과 역할이 부여되는 지정된 데이터베이스 내의 컬렉션입니다. 컬렉션 지정하려면 컬렉션 이름을 입력하거나 Apply to any collection를 선택합니다. 경고: Apply to any collection을(를) 선택하면 역할이 이 필드는 Collection Actions 아래의 모든 역할 및 작업에 필수 입력 항목입니다. |
여러 데이터베이스 및 컬렉션에 동일한 권한 집합을 부여하려면 Add a database or collection을(를) 클릭합니다.
사용자 지정 역할 보기
Atlas CLI를 사용하여 프로젝트의 모든 사용자 지정 데이터베이스 역할을 나열하려면 다음 명령을 실행하십시오.
atlas customDbRoles list [options]
Atlas CLI를 사용하여 지정한 프로젝트에서 사용자 지정 데이터베이스 역할에 대한 세부 정보를 반환하려면 다음 명령을 실행합니다.
atlas customDbRoles describe <roleName> [options]
이전 명령의 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas 사용자 지정 DB 역할 목록 및 Atlas 사용자 지정 DB 역할 설명을 참조하십시오.
Atlas 관리 API 통해 사용자 지정 역할을 보려면 모두 가져오기를 참조하세요.
Atlas UI를 통해 사용자 지정 역할을 보려면 다음을 수행합니다.
Atlas 에서 프로젝트 의 Database & Network Access 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.
The Database & Network Access page displays after you complete the preceding steps.
사용자 지정 역할 수정
Atlas CLI를 사용하여 프로젝트의 사용자 정의 데이터베이스 역할을 업데이트하려면 다음 명령어를 실행하세요.
atlas customDbRoles update <roleName> [options]
명령 구문 및 매개변수에 대해 자세히 학습하려면 atlas customDbRoles 업데이트에 대한 Atlas CLI 설명서를 참조하세요.
Atlas 관리 API 통해 사용자 지정 역할을 수정하려면 업데이트 1을 참조하세요.
Atlas UI를 통해 사용자 지정 역할을 수정하려면 다음 단계를 따르세요.
Atlas 에서 프로젝트 의 Database & Network Access 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.
The Database & Network Access page displays after you complete the preceding steps.
사용자 지정 역할 삭제
Atlas CLI를 사용하여 프로젝트에서 사용자 정의 데이터베이스 역할을 삭제하려면 다음 명령어를 실행하세요.
atlas customDbRoles delete <roleName> [options]
To learn more about the command syntax and parameters, see the Atlas CLI documentation for atlas customDbRoles delete.
Atlas 관리 API 통해 사용자 지정 역할을 삭제 하려면 역할 제거를 참조하세요.
Atlas UI를 통해 사용자 지정 역할을 삭제하려면 다음 단계를 따르세요.
Atlas 에서 프로젝트 의 Database & Network Access 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database & Network Access를 클릭합니다.
The Database & Network Access page displays after you complete the preceding steps.
다음 시나리오에서는 사용자 지정 역할을 삭제할 수 없습니다:
역할을 삭제하면 부모 역할이나 작업이 전혀 없이 하나 이상의 자식 역할이 남게 됩니다.
역할을 삭제하면 한 명 이상의 데이터베이스 사용자가 역할이 없는 상태로 남게 되는 경우.
사용자 지정 역할 할당
You can assign custom roles in the Atlas UI when you add a database user or modify a database user. To assign custom roles through the Atlas Administration API, see Create a Database User or Update a Database User.