![](/img/trans.png)
[英]MongoDB How to create a User with ReadWriteAnyDatabase role but exclude the admin database
[英]Mongodb $external database cannot create new user with user defined role
我已經在admin db中創建了一個具有集合訪問權限的用戶定義角色。 由於我們的mongodb使用X.509身份驗證機制,因此我必須在$ external數據庫中創建用戶。 在此$ external數據庫中,找不到我在admin數據庫中創建的角色。
在$ external db中,我在mongo shell中運行命令:
db.createUser({user:"xxxxx", roles:["custom_role"]})
顯示錯誤:
[thread1] Error: couldn't add user: No role named custom_role@$external
如何在$ external db中創建用戶並將其分配給用戶定義的角色?
我們需要首先在admin db中創建一個用戶定義的角色。 接下來,切換到$ external db並指定角色來自admin db,如下所示:
db.createUser({user: "xxxx", roles:[ { role : <user created role name>, db : "admin" } ]})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.