Usuarios y roles
Crea usuarios con los roles integrados de MongoDB o con roles propios.
Los comandos de usuarios y roles son los de MongoDB, y cada comando se autoriza antes de ejecutarse: sin el privilegio,
responde Unauthorized (13).
Un usuario por aplicación
db.getSiblingDB("admin").createUser({
user: "tienda-api",
pwd: passwordPrompt(),
roles: [{ role: "readWrite", db: "tienda" }],
});Roles integrados
read, readWrite, dbAdmin, dbOwner, userAdmin, clusterAdmin, clusterManager, clusterMonitor,
enableSharding, hostManager, backup, restore, readAnyDatabase, readWriteAnyDatabase,
userAdminAnyDatabase, dbAdminAnyDatabase y root, con los mismos privilegios que en MongoDB.
Roles propios
db.getSiblingDB("admin").createRole({
role: "informes",
privileges: [{ resource: { db: "tienda", collection: "pedidos" }, actions: ["find"] }],
roles: [],
});Revocar
Cuando revocas un rol o borras un usuario, el comando responde solo cuando ningún nodo puede ya autorizar con el estado anterior. No hay una ventana en la que otro nodo siga dejando pasar al usuario revocado.
Las claves de API de la API REST y del servidor MCP se crean para un usuario y llevan un subconjunto de sus roles: ver API REST.