revokeRolesFromUser
定義
revokeRolesFromUser
ロールが存在するデータベース上のユーザーから 1 つ以上のロールを削除します。
Tip
mongosh
では、このコマンドはdb.revokeRolesFromUser()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5 、M 10 + クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { revokeRolesFromUser: "<user>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: { <write concern> }, comment: <any> } )
コマンドフィールド
このコマンドは、次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|---|---|
| string | ロールを削除するユーザー。 |
| 配列 | ユーザーから削除するロール。 |
| ドキュメント | 任意。 操作の 書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。 |
| any | 任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。
コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。 |
roles
フィールドでは、組み込みロールとユーザー定義ロールの両方を指定できます。
revokeRolesFromUser
が実行されるのと同じデータベースに存在するロールを指定するには、ロールの名前を使用してロールを指定します。
"readWrite"
または、次のように、ドキュメントを使用してロールを指定することもできます。
{ role: "<role>", db: "<database>" }
別のデータベースに存在するロールを指定するには、 ドキュメントを使用してロールを指定します。
必要なアクセス権
データベースのロールを取り消すには、データベースに対してrevokeRole
アクションが必要です。
例
products
データベース内のaccountUser01
ユーザーには次のロールがあります。
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]
次のrevokeRolesFromUser
コマンドは、ユーザーの 2 つのロールを削除します。1 つはstock
データベースのread
ロールとproducts
データベースのreadWrite
ロールです。これはまた、 コマンドが実行されるデータベースでもあります。
use products db.runCommand( { revokeRolesFromUser: "accountUser01", roles: [ { role: "read", db: "stock" }, "readWrite" ], writeConcern: { w: "majority" } } )
products
データベース内のユーザーaccountUser01
に残りのロールが 1 つだけになりました。
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]