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