grantRolesToUser
정의
grantRolesToUser
사용자에게 추가 역할을 부여합니다.
팁
mongosh
에서 이 명령은db.grantRolesToUser()
도우미 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0, M2, M5 및 M10클러스터 이상에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
grantRolesToUser
명령은 다음 구문을 사용합니다.
db.runCommand( { grantRolesToUser: "<user>", roles: [ <roles> ], writeConcern: { <write concern> }, comment: <any> } )
명령 필드
이 명령은 다음 필드를 사용합니다.
필드 | 유형 | 설명 |
---|---|---|
| 문자열 | 추가 역할을 부여할 사용자의 이름입니다. |
| 배열 | 사용자에게 부여할 추가 역할의 배열입니다. |
| 문서 | |
| any | 선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.
댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다. |
roles
필드에서 기본 제공 역할과 사용자 정의 역할을 모두 지정할 수 있습니다.
grantRolesToUser
가 실행되는 동일한 데이터베이스에 존재하는 역할을 지정하려면 역할의 이름과 함께 역할을 지정할 수 있습니다.
"readWrite"
또는 다음과 같이 문서로 역할을 지정할 수도 있습니다.
{ role: "<role>", db: "<database>" }
다른 데이터베이스에 존재하는 역할을 지정하려면 문서를 사용하여 역할을 지정합니다.
필요한 액세스 권한
예시
다음 역할이 있는 products
데이터베이스에는 accountUser01
사용자가 지정됩니다.
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]
다음 grantRolesToUser
작업은 accountUser01
에 stock
데이터베이스에 대한 read
역할을 부여하고 products
데이터베이스에 대한 readWrite
역할을 부여합니다.
use products db.runCommand( { grantRolesToUser: "accountUser01", roles: [ { role: "read", db: "stock"}, "readWrite" ], writeConcern: { w: "majority" , wtimeout: 2000 } } )
이제 products
데이터베이스의 accountUser01
사용자에게는 다음 역할이 있습니다.
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]