自己管理型配置の特権アクション
項目一覧
特権アクションは、ユーザーがリソースに対して実行できる操作を定義します。 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
バージョン 3.2 で追加。
ユーザーは
bypassDocumentValidation
オプションをサポートするコマンドとメソッドのドキュメント検証をバイパスできます。以下のコマンドとそれに相当するメソッドは、ドキュメント検証の回避をサポートしています。このアクションをデータベースまたはコレクション リソースに適用します。
useUUID
バージョン 3.6 の新機能。
ユーザーは、 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()
メソッドを実行できます。このアクションをデータベース リソースに適用します。
killAnyCursor
バージョン3.6.3の新機能。
ユーザーは、他のユーザーが作成したカーソルであっても、任意のカーソルを強制終了できます。このアクションをコレクション リソースに適用してください。
planCacheIndexFilter
ユーザーは、
planCacheClearFilters
、planCacheListFilters
、planCacheSetFilter
コマンドを実行できます。 コレクション リソースにplanCacheIndexFilter
アクションを適用します。
setAuthenticationRestriction
バージョン 3.6 の新機能。
ユーザーは、次のコマンドを実行するときに、
user
ドキュメントの authenticationRestrictions フィールドを指定できます。ユーザーは、次のコマンドを実行するときに、
role
ドキュメント内のauthenticationRestrictions
フィールドを指定できます。注意
次の組み込みロールによってこの特権が付与されます。
userAdmin
ロールは、ロールが割り当てられているデータベースに対してこの特権を提供します。userAdminAnyDatabase
ロールは、すべてのデータベースに対してこの特権を提供します。
このアクションをデータベース リソースに適用します。
setFeatureCompatibilityVersion
ユーザーは
setFeatureCompatibilityVersion
コマンドを実行できます。このアクションをcluster
リソースに適用します。
unlock
ユーザーは
db.fsyncUnlock()
メソッドを実行できます。このアクションをcluster
リソースに適用します。
配置管理アクション
cleanupOrphaned
ユーザーは
cleanupOrphaned
コマンドを実行できます。このアクションを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
リソースに適用します。
clearJumboFlag
clearJumboFlag
コマンドを使用してチャンクのジャンボフラグをクリアするために必要です。 このアクションをデータベースまたはコレクション リソースに適用します。clusterManager
組み込みロールに含まれています。
enableSharding
注意
適用可能なリソース
リソース説明ユーザーに次の操作を実行する特権を付与します。
enableSharding
コマンドを使用してデータベースのシャーディングを有効にします。また、shardCollection
コマンドを使用してコレクションをシャーディングします。
refineCollectionShardKey
シャーディングされたコレクションのシャード キーを調整し、
refineCollectionShardKey
コマンドを実行する特権を提供します。このアクションをデータベースまたはコレクションリソースに適用します。clusterManager
組み込みロールに含まれています。
reshardCollection
ユーザーは
reshardCollection
コマンドを実行できます。このアクションをデータベースまたはコレクションリソースに適用します。バージョン 5.0 で追加
flushRouterConfig
ユーザーは
flushRouterConfig
コマンドを実行できます。このアクションをcluster
リソースに適用します。
getShardMap
ユーザーは
getShardMap
コマンドを実行できます。このアクションをcluster
リソースに適用します。
listShards
ユーザーは
listShards
コマンドを実行できます。このアクションをcluster
リソースに適用します。
moveChunk
ユーザーは
moveChunk
コマンドを実行できます。 さらに、特権が適切なデータベースリソースに適用されている場合、ユーザーはmovePrimary
コマンドを実行できます。 このアクションを データベース または コレクション リソースに適用します。
removeShard
ユーザーは
removeShard
コマンドを実行できます。このアクションをcluster
リソースに適用します。
shardingState
ユーザーは
shardingState
コマンドを実行できます。このアクションをcluster
リソースに適用します。
サーバー管理アクション
applicationMessage
ユーザーは
logApplicationMessage
コマンドを実行できます。このアクションをcluster
リソースに適用します。
collMod
ユーザーは
collMod
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
compact
ユーザーは
compact
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
convertToCapped
ユーザーは
convertToCapped
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
dropConnections
ユーザーは
dropConnections
コマンドを実行できます。このアクションをcluster
リソースに適用します。
dropDatabase
ユーザーは
dropDatabase
コマンドを実行できます。このアクションをデータベース リソースに適用します。
dropIndex
ユーザーは
dropIndexes
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
forceUUID
バージョン 3.6 の新機能。
ユーザーは、
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
リソースに適用します。
shutdown
ユーザーは
shutdown
コマンドを実行できます。このアクションをcluster
リソースに適用します。
セッション アクション
impersonate
バージョン 3.6 の新機能。
ユーザーは、
users
およびroles
パターンとともにkillAllSessionsByPattern
コマンドを実行できます。このアクションをcluster
リソースに適用します。killAllSessionsByPattern
コマンドを実行するには、クラスター リソースに対するkillAnySession
特権もユーザーに必要です。
listSessions
バージョン 3.6 の新機能。
ユーザーは、すべてのユーザーまたは指定されたユーザーに対して
$listSessions
操作または$listLocalSessions
操作を実行できます。このアクションをcluster
リソースに適用します。
killAnySession
バージョン 3.6 の新機能。
ユーザーは
killAllSessions
およびkillAllSessionsByPattern
コマンドを実行できます。このアクションをcluster
リソースに適用します。
診断アクション
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
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
serverStatus
ユーザーは
serverStatus
コマンドを実行できます。このアクションをcluster
リソースに適用します。
validate
ユーザーは
validate
およびvalidateDBMetadata
コマンドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
top
ユーザーは
top
コマンドを実行できます。このアクションをcluster
リソースに適用します。
内部アクション
applyOps
ユーザーは
applyOps
コマンドを実行できます。このアクションをcluster
リソースに適用します。