Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

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
}

戻る

db.dropAllRoles