AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

db.getRoles()(mongoshメソッド)

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}