db.getRole()
定義
db.getRole(rolename, args)
このロールが特権を継承するロールを返します。 オプションで、 メソッドはすべてのロールの特権を返すこともできます。
ロールを含むデータベースから
db.getRole()
を実行します。 コマンドでは、 ユーザー定義ロールと組み込みロールの両方の情報を取得できます。db.getRole()
メソッドは次のパラメータを受け入れます。Parameterタイプ説明rolename
stringロールの名前。args
ドキュメント任意。 追加の引数を指定するドキュメント。args
ドキュメントは次の任意フィールドをサポートしています。フィールドタイプ説明showAuthenticationRestrictions
ブール値任意。 出力に認証制限を含めるには、このフィールドを
true
に設定します。 認証制限は、このロールを持つユーザーが接続できる IP アドレスと接続元を示します。デフォルトでは、このフィールドは
false
であり、db.getRole()
の出力には認証制限が含まれていません。showBuiltinRoles
ブール値任意。 出力に組み込みロールを含めるには、このフィールドをtrue
に設定します。 デフォルトでは、このフィールドはfalse
に設定されており、rolesInfo: 1
の出力にはユーザー定義ロールのみが表示されます。showPrivileges
ブール値任意。 このフィールドをtrue
に設定すると、他のロールから継承される権限と直接定義された権限の両方を含むロール権限が表示されます。 デフォルトでは、コマンドは、このロールが特権を継承するロールのみを返し、特定の特権は返しません。db.getRole()
はrolesInfo
コマンドをラップします。
必要なアクセス権
ロールの情報を表示するには、ロールが明示的に付与されているか、ロールのデータベースに対してviewRole
アクションを持っている必要があります。
例
このセクションの例では、 db.getRoles
を使用して次の操作を行う方法を示します。
ロール継承情報の表示
次の操作は、 products
データベースで定義されているロールassociate
のロール継承情報を返します。
use products db.getRole( "associate" )
出力例:
{ _id: 'products.associate', role: 'associate', db: 'products', roles: [ { role: 'readWrite', db: 'products' } ], inheritedRoles: [ { role: 'readWrite', db: 'products' } ], isBuiltin: false }
ロール特権の表示
次の操作は、 products
データベースで定義されているロールassociate
のロール継承情報と特権を返します。
use products db.getRole( "associate", { showPrivileges: true } )
出力例:
{ _id: 'products.associate', role: 'associate', db: 'products', privileges: [ { resource: { db: 'products', collection: '' }, actions: [ 'bypassDocumentValidation' ] } ], roles: [ { role: 'readWrite', db: 'products' } ], inheritedRoles: [ { role: 'readWrite', db: 'products' } ], inheritedPrivileges: [ { resource: { db: 'products', collection: '' }, actions: [ 'bypassDocumentValidation' ] }, { resource: { db: 'products', collection: '' }, actions: [ 'changeStream', 'collStats', 'compactStructuredEncryptionData', 'convertToCapped', 'createCollection', 'createIndex', 'dbHash', 'dbStats', 'dropCollection', 'dropIndex', 'find', 'insert', 'killCursors', 'listCollections', 'listIndexes', 'planCacheRead', 'remove', 'renameCollectionSameDB', 'update' ] } ], isBuiltin: false }
認証制限の表示
次の操作は、 products
データベースで定義されているロールassociate
のロール継承情報と認証制限を返します。
use products db.getRole( "associate", { showAuthenticationRestrictions: true } )
出力例:
{ _id: 'products.associate', role: 'associate', db: 'products', roles: [ { role: 'readWrite', db: 'products' } ], authenticationRestrictions: [ [ { clientSource: [ '198.51.100.0' ] } ] ], inheritedRoles: [ { role: 'readWrite', db: 'products' } ], inheritedAuthenticationRestrictions: [ [ { clientSource: [ '198.51.100.0' ] } ] ], isBuiltin: false }