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