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