Role-Based Access Control (RBAC) — это система MongoDB для управления безопасностью базы данных. Она работает путем назначения ролей пользователям, где каждая роль определяет набор привилегий — конкретные действия, которые пользователь может выполнять над указанными ресурсами.
MongoDB предоставляет несколько предопределённых ролей для типичных сценариев:
read — доступ только для чтения к базе данныхreadWrite — доступ для чтения и записи в базу данныхdbAdmin — административные задачи вроде индексирования и статистикиuserAdmin — управление пользователями и ролями в пределах базы данныхclusterAdmin — полный доступ к управлению кластеромКогда встроенные роли не подходят под твои нужды, MongoDB позволяет создавать пользовательские роли с точно определёнными привилегиями через db.createRole().
Роли можно назначить при создании пользователя или добавить позже уже существующему пользователю.
Создание пользователя с ролью:
db.createUser({
user: "appUser",
pwd: "password",
roles: [{ role: "readWrite", db: "mydb" }]
})
Добавление роли существующему пользователю:
db.grantRolesToUser("appUser", [{ role: "dbAdmin", db: "mydb" }])
В MongoDB RBAC роль dbAdmin предоставляет полный доступ к управлению кластером и позволяет выполнять административные задачи во всех базах данных развёртывания.
Новый — ещё не проверен сообществом
Вы