문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
권한 작업
권한 동작은 사용자가 리소스에서 수행할 수 있는 작업을 정의합니다. 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()
메서드를 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.
killCursors
MongoDB 4 부터 시작.2, 사용자에게
killCursors
권한이 있는지 여부에 관계없이 사용자는 항상 자신의 커서를 종료할 수 있습니다. 따라서killCursors
권한은 MongoDB 4 에서는 적용되지 않습니다.2+.MongoDB 3.6.3 통해 MongoDB 4.0.x, 액세스 제어가 활성화된 경우 사용자가 자신의 커서를 죽이려면
killCursors
권한이 필요합니다. 커서는 커서 생성 시 사용자와 연결됩니다. 컬렉션 리소스에 이 작업을 적용합니다.
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
및find
, 특정 데이터베이스의 모든 비system
컬렉션 또는 모든 데이터베이스의 모든 비system
컬렉션에 있는 사용자는 해당 리소스에 대한 변경 스트림 커서 를 열 수 있습니다.
복제 옵션
replSetGetConfig
사용자는 복제본 세트의 구성을 볼 수 있습니다.
replSetGetConfig
2} 명령 및rs.conf()
도우미 메서드에 대한 액세스를 제공합니다.이 작업을
cluster
리소스에 적용합니다.
replSetGetStatus
사용자는
replSetGetStatus
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
replSetStateChange
사용자는
replSetFreeze
,replSetMaintenance
,replSetStepDown
,replSetSyncFrom
명령을 통해 복제본 세트 상태를 변경할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
샤딩 작업
addShard
사용자는
addShard
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
checkMetadataConsistency
사용자는
checkMetadataConsistency
명령을 수행할 수 있습니다. 이 작업을cluster
, 데이터베이스 또는 컬렉션 리소스에 적용합니다.버전 7.0에 추가.
clearJumboFlag
4.2.3 및 4.0.15부터 사용 가능
2} 명령을 사용하여 청크의 점보 플래그를 지우는 데
clearJumboFlag
필요합니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.clusterManager
기본 제공 역할에 포함되어 있습니다.
enableSharding
참고
리소스설명사용자에게 다음 작업을 수행할 수 있는 권한을 부여합니다.
enableSharding
명령을 사용하여 데이터베이스에서 샤딩을 활성화하고shardCollection
명령을 사용하여 컬렉션을 샤딩합니다.
버전 4.2.2, 4.0.14, 3.6.16부터 변경됨
refineCollectionShardKey
샤드된 컬렉션의 샤드 키를 구체화하고
refineCollectionShardKey
명령을 실행할 수 있는 권한을 제공합니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.clusterManager
기본 제공 역할에 포함되어 있습니다.
reshardCollection
사용자는
reshardCollection
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.버전 5.0에 추가.
flushRouterConfig
사용자는
flushRouterConfig
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
getShardMap
사용자는
getShardMap
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
getShardVersion
사용자는
getShardVersion
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 리소스에 적용합니다.
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
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
netstat
사용자는
netstat
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
queryStatsRead
사용자는
transformIdentifiers
옵션 없이$queryStats
애그리게이션 단계를 실행할 수 있습니다.
queryStatsReadTransformed
사용자는
transformIdentifiers
옵션 유무에 관계없이$queryStats
애그리게이션 단계를 실행할 수 있습니다.
serverStatus
사용자는
serverStatus
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
validate
사용자는
validate
및validateDBMetadata
명령을 수행할 수 있습니다. 이 작업을 데이터베이스 또는 컬렉션 리소스에 적용합니다.
top
사용자는
top
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.
내부 작업
applyOps
사용자는
applyOps
명령을 수행할 수 있습니다. 이 작업을cluster
리소스에 적용합니다.