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