권한 작업
권한 작업은 사용자가 리소스 에서 수행할 수 있는 작업을 정의합니다. MongoDB 권한 은 리소스 와 허용된 작업으로 구성됩니다. 이 페이지에는 사용 가능한 작업이 공통 목적별로 그룹화되어 나열되어 있습니다.
MongoDB는 미리 정의된 리소스 쌍과 허용된 작업이 포함된 기본 제공 역할을 제공합니다. 부여된 작업 목록은 기본 제공 역할을 참조하십시오. 사용자 지정 역할을 정의하려면 사용자 정의 역할 생성을 참조하십시오.
쿼리 및 쓰기 작업
find
사용자는 다음 명령과 그에 상응하는 헬퍼 메서드를 수행할 수 있습니다.
aggregate
, 모든 파이프라인 작업용,$collStats
,$out
,$indexStats
제외.geoSearch
(MongoDB 5.0에서 제거됨)getLastError
(몽고DB 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
리소스에 적용합니다.
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
리소스에 적용합니다.
checkMetadataConsistency
사용자는
checkMetadataConsistency
명령을 수행할 수 있습니다. 이 작업을cluster
, 데이터베이스 또는 컬렉션 리소스에 적용합니다.버전 7.0에 추가.
clearJumboFlag
2} 명령을 사용하여 청크의 점보 플래그를 지우는 데
clearJumboFlag
필요합니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.clusterManager
기본 제공 역할에 포함되어 있습니다.
enableSharding
참고
리소스설명사용자에게 다음 작업을 수행할 수 있는 권한을 부여합니다.
enableSharding
명령을 사용하여 데이터베이스에서 샤딩을 활성화하고shardCollection
명령을 사용하여 컬렉션을 샤딩합니다.
refineCollectionShardKey
샤드된 컬렉션의 샤드 키를 구체화하고
refineCollectionShardKey
명령을 실행할 수 있는 권한을 제공합니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.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
리소스에 적용합니다.
splitVector
사용자는
splitVector
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
서버 관리 작업
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
데이터베이스 명령을 실행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
진단 작업
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
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.참고
버전 4.0부터는 필요한 권한이 없는 사용자도 및 옵션을 모두 로
listCollections
설정하여 명령을 실행할 수authorizedCollections
nameOnly
true
있습니다. 이 경우 명령은 사용자에게 권한이 있는 컬렉션의 이름과 유형만 반환합니다.
listIndexes
사용자는
listIndexes
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
serverStatus
사용자는
serverStatus
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
validate
사용자는
validate
및validateDBMetadata
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
top
사용자는
top
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
내부 작업
applyOps
사용자는
applyOps
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.