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

db.getRoles()

項目一覧

  • 定義
  • 互換性
  • 必要なアクセス権
  • ロール特権と組み込みロールの表示
  • 認証制限の表示
db.getRoles()

コマンドが実行されるデータベース内のすべてのロールに関する情報を返します。このメソッドは、引数の有無にかかわらず実行できます。

引数を指定せずに実行すると、 db.getRoles()はデータベースのユーザー定義ロールの継承情報を返します。

詳細情報を返すには、次のフィールドを含むドキュメントを db.getRoles() に渡します。

フィールド
タイプ
説明

rolesInfo

integer

すべてのユーザー定義ロールを検索するには、このフィールドを 1 に設定します。

showAuthenticationRestrictions

ブール値

任意。 出力に認証制限を含めるには、このフィールドをtrueに設定します。 認証制限は、このロールを持つユーザーが接続できる IP アドレスと接続元を示します。

デフォルトでは、このフィールドはfalseであり、 db.getRoles()の出力には認証制限が含まれていません。

showBuiltinRoles

ブール値

任意。このフィールドを true に設定すると、組み込みロールとユーザー定義ロールが表示されます。

showPrivileges

ブール値

任意。 このフィールドをtrueに設定すると、他のロールから継承される権限と直接定義された権限の両方を含むロール権限が表示されます。 デフォルトでは、コマンドは、このロールが特権を継承するロールのみを返し、特定の特権は返しません。

db.getRoles()rolesInfoコマンドをラップします。

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

重要

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

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

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

ロールの情報を表示するには、ロールが明示的に付与されているか、ロールのデータベースに対してviewRoleアクションを持っている必要があります。

このセクションの例では、 db.getRolesを使用して次の操作を行う方法を示します。

次の操作では、ロール特権と組み込みロールを含む products データベースのすべてのロールが返されます。

use products
db.getRoles(
{
rolesInfo: 1,
showPrivileges: true,
showBuiltinRoles: true
}
)

出力例(読みやすくするために短縮しています)

{
roles: [
{
role: 'dbOwner',
db: 'products',
isBuiltin: true,
roles: [],
inheritedRoles: [],
privileges: [
{
resource: { db: 'products', collection: '' },
actions: [
'analyze',
'bypassDocumentValidation',
'changeCustomData',
...
]
},
{
resource: { db: 'products', collection: 'system.profile' },
actions: [
'changeStream',
'collStats',
'convertToCapped',
...
]
}
],
inheritedPrivileges: [
{
resource: { db: 'products', collection: '' },
actions: [
'analyze',
'bypassDocumentValidation',
'changeCustomData',
...
]
}
]
},
...
]
}

次の操作は、product データベース上のすべてのユーザー定義ロールのロール継承情報と認証制限を返します。

use products
db.getRoles( { rolesInfo: 1, showAuthenticationRestrictions: true } )

出力例:

{
roles: [
{
_id: 'products.associate',
role: 'associate',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
authenticationRestrictions: [
[ { clientSource: [ '198.51.100.0' ] } ]
],
isBuiltin: false,
inheritedRoles: [ { role: 'readWrite', db: 'products' } ],
inheritedAuthenticationRestrictions: [
[ { clientSource: [ '198.51.100.0' ] } ]
]
}
],
ok: 1
}

戻る

db.getRole