Jak vytvořit uživatele a přidat roli MongoDB

MongoDB Vytvořit uživatele správce

Vytvoření správce uživatelů v MongoDB se provádí pomocí metody createUser. Následující příklad ukazuje, jak to lze provést.

db.createUser(
{	user: "Guru99",
	pwd: "password",

	roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

MongoDB Vytvořit uživatele správce

Vysvětlení kódu:

  1. Prvním krokem je zadání „uživatelského jména“ a „hesla“, které je třeba vytvořit.
  2. Druhým krokem je přiřazení role uživateli. Protože to musí být správce databáze, v tom případě jsme přiřadili roli „userAdminAnyDatabase“. Tato role umožňuje uživateli mít administrátorská oprávnění ke všem databázím v MongoDB.
  3. Parametr db určuje databázi správce, což je speciální Meta databáze uvnitř MongoDB který uchovává informace pro tohoto uživatele.

Pokud je příkaz úspěšně proveden, zobrazí se následující výstup:

Výstup:

MongoDB Vytvořit uživatele správce

Výstup ukazuje, že byl vytvořen uživatel s názvem „Guru99“ a tento uživatel má oprávnění ke všem databázím v MongoDB.

MongoDB Vytvořit uživatele pro jednu databázi

Pro vytvoření uživatele, který bude spravovat jednu databázi, můžeme použít stejný příkaz jako výše, ale musíme použít pouze volbu „userAdmin“.

Následující příklad ukazuje, jak to lze provést;

MongoDB Vytvořit uživatele pro jednu databázi

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

	roles:[{role: "userAdmin" , db:"Employee"}]})

Vysvětlení kódu:

  1. Prvním krokem je zadání „uživatelského jména“ a „hesla“, které je třeba vytvořit.
  2. Druhým krokem je přiřazení role uživateli, který je v tomto případě, protože se musí jednat o správce databáze, přiřazen k roli „userAdmin“. Tato role umožňuje uživateli mít administrátorská oprávnění pouze k databázi zadané ve volbě db.
  3. Parametr db určuje databázi, ke které by měl mít uživatel oprávnění správce.

Pokud je příkaz úspěšně proveden, zobrazí se následující výstup:

Výstup:

MongoDB Vytvořit uživatele pro jednu databázi

Výstup ukazuje, že byl vytvořen uživatel s názvem „Employeeadmin“ a tento uživatel má oprávnění pouze k databázi „Employee“.

Správa uživatelů

Nejprve pochopte role, které musíte definovat. K dispozici je celý seznam rolí MongoDB. Například existuje role „čtení“, která umožňuje pouze přístup k databázím pouze pro čtení, a pak role „čtení a zápis“, která poskytuje přístup pro čtení a zápis do databáze, což znamená, že uživatel může zadat vkládání, mazání a aktualizovat příkazy pro kolekce v této databázi.

Správa uživatelů

db.createUser(
{
	user: "Mohan",

	pwd: "password",

	roles:[
	{
		role: "read" , db:"Marketing"},
    {
		role: "readWrite" , db:"Sales"}
	}
		  ]
})

Výše uvedený úryvek kódu ukazuje, že byl vytvořen uživatel Mohan, kterému je přiřazeno více rolí ve více databázích. Ve výše uvedeném příkladu je mu uděleno oprávnění pouze pro čtení do databáze „Marketing“ a oprávnění pro čtení a zápis do databáze „Prodej“.