#mongodb #permissions #roles
Вопрос:
У меня есть пользователь Mongo demoUser
, который должен наследовать все разрешения от своей родительской роли mainRole
. mainRole
имеет index
и remove
действия, разрешенные для data
коллекции. Тем не менее, только действие index
наследуется пользователем. Поэтому каждое remove()
намерение завершается ошибкой разрешения. До сих пор я не обнаружил никаких связанных с этим вопросов, которые могли бы дать мне какой-либо намек на эту проблему. Я уже удалил и повторно предоставил роль без успеха. Кто-нибудь проходил через что-то подобное?
db.getRole('mainROle', { showBuiltinRoles: true, showPrivileges: true })
Результат:
{
"role" : "mainRole",
"db" : "admin",
"isBuiltin" : false,
"roles" : [ ],
"inheritedRoles" : [ ],
"privileges" : [
{
"resource" : {
"db" : "myDb",
"collection" : "data"
},
"actions" : [
"insert",
"remove"
]
}
],
"inheritedPrivileges" : [
{
"resource" : {
"db" : "myDb",
"collection" : "data"
},
"actions" : [
"insert",
"remove"
]
}
]
}
db.getUser('demoUser', { showPrivileges: true })
` результат:
{
"_id" : "admin.demoUser",
"userId" : UUID("0e9a8e27-5e40-49ab-90f3-de9dea54fed7"),
"user" : "demoUser",
"db" : "admin",
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
],
"roles" : [
{
"role" : "mainRole",
"db" : "myDb"
}
],
"inheritedRoles" : [
{
"role" : "mainRole",
"db" : "myDb"
}
],
"inheritedPrivileges" : [
{
"resource" : {
"db" : "myDb",
"collection" : "data"
},
"actions" : [
"insert"
]
}
],
"inheritedAuthenticationRestrictions" : [ ]
}