Docs Menu

db.grantRolesToRole()

db.grantRolesToRole(rolename, roles, writeConcern)

ユーザー定義ロールにロールを付与します。

重要

mongosh メソッド

このページでは、mongosh メソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません

データベースコマンドについては、grantRolesToRole コマンドを参照してください。

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

db.grantRolesToRole()メソッドは次の構文を使用します。

db.grantRolesToRole( "<rolename>", [ <roles> ], { <writeConcern> } )

The db.grantRolesToRole() method takes the following arguments:

Parameter
タイプ
説明

rolename

string

The name of the role to which to grant sub roles.

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 データベースで作成されたロールは、任意のデータベースのロールから権限を継承できます。

データベースにロールを付与するには、そのデータベースに対してgrantRoleアクションが必要です。

The following db.grantRolesToRole() operation updates the productsReaderWriter role in the products database to inherit the privileges of productsReader role:

use products
db.grantRolesToRole(
"productsReaderWriter",
[ "productsReader" ],
{ w: "majority" , wtimeout: 5000 }
)