자체 관리형 배포서버에 대한 권한 작업
이 페이지의 내용
권한 작업은 사용자가 리소스 에서 수행할 수 있는 작업을 정의합니다. MongoDB 권한 은 리소스 와 허용된 작업으로 구성됩니다. 이 페이지에는 사용 가능한 작업이 공통 목적별로 그룹화되어 나열되어 있습니다.
MongoDB 는 사전 정의된 리소스 쌍 및 허용된 작업이 포함된 내장 제공 역할을 제공합니다. 부여된 작업 목록은 자체 관리 배포서버의 기본 제공 역할을 참조하세요. 사용자 지정 역할을 정의하려면 사용자 정의 역할 생성을 참조하세요.
쿼리 및 쓰기 작업
find
사용자는 다음 명령과 그에 상응하는 헬퍼 메서드를 수행할 수 있습니다.
aggregate
, 모든 파이프라인 작업용,$collStats
,$out
,$indexStats
제외.geoSearch
(MongoDB 5.0에서 제거됨)getLastError
(MongoDB 5.1에서 제거됨)killCursors
커서가 현재 인증된 사용자와 연결되어 있는 경우에만 사용할 수 있습니다.mapReduce
{out: inline}
옵션으로 바꿉니다.resetError
(MongoDB 5.0에서 제거됨)
컬렉션으로 출력할 때 명령의 쿼리 부분과 도우미
mapReduce
db.collection.mapReduce()
메서드에 필요합니다.2} 명령 및
findAndModify
db.collection.findAndModify()
헬퍼 메서드의 쿼리 부분에 필요합니다.2}
renameCollection
및cloneCollectionAsCapped
명령과db.collection.renameCollection()
도우미 메서드에 대한 소스 컬렉션에 필요합니다.listDatabases
권한 작업이 사용자에게 없는 경우listDatabases
명령을 실행하여 권한이 있는 데이터베이스(특정 컬렉션에 대한 권한이 사용자에게 있는 데이터베이스 포함) 목록을 반환할 수 있습니다. 이는 명령이 실행될 때authorizedDatabases
옵션이 지정되지 않았거나true
로 설정된 경우에 가능합니다.이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
insert
사용자는 다음 명령과 그에 상응하는 방법을 수행할 수 있습니다.
컬렉션으로 출력할
mapReduce
때 명령 및db.collection.mapReduce()
헬퍼 메서드의 출력 부분에 필요합니다.8} 또는
$merge
파이프라인 연산자를 사용할 때aggregate
명령 및db.collection.aggregate()
$out
도우미 메서드에 필요합니다.update
2} 및findAndModify
명령 및 옵션과 함께 사용할 경우 이에 상응하는 도우미 메서드에upsert
필요합니다.다음 명령 및 해당 도우미 메서드에 대한 대상 컬렉션에 필요합니다.
이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
remove
사용자는
delete
명령 및 이에 상응하는 도우미 메서드를 수행할 수 있습니다.2}
db.collection.findAndModify()
명령 및findAndModify
메서드의 쓰기 부분에 필요합니다.컬렉션으로 출력할 때
replace
작업을 지정할 때mapReduce
명령 및db.collection.mapReduce()
도우미 메서드에 필요합니다.8} 파이프라인 연산자를
aggregate
$out
사용할 때db.collection.aggregate()
명령 및 도우미 메서드에 필요합니다.이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
update
사용자는
update
명령 및 이에 상응하는 도우미 메서드를 수행할 수 있습니다.8} 작업을 지정하지
mapReduce
않고 컬렉션으로 출력할db.collection.mapReduce()
때 명령 및 도우미 메서드에 필요합니다.replace
findAndModify
2} 명령 및 도우미 메서드에 필요합니다.db.collection.findAndModify()
이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
bypassDocumentValidation
2} 옵션을 지원하는 명령 및 메서드에서 문서 유효성 검사를 건너뛸 수 있습니다.
bypassDocumentValidation
다음 명령과 그에 상응하는 메서드는 문서 유효성 검사 우회를 지원합니다.이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
useUUID
사용자는 UUID를 네임스페이스처럼 사용하여 다음 명령을 실행할 수 있습니다.
예를 들어, 이 권한은 사용자에게 지정된 UUID로 컬렉션에서
find
명령을 실행하는 다음 명령을 실행할 수 있는 권한을 부여합니다. 또한 이 작업을 성공적으로 수행하려면 사용자에게 지정된 UUID에 해당하는 컬렉션 네임스페이스에서find
명령을 실행할 수 있는 권한이 있어야 합니다.db.runCommand({find: UUID("123e4567-e89b-12d3-a456-426655440000")}) 컬렉션 UUID에 대한 자세한 내용은 컬렉션을 참조하세요.
이 작업을
cluster
리소스에 적용합니다.
데이터베이스 관리 작업
changeOwnCustomData
사용자는 자신의 사용자 지정 정보를 변경할 수 있습니다. 이 조치 을 데이터베이스 리소스에 적용합니다. 자체 관리 배포서버에서 비밀번호 및 사용자 지정 데이터 변경도 참조하세요.
changeOwnPassword
사용자는 자신의 비밀번호를 변경할 수 있습니다. 이 조치 을 데이터베이스 리소스에 적용합니다. 자체 관리 배포서버에서 비밀번호 및 사용자 지정 데이터 변경도 참조하세요.
createCollection
사용자는
db.createCollection()
메서드를 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
createIndex
db.collection.createIndex()
2} 메서드 및createIndexes
명령에 대한 액세스를 제공합니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
dropCollection
사용자는
db.collection.drop()
메서드를 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
enableProfiler
사용자는
db.setProfilingLevel()
메서드를 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.
planCacheIndexFilter
사용자는
planCacheClearFilters
,planCacheListFilters
및planCacheSetFilter
명령을 실행할 수 있습니다. 컬렉션 리소스에planCacheIndexFilter
작업을 적용합니다.
setAuthenticationRestriction
사용자는 다음 명령을 실행할 때
user
문서에서 authenticationRestrictions 필드를 지정할 수 있습니다.사용자는 다음 명령을 실행할 때
role
문서에서authenticationRestrictions
필드를 지정할 수 있습니다.참고
다음 기본 제공 역할에 이 권한이 부여됩니다.
userAdmin
역할은 역할이 할당된 데이터베이스에 이 권한을 제공합니다.userAdminAnyDatabase
역할은 모든 데이터베이스에서 이 권한을 제공합니다.
이 작업을 데이터베이스 리소스에 적용합니다.
setFeatureCompatibilityVersion
사용자는
setFeatureCompatibilityVersion
명령을 실행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
unlock
사용자는
db.fsyncUnlock()
메소드를 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
배포 관리 작업
cleanupOrphaned
사용자는
cleanupOrphaned
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
inprog
2} 메서드를 사용하여
db.currentOp()
보류 중 및 활성 작업에 대한 정보를 반환할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.inprog
권한이 없더라도mongod
인스턴스에서 사용자는db.currentOp( { "$ownOps": true } )
를 실행하여 자신의 작업을 볼 수 있습니다.
invalidateUserCache
invalidateUserCache
명령에 대한 액세스를 제공합니다. 이 작업을cluster
리소스에 적용합니다.
killop
사용자는
db.killOp()
메소드를 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
planCacheRead
사용자는 다음 작업을 실행할 수 있습니다.
$planCacheStats
링크 및 설명 추가.
이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
planCacheWrite
사용자는
planCacheClear
명령과PlanCache.clear()
및PlanCache.clearPlansByQuery()
메서드를 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
변경 스크림 작업
changeStream
changeStream
을 사용하고 특정 컬렉션, 특정 데이터베이스의 모든 비system
컬렉션 또는 모든 데이터베이스의 모든 비system
컬렉션에서find
를 사용하면 해당 리소스에 대한 변경 스트림 커서를 열 수 있습니다.
복제 옵션
replSetGetConfig
사용자는 복제본 세트의 구성을 볼 수 있습니다.
replSetGetConfig
2} 명령 및rs.conf()
도우미 메서드에 대한 액세스를 제공합니다.이 작업을
cluster
리소스에 적용합니다.
replSetGetStatus
사용자는
replSetGetStatus
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
replSetStateChange
사용자는
replSetFreeze
,replSetMaintenance
,replSetStepDown
,replSetSyncFrom
명령을 통해 복제본 세트 상태를 변경할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
샤딩 작업
addShard
사용자는
addShard
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
clearJumboFlag
2} 명령을 사용하여 청크의 점보 플래그를 지우는 데
clearJumboFlag
필요합니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.clusterManager
기본 제공 역할에 포함되어 있습니다.
enableSharding
참고
해당 리소스
리소스설명사용자에게 다음 작업을 수행할 수 있는 권한을 부여합니다.
enableSharding
명령을 사용하여 데이터베이스에서 샤딩을 활성화하고shardCollection
명령을 사용하여 컬렉션을 샤딩합니다.
refineCollectionShardKey
샤드 collection의 샤드 키를 정제할 수 있는 권한을 제공합니다. 즉,
refineCollectionShardKey
명령을 실행합니다. 이 조치를 데이터베이스 또는 collection 리소스에 적용합니다.clusterManager
기본 제공 역할에 포함되어 있습니다.
reshardCollection
사용자는
reshardCollection
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.버전 5.0에 추가.
flushRouterConfig
사용자는
flushRouterConfig
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
getShardMap
사용자는
getShardMap
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
listShards
사용자는
listShards
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
moveChunk
사용자는
moveChunk
및moveRange
명령을 수행할 수 있습니다. 또한 사용자는 적절한 데이터베이스 리소스에 권한이 적용된 경우movePrimary
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
removeShard
사용자는
removeShard
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
shardedDataDistribution
사용자는
$shardedDataDistribution
집계 파이프라인 스테이지를 수행할 수 있습니다.버전 6.0.3에 추가되었습니다.
shardingState
사용자는
shardingState
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
서버 관리 작업
applicationMessage
사용자는
logApplicationMessage
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
bypassWriteBlockingMode
2} 명령으로 쓰기가 차단된 경우에도 사용자가 쓰기를 수행할 수 있습니다.
setUserWriteBlockMode
이 작업을cluster
리소스에 적용합니다.
collMod
사용자는
collMod
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
compact
사용자는
compact
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
compactStructuredEncryptionData
사용자는
compactStructuredEncryptionData
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
convertToCapped
사용자는
convertToCapped
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
dropConnections
사용자는
dropConnections
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
dropDatabase
사용자는
dropDatabase
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.
dropIndex
사용자는
dropIndexes
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
forceUUID
사용자는 명령을
applyOps
사용하여 사용자 정의 컬렉션 UUID를 사용하여 컬렉션을 만들 수 있습니다.이 작업을
cluster
리소스에 적용합니다.
fsync
사용자는
fsync
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
getDefaultRWConcern
사용자는 관리
getDefaultRWConcern
명령을 실행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
getParameter
사용자는
getParameter
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
oidReset
ObjectID에사용되는 5바이트 임의 문자열을 재설정하는 데 필요합니다.
logRotate
사용자는
logRotate
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
reIndex
사용자는
reIndex
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
renameCollectionSameDB
2} 명령을 사용하여 현재 데이터베이스의 컬렉션 이름을 바꿀 수 있습니다.
renameCollection
이 작업을 데이터베이스 리소스에 적용합니다.또한 사용자는 소스 컬렉션에 대한
find
가 있거나 대상 컬렉션에 대한find
가 없어야 합니다.새 이름의 컬렉션이 이미 존재하는 경우 사용자는 대상 컬렉션에 대한
dropCollection
작업도 가지고 있어야 합니다.
rotateCertificates
사용자는
rotateCertificates
명령 명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
setDefaultRWConcern
사용자는 관리
setDefaultRWConcern
명령을 실행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
setParameter
사용자는
setParameter
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
setUserWriteBlockMode
사용자는
setUserWriteBlockMode
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
shutdown
사용자는
shutdown
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
세션 작업
impersonate
사용자는
users
및roles
패턴으로killAllSessionsByPattern
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.killAllSessionsByPattern
명령을 실행하려면 사용자에게 클러스터 리소스에 대한killAnySession
권한도 있어야 합니다.
listSessions
사용자는 모든 사용자 또는 지정된 사용자에 대해
$listSessions
작업 또는$listLocalSessions
작업을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
killAnySession
사용자는
killAllSessions
및killAllSessionsByPattern
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
Atlas 검색 인덱스 작업
다음 작업을 통해 사용자는 Atlas Search 데이터베이스 명령을 실행할 수 있습니다. 이러한 작업은 MongoDB Atlas에서 호스팅되는 배포에만 해당됩니다.
createSearchIndexes
사용자는
createSearchIndexes
데이터베이스 명령을 실행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
dropSearchIndex
사용자는
dropSearchIndex
데이터베이스 명령을 실행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
listSearchIndexes
사용자는
$listSearchIndexes
집계 단계를 실행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
updateSearchIndex
사용자는
updateSearchIndex
데이터베이스 명령을 실행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
무료 모니터링 조치
checkFreeMonitoringStatus
cluster
리소스에 대해 이 조치를 수행하는 사용자는 무료 모니터링 상태를 확인할 수 있습니다.버전 4.0에 추가.
setFreeMonitoring
cluster
리소스에 대해 이 작업을 수행하는 사용자는 무료 모니터링을 활성화하거나 비활성화할 수 있습니다.버전 4.0에 추가.
진단 작업
collStats
사용자는
collStats
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
connPoolStats
사용자는
connPoolStats
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
dbHash
사용자는
dbHash
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
dbStats
사용자는
dbStats
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.
getCmdLineOpts
사용자는
getCmdLineOpts
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
getLog
사용자는
getLog
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
indexStats
사용자는
$indexStats
집계 파이프라인 단계를 실행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.$indexStats
단계를 사용하려면 사용자는 최소한clusterMonitor
역할로 인증해야 합니다.
listDatabases
사용자는
listDatabases
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.listDatabases
권한 작업이 사용자에게 없는 경우listDatabases
명령을 실행하여 권한이 있는 데이터베이스(특정 컬렉션에 대한 권한이 사용자에게 있는 데이터베이스 포함) 목록을 반환할 수 있습니다. 이는 명령이 실행될 때authorizedDatabases
옵션이 지정되지 않았거나true
로 설정된 경우에 가능합니다.
listCollections
사용자는
listCollections
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.참고
필요한 권한이 없는 사용자도
authorizedCollections
및nameOnly
옵션을 모두true
로 설정하여listCollections
명령을 실행할 수 있습니다. 이 경우 명령은 사용자에게 권한이 있는 컬렉션의 이름과 유형만 반환합니다.
listIndexes
사용자는
listIndexes
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
queryStatsRead
사용자는
transformIdentifiers
옵션 없이$queryStats
애그리게이션 단계를 실행할 수 있습니다.
queryStatsReadTransformed
사용자는
transformIdentifiers
옵션 유무에 관계없이$queryStats
애그리게이션 단계를 실행할 수 있습니다.
serverStatus
사용자는
serverStatus
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
validate
사용자는
validate
및validateDBMetadata
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
top
사용자는
top
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
내부 작업
applyOps
사용자는
applyOps
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.