Jak vytvořit uživatele & přidat roli v MongoDB

Obsah:

Anonim

MongoDB Vytvořit uživatele správce

Vytvoření správce uživatele v MongoDB se provádí pomocí metody createUser. Následující příklad ukazuje, jak toho lze dosáhnout.

db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

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 takovém případě jsme přidělili roli „userAdminAnyDatabase“. Tato role umožňuje uživateli mít oprávnění správce ke všem databázím v MongoDB.
  3. Parametr db určuje databázi administrátorů, což je speciální databáze Meta v rámci MongoDB, která obsahuje informace o tomto uživateli.

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

Výstup:

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

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

K vytvoření uživatele, který bude spravovat jednu databázi, můžeme použít stejný příkaz, jak je uvedeno výše, ale musíme použít pouze možnost „userAdmin“.

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

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 je to správce databáze, přiřazen k roli „userAdmin“. Tato role umožňuje uživateli mít oprávnění správce pouze k databázi uvedené 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:

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

Správa uživatelů

Nejprve pochopte role, které musíte definovat. V MongoDB je k dispozici celý seznam rolí. Například existuje „role pro čtení“, která umožňuje pouze přístup k databázím pouze pro čtení, a dále role „pro čtení“, která poskytuje přístup ke čtení a zápisu do databáze, což znamená, že uživatel může vydávat vložení, mazání a aktualizovat příkazy pro sbírky v této databázi.

db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})

Výše uvedený fragment kódu ukazuje, že je vytvořen uživatel jménem 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í k databázi „Marketing“ a oprávnění ke čtení „Databáze“.