db.revokeRolesFromUser()
定義
db.revokeRolesFromUser()
現在のデータベース上のユーザーから 1 つ以上のロールを削除します。
db.revokeRolesFromUser()
メソッドは次の構文を使用します。db.revokeRolesFromUser( "<username>", [ <roles> ], { <writeConcern> } ) db.revokeRolesFromUser()
メソッドは次の引数を取ります。Parameterタイプ説明user
stringロールを取り消すユーザーの名前。roles
配列ユーザーから削除するロール。writeConcern
ドキュメント任意。 操作の書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。
roles
フィールドでは、組み込みロールとユーザー定義ロールの両方を指定できます。db.revokeRolesFromUser()
が実行されるのと同じデータベースに存在するロールを指定するには、ロールの名前を使用してロールを指定します。"readWrite" または、次のように、ドキュメントを使用してロールを指定することもできます。
{ role: "<role>", db: "<database>" } 別のデータベースに存在するロールを指定するには、 ドキュメントを使用してロールを指定します。
db.revokeRolesFromUser()
メソッドは、revokeRolesFromUser
コマンドをラップします。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
重要
このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
レプリカセット
レプリカセットで実行する場合、 db.revokeRolesFromUser()
はデフォルトで"majority"
書込み保証を使用して実行されます。
必要なアクセス権
データベースのロールを取り消すには、データベースに対してrevokeRole
アクションが必要です。
例
products
データベース内のaccountUser01
ユーザーには次のロールがあります。
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]
次のdb.revokeRolesFromUser()
メソッドでは、ユーザーの 2 つのロールが削除されます。 stock
データベースのread
ロールとproducts
データベースのreadWrite
ロール(これは メソッドが実行されるデータベースでもあります)。
use products db.revokeRolesFromUser( "accountUser01", [ { role: "read", db: "stock" }, "readWrite" ], { w: "majority" } )
products
データベース内のユーザーaccountUser01
ユーザーに残りのロールが 1 つだけになりました。
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]