sql >> Databáze >  >> NoSQL >> MongoDB

vytvořit zabezpečenou databázi v mongodb

Z Mongo Java Tutorial

MongoDB lze provozovat v zabezpečeném režimu, kde je přístup k databázím řízen pomocí ověřování jménem a heslem. Při spuštění v tomto režimu musí každá klientská aplikace před provedením jakékoli operace poskytnout jméno a heslo. V ovladači Java jednoduše provedete s připojeným objektem mongo následující:

boolean auth = db.authenticate(myUserName, myPassword);

Pokud jsou jméno a heslo platné pro databázi, bude auth pravdivé. Jinak to bude nepravdivé. Pokud jsou k dispozici další informace, měli byste se podívat do protokolu MongoDB.

Většina uživatelů spouští MongoDB bez ověření v důvěryhodném prostředí.

Konfigurace ověřování a zabezpečení

Autentizace je uložena v každé databázi kolekce system.users. Například na databázovém projectx bude projektx.system.users obsahovat uživatelské informace.

Nejprve bychom měli nakonfigurovat administrátora pro celý proces db serveru. Tento uživatel je uložen ve speciální databázi administrátorů.

Pokud v admin.system.users nejsou nakonfigurováni žádní uživatelé, lze k databázi přistupovat z rozhraní localhost bez ověřování. Ze serveru, na kterém běží databáze (a tedy na localhost), spusťte prostředí databáze a nakonfigurujte administrátora:

$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")

Nyní máme vytvořeného uživatele pro správce databáze. Všimněte si, že pokud jsme se dříve neověřili, musíme nyní, pokud chceme provést další operace, protože v admin.system.users je uživatel.

> db.auth("theadmin", "anadminpassword")

Stávající uživatele databáze můžeme zobrazit příkazem:

> db.system.users.find()

Nyní nakonfigurujme "běžného" uživatele pro jinou databázi.

> use projectx
> db.addUser("joe", "passwordForJoe")

Nakonec přidáme uživatele pouze pro čtení. (podporováno pouze ve verzi 1.3.2+)

> use projectx
> db.addUser("guest", "passwordForGuest", true)


  1. Jak agregovat součet v MongoDB, abyste získali celkový počet?

  2. Nalezení nejbližších bodů k určitému bodu vzhledem k jeho souřadnicím a maximální vzdálenosti – výsledek dotazu není definován pomocí Mongoose s MEAN Stack

  3. Zkopírujte/klonujte databázi v MongoDB

  4. Správné vložení DateTime z c# do mongodb