自己管理型配置の特権アクション
項目一覧
特権アクションは、ユーザーがリソースに対して実行できる操作を定義します。 MongoDB の特権は、リソースと許可されたアクションで構成されています。 このページには、共通の目的別にグループ化された利用可能なアクションがリストされます。
MongoDB では、リソースと許可されたアクションの事前定義された組み合わせを持つ組み込みのロールが提供されます。 付与されるアクションのリストについては、「自己管理型配置の組み込みロール」を参照してください。 カスタムロールを定義するには、「 カスタムロールの作成 」を参照してください。
クエリと書込みアクション
find
ユーザーは次のコマンドと同等のヘルパー メソッドを実行できます。
aggregate
は、すべてのパイプライン操作に適用されます(以下は適用対象外:$collStats
、$out
、$indexStats
)。geoSearch
(MongoDB 5.0 で削除されています)getLastError
(MongoDB 5.1 で削除されています)killCursors
(ただし、カーソルが現在認証されているユーザーに関連付けられている場合に限ります)。mapReduce
({out: inline}
オプション付き)。resetError
(MongoDB 5.0 で削除されています)
コレクションに出力する場合、
db.collection.mapReduce()
ヘルパー メソッドとmapReduce
コマンドのクエリ部分に必要です。db.collection.findAndModify()
ヘルパー メソッドとfindAndModify
コマンドのクエリ部分に必要です。cloneCollectionAsCapped
コマンドとrenameCollection
コマンド、およびdb.collection.renameCollection()
ヘルパー メソッドのソース コレクションに必要です。ユーザーに
listDatabases
特権アクションがない場合、ユーザーはlistDatabases
コマンドを実行して、ユーザーが特権を持つデータベースのリスト(ユーザーが特定のコレクションに対して特権を持つデータベースを含む)を返すことができます(コマンドをauthorizedDatabases
オプションを指定しないか、true
に設定して実行した場合)。このアクションをデータベースまたはコレクション リソースに適用します。
insert
ユーザーは、次のコマンドと同等の方法を実行できます。
コレクションに出力する場合、
db.collection.mapReduce()
ヘルパー メソッドとmapReduce
コマンドの出力部分に必要です。$out
または$merge
パイプライン演算子を使用する場合、db.collection.aggregate()
ヘルパー メソッドとaggregate
コマンドに必要です。upsert
オプションで使用される同等のヘルパー メソッド、update
コマンド、findAndModify
コマンドに必要です。次のコマンドとそのヘルパー メソッドの ディスティネーション コレクションで必要です。
このアクションをデータベースまたはコレクション リソースに適用します。
remove
ユーザーは
delete
コマンドと同等のヘルパー メソッドを実行できます。findAndModify
コマンドとdb.collection.findAndModify()
メソッドの書込み部分に必要です。コレクションに出力するときに
replace
アクションを指定する場合、db.collection.mapReduce()
ヘルパー メソッドとmapReduce
コマンドに必要です。$out
パイプライン演算子を使用する場合、db.collection.aggregate()
ヘルパー メソッドとaggregate
コマンドに必要です。このアクションをデータベースまたはコレクション リソースに適用します。
update
ユーザーは
update
コマンドと同等のヘルパー メソッドを実行できます。replace
アクションを指定せずに コレクションに出力する場合、db.collection.mapReduce()
ヘルパー メソッドとmapReduce
コマンドに必要です。findAndModify
コマンドとdb.collection.findAndModify()
ヘルパー メソッドに必須です。このアクションをデータベースまたはコレクション リソースに適用します。
bypassDocumentValidation
ユーザーは
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()
メソッドとcreateIndexes
コマンドへのアクセスを提供します。 このアクションをデータベースまたはコレクション リソースに適用します。
dropCollection
ユーザーは
db.collection.drop()
メソッドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
enableProfiler
ユーザーは
db.setProfilingLevel()
メソッドを実行できます。このアクションをデータベース リソースに適用します。
planCacheIndexFilter
ユーザーは、
planCacheClearFilters
、planCacheListFilters
、planCacheSetFilter
コマンドを実行できます。 コレクション リソースにplanCacheIndexFilter
アクションを適用します。
querySettings
ユーザーは
setQuerySettings
コマンドとremoveQuerySettings
コマンドを実行し、集約パイプラインに$querySettings
ステージを追加できます。バージョン8.0の新機能。
setAuthenticationRestriction
ユーザーは、次のコマンドを実行するときに、
user
ドキュメントの authenticationRestrictions フィールドを指定できます。ユーザーは、次のコマンドを実行するときに、
role
ドキュメント内のauthenticationRestrictions
フィールドを指定できます。注意
次の組み込みロールによってこの特権が付与されます。
userAdmin
ロールは、ロールが割り当てられているデータベースに対してこの特権を提供します。userAdminAnyDatabase
ロールは、すべてのデータベースに対してこの特権を提供します。
このアクションをデータベース リソースに適用します。
setFeatureCompatibilityVersion
ユーザーは
setFeatureCompatibilityVersion
コマンドを実行できます。このアクションをcluster
リソースに適用します。
unlock
ユーザーは
db.fsyncUnlock()
メソッドを実行できます。このアクションをcluster
リソースに適用します。
配置管理アクション
inprog
ユーザーは
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
特定のコレクション、特定のデータベース内のすべての
system
以外のコレクション、または全データベースにわたるすべてのsystem
以外のコレクションに対してchangeStream
とfind
を持つユーザーは、そのリソースの変更ストリーム カーソルを開くことができます。
レプリケーション アクション
replSetGetConfig
ユーザーはレプリカセットの設定を表示できます。
replSetGetConfig
コマンドとrs.conf()
ヘルパー メソッドへのアクセスを提供します。このアクションを
cluster
リソースに適用します。
replSetGetStatus
ユーザーは
replSetGetStatus
コマンドを実行できます。このアクションをcluster
リソースに適用します。
replSetStateChange
ユーザーは、
replSetFreeze
、replSetMaintenance
、replSetStepDown
、およびreplSetSyncFrom
コマンドを使用してレプリカセットの状態を変更できます。このアクションをcluster
リソースに適用します。
シャーディング アクション
addShard
ユーザーは
addShard
コマンドを実行できます。このアクションをcluster
リソースに適用します。
checkMetadataConsistency
ユーザーは
checkMetadataConsistency
コマンドを実行できます。このアクションをcluster
、データベース、またはコレクション リソースに適用します。バージョン 7.0 で追加。
clearJumboFlag
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
リソースに適用します。
transitionFromDedicatedConfigServer
cluster
リソースに対してこのアクションを持つユーザーは、transitionFromDedicatedConfigServer
コマンドを実行できます。バージョン8.0の新機能。
transitionToDedicatedConfigServer
cluster
リソースに対してこのアクションを持つユーザーは、transitionToDedicatedConfigServer
コマンドを実行できます。バージョン8.0の新機能。
サーバー管理アクション
applicationMessage
ユーザーは
logApplicationMessage
コマンドを実行できます。このアクションをcluster
リソースに適用します。
bypassWriteBlockingMode
setUserWriteBlockMode
コマンドによって書込みがブロックされている場合でも、ユーザーは書込みを実行できます。このアクションをcluster
リソースに適用します。
bypassDefaultMaxTimeMS
ユーザーが実行するすべてのクエリは
defaultMaxTimeMS
の値を無視します。
collMod
ユーザーは
collMod
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
compact
ユーザーは
compact
コマンドとautoCompact
コマンドを実行できます。このアクションをデータベースまたはコレクションリソースに適用します。
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
ユーザーが
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 Search インデックス アクション
次のアクションにより、ユーザーは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
コマンドを実行できます。このアクションをデータベース リソースに適用します。注意
必要な特権を持たないユーザーは、
authorizedCollections
とnameOnly
の両方のオプションをtrue
に設定して、listCollections
コマンドを実行できます。コマンドはこの場合、ユーザーが特権を持つコレクションの名前と型のみを返します。
listIndexes
ユーザーは
listIndexes
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
queryStatsRead
ユーザーは、
transformIdentifiers
オプションなしで$queryStats
集計ステージを実行できます。
queryStatsReadTransformed
ユーザーは、
transformIdentifiers
オプションの有無にかかわらず、$queryStats
集計ステージを実行できます。
serverStatus
ユーザーは
serverStatus
コマンドを実行できます。このアクションをcluster
リソースに適用します。
validate
ユーザーは
validate
およびvalidateDBMetadata
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
top
ユーザーは
top
コマンドを実行できます。このアクションをcluster
リソースに適用します。
内部アクション
applyOps
ユーザーは
applyOps
コマンドを実行できます。このアクションをcluster
リソースに適用します。