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コマンドをラップします。

このメソッドは、次の環境でホストされている配置で使用できます。

重要

このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

ロールの情報を表示するには、ロールが明示的に付与されているか、ロールのデータベースに対して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