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 명령을 래핑합니다.

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