特権アクションは、ユーザーがリソースに対して実行できる操作を定義します。 MongoDB の特権は、リソースと許可されたアクションで構成されています。 このページには、共通の目的別にグループ化された利用可能なアクションがリストされます。
MongoDB では、リソースと許可されたアクションの事前定義された組み合わせを持つ組み込みのロールが提供されます。許可されたアクションのリストについては、以下をご覧ください。
カスタムロールを定義するには、以下を参照してください。
クエリと書込みアクション
findユーザーは次のコマンドと同等のヘルパー メソッドを実行できます。
aggregateは、すべてのパイプライン操作に適用されます(以下は適用対象外:$collStats、$out、$indexStats)。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()メソッドを実行できます。 このアクションをデータベースまたはコレクション リソースに適用します。
createIndexdb.collection.createIndex()メソッドと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ユーザーは
db.currentOp()メソッドを使用して、保留中の操作とアクティブな操作に関する情報を返すことができます。このアクションをclusterリソースに適用します。inprog特権がなくても、mongodインスタンスでは、ユーザーはdb.currentOp( { "$ownOps": true } )を実行して自分の操作を表示できます。
invalidateUserCacheinvalidateUserCacheコマンドへのアクセスを提供します。このアクションを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リソースに適用します。
clearJumboFlagclearJumboFlagコマンドを使用してチャンクのジャンボフラグをクリアするために必要です。 このアクションをデータベースまたはコレクション リソースに適用します。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リソースに適用します。
サーバー管理アクション
applicationMessageユーザーは
logApplicationMessageコマンドを実行できます。このアクションをclusterリソースに適用します。
bypassWriteBlockingModesetUserWriteBlockModeコマンドによって書込みがブロックされている場合でも、ユーザーは書込みを実行できます。このアクションを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リソースに適用します。
oidResetObjectId で使用される 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リソースに適用します。Tip
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リソースに適用します。