Control d'accés
MongoDB fa servir el control d'accés basat en rols per decidir qui pot fer què sobre cada recurs.
Introducció
El control d’accés, també conegut com a autorització, és una tècnica de seguretat que consisteix a determinar qui pot accedir a quins recursos.
Autenticació
En molts sistemes de gestió de bases de dades, un usuari s’identifica només amb un nom d’usuari.
A MongoDB, en canvi, un usuari no s’identifica només pel seu nom, sinó també per la base de dades on s’ha creat: la seva base de dades d’autenticació.
Això vol dir que a MongoDB pots tenir diversos usuaris amb el mateix nom, sempre que es creïn en bases de dades d’autenticació diferents. Per autenticar-te has de proporcionar el nom d’usuari, la contrasenya i la base de dades d’autenticació.
Es podria suposar que un usuari creat en una base de dades només té privilegis sobre aquella base de dades, però no és així: cada usuari, s’hagi creat on s’hagi creat, pot tenir privilegis assignats a bases de dades diferents.
Autorització
En un control d’accés basat en rols (RBAC, role-based access control), els usuaris no tenen permís per fer accions directament sobre els recursos. Les regles que permeten accions sobre recursos s’assignen a rols, i els rols s’assignen a usuaris.
Un rol es defineix amb un conjunt de privilegis. Cada privilegi consisteix en una acció — crear documents, recuperar dades, crear i suprimir usuaris — i el recurs sobre el qual es pot fer aquesta acció: una base de dades reports, una col·lecció orders.
Els rols s’identifiquen amb la combinació del nom del rol i la base de dades, perquè cada rol — llevat dels creats a la base de dades admin — només pot incloure privilegis que s’apliquen a la seva pròpia base de dades.
Concedint a un usuari rols definits en una base de dades diferent de la seva, li pots donar permís per actuar en més d’una base de dades. Els rols es poden concedir quan crees l’usuari o més tard, i es poden revocar quan vulguis: així la gestió d’usuaris queda separada de la gestió dels drets d’accés.
MongoDB proporciona un conjunt de rols integrats que descriuen privilegis d’ús habitual: read per l’accés només de lectura, readWrite per lectura i escriptura, o dbOwner per privilegis administratius complets sobre una base de dades. Per escenaris més específics pots crear rols definits per l’usuari, amb conjunts personalitzats de privilegis.
El control d’accés basat en rols et permet assignar a cada usuari només el nivell mínim de permisos que necessita per fer la seva feina. Això és el principi de privilegi mínim, i és una de les pràctiques de seguretat més importants que hi ha.
Entorn de treball
El control d’accés de MongoDB no està habilitat per defecte: cap dels servidors que has fet servir fins ara no demana contrasenya a ningú.
Torna a la màquina mongodb:
wslx connect mongodbA Transaccions hi vas deixar el conjunt de rèpliques, que té el port 27017 ocupat. Aquí en tens prou amb un sol node, així que atura’l:
Comença amb un servidor net, amb un volum on les dades sobrevisquin quan recreïs el contenidor:
Connecta-t’hi:
Estàs llegint una vista prèvia.
Inicia sessió amb Google per llegir la pàgina completa.
Inicia sessió amb GoogleAmb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.