db.getRoles()
정의
db.getRoles()
명령이 실행되는 데이터베이스의 모든 역할에 대한 정보를 반환합니다. 이 메서드는 인수 유무에 관계없이 실행할 수 있습니다.
인수를 지정하지 않고 실행하면
db.getRoles()
는 데이터베이스의 사용자 정의 역할에 대한 상속 정보를 반환합니다.자세한 내용을 반환하려면
db.getRoles()
를 다음 필드가 있는 문서로 전달하세요.필드유형설명rolesInfo
integer모든 사용자 정의 역할을 검색하려면 이 필드를1
(으)로 설정하세요.showAuthenticationRestrictions
부울선택 사항입니다. 출력에 인증 제한 사항을 포함하려면 이 필드를
true
로 설정합니다. 인증 제한은 이 역할을 가진 사용자가 연결할 수 있는 IP 주소를 나타냅니다.기본적으로 이 필드는
false
이며, 이는db.getRoles()
출력에 인증 제한이 포함되지 않음을 의미합니다.showBuiltinRoles
부울선택 사항입니다. 기본 제공 역할과 사용자 정의 역할을 같이 표시하려면 이 필드를 true(참)로 설정하세요.showPrivileges
부울선택 사항입니다. 다른 역할에서 상속된 권한과 직접 정의된 권한을 모두 포함하여 역할 권한을 표시하려면 이 필드를true
로 설정합니다. 기본적으로 명령은 이 역할이 권한을 상속하는 역할만 반환하고 특정 권한은 반환하지 않습니다.db.getRoles()
은rolesInfo
명령을 래핑합니다.
필요한 액세스 권한
역할 정보를 확인하려면 해당 역할을 명시적으로 부여 받았거나 역할 데이터베이스에 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 }