db.grantRolesToUser()
이 페이지의 내용
정의
db.grantRolesToUser(username, roles, writeConcern)
사용자에게 추가 역할을 부여합니다.
db.grantRolesToUser()
메서드는 다음 구문을 사용합니다.db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } ) db.grantRolesToUser()
메서드는 다음 인수를 사용합니다.Parameter유형설명user
문자열역할을 부여할 대상이 될 사용자의 이름입니다.roles
배열사용자에게 부여할 추가 역할의 배열입니다.writeConcern
문서선택 사항. 작업에 대한 쓰기 고려 (write concern) 수준입니다. 쓰기 고려 사양을 참조하세요.
roles
필드에서 기본 제공 역할과 사용자 정의 역할을 모두 지정할 수 있습니다.db.grantRolesToUser()
가 실행되는 동일한 데이터베이스에 존재하는 역할을 지정하려면 역할의 이름과 함께 역할을 지정할 수 있습니다."readWrite" 또는 다음과 같이 문서로 역할을 지정할 수도 있습니다.
{ role: "<role>", db: "<database>" } 다른 데이터베이스에 존재하는 역할을 지정하려면 문서를 사용하여 역할을 지정합니다.
db.grantRolesToUser()
메서드는grantRolesToUser
명령을 래핑합니다.
행동
복제본 세트
복제본 세트에서 실행할 경우, db.grantRolesToUser()
는 기본값으로 "majority"
쓰기 고려(write concern)를 사용하여 실행됩니다.
필요한 액세스 권한
예시
다음 역할이 있는 products
데이터베이스에는 accountUser01
사용자가 지정됩니다.
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]
다음 db.grantRolesToUser()
작업은 accountUser01
에 products
데이터베이스에 대한 readWrite
역할을 부여하고 stock
데이터베이스에 대한 read
역할을 부여합니다.
use products db.grantRolesToUser( "accountUser01", [ "readWrite" , { role: "read", db: "stock" } ], { w: "majority" , wtimeout: 4000 } )
이제 products
데이터베이스의 accountUser01
사용자에게는 다음 역할이 있습니다.
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]