문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ /

자체 관리형 배포에 대한 리소스 문서

이 페이지의 내용

  • 데이터베이스 및/또는 컬렉션 리소스
  • 클러스터 리소스
  • anyResource

리소스 문서는 actions 권한이 허용되는 리소스를 지정합니다.

데이터베이스 및/또는 컬렉션을 지정하려면 다음 구문을 사용합니다.

{ db: <database>, collection: <collection> }

리소스 문서에서 dbcollection 필드를 모두 비어 있지 않은 문자열로 지정하는 경우 리소스는 지정된 데이터베이스에 있는 지정된 컬렉션입니다. 예를 들어 다음 문서는 products 데이터베이스에 있는 inventory 컬렉션의 리소스를 지정합니다.

{ db: "products", collection: "inventory" }

admin 데이터베이스가 아닌 데이터베이스에 대해 범위가 지정된 사용자 정의 역할의 경우 해당 권한에 대한 리소스 사양에 역할과 동일한 데이터베이스를 지정해야 합니다. admin 데이터베이스에 대해 범위가 지정된 사용자 정의 역할은 다른 데이터베이스를 지정할 수 있습니다.

collection 필드만 빈 문자열("")인 경우 리소스는 시스템 컬렉션 을 제외한 지정된 데이터베이스입니다. 예를 들어, 다음 리소스 문서는 시스템 컬렉션을 제외한 test 데이터베이스의 리소스를 지정합니다.

{ db: "test", collection: "" }

admin 데이터베이스가 아닌 데이터베이스에 대해 범위가 지정된 사용자 정의 역할의 경우 해당 권한에 대한 리소스 사양에 역할과 동일한 데이터베이스를 지정해야 합니다. admin 데이터베이스에 대해 범위가 지정된 사용자 정의 역할은 다른 데이터베이스를 지정할 수 있습니다.

참고

데이터베이스를 리소스로 지정하는 경우 다음과 같이 명시적으로 이름을 지정하지 않는 한 시스템 컬렉션은 제외됩니다.

{ db: "test", collection: "system.js" }

시스템 컬렉션에는 다음이 포함되지만 이에 국한되지는 않습니다.

db 필드만 빈 string("")인 경우 리소스는 모든 데이터베이스에서 지정된 이름을 가진 모든 컬렉션입니다. 예를 들어, 다음 문서는 모든 데이터베이스에 있는 모든 accounts 컬렉션의 리소스를 지정합니다.

{ db: "", collection: "accounts" }

사용자 정의 역할의 경우, admin 데이터베이스에 대해 범위가 지정된 역할만 해당 권한에 대해 이 자원 스펙을 가질 수 있습니다.

dbcollection 필드가 모두 빈 문자열("")인 경우 리소스는 모든 데이터베이스에서 시스템 컬렉션을 제외한 모든 컬렉션입니다.

{ db: "", collection: "" }

사용자 정의 역할의 경우, admin 데이터베이스에 대해 범위가 지정된 역할만 해당 권한에 대해 이 자원 스펙을 가질 수 있습니다.

클러스터를 리소스로 지정하려면 다음 구문을 사용하세요.

{ cluster : true }

특정 데이터베이스 또는 컬렉션 세트에 대한 조치가 아닌 시스템 상태에 영향을 미치는 조치에 cluster 리소스를 사용합니다. 이러한 조치의 예로는 shutdown, replSetReconfigaddShard 등이 있습니다. 예를 들어 다음 조치는 clustershutdown 문서를 부여합니다.

{ resource: { cluster : true }, actions: [ "shutdown" ] }

사용자 정의 역할의 경우, admin 데이터베이스에 대해 범위가 지정된 역할만 해당 권한에 대해 이 자원 스펙을 가질 수 있습니다.

내부 리소스 anyResource는 시스템의 모든 리소스에 대한 액세스 권한을 부여하며 내부용으로 사용됩니다. 예외적인 경우를 제외하고는 이 리소스를 사용하지 마세요. 이 리소스의 구문은 { anyResource: true }입니다.

돌아가기

system.users 컬렉션

다음

권한 작업