문서 메뉴

문서 홈애플리케이션 개발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 명령을 래핑합니다.

역할 정보를 확인하려면 해당 역할을 명시적으로 부여 받았거나 역할 데이터베이스에 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()