Jak utworzyć użytkownika i dodać rolę w MongoDB

MongoDB Utwórz użytkownika administratora

Tworzenie administratora użytkownika w MongoDB odbywa się za pomocą metody createUser. Poniższy przykład pokazuje, jak to zrobić.

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

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

MongoDB Utwórz użytkownika administratora

Wyjaśnienie kodu:

  1. Pierwszym krokiem jest określenie „nazwy użytkownika” i „hasła”, które należy utworzyć.
  2. Drugim krokiem jest przypisanie roli użytkownikowi. Ponieważ musi to być administrator bazy danych, w takim przypadku przypisaliśmy rolę „userAdminAnyDatabase”. Ta rola umożliwia użytkownikowi posiadanie uprawnień administracyjnych do wszystkich baz danych w MongoDB.
  3. Parametr db określa bazę danych administratora, która jest specjalną bazą danych Meta MongoDB który przechowuje informacje o tym użytkowniku.

Jeśli polecenie zostanie wykonane pomyślnie, wyświetlony zostanie następujący komunikat:

Wyjście:

MongoDB Utwórz użytkownika administratora

Dane wyjściowe pokazują, że utworzono użytkownika o nazwie „Guru99” i ma on uprawnienia do wszystkich baz danych w MongoDB.

MongoDB Utwórz użytkownika dla pojedynczej bazy danych

Aby utworzyć użytkownika, który będzie zarządzał pojedynczą bazą danych, możemy użyć tej samej komendy, co wspomniana powyżej, ale musimy skorzystać tylko z opcji „userAdmin”.

Poniższy przykład pokazuje, jak to zrobić:

MongoDB Utwórz użytkownika dla pojedynczej bazy danych

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

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

Wyjaśnienie kodu:

  1. Pierwszym krokiem jest określenie „nazwy użytkownika” i „hasła”, które należy utworzyć.
  2. Drugim krokiem jest przypisanie użytkownikowi roli, która w tym przypadku, ponieważ musi to być administrator bazy danych, jest przypisana do roli „userAdmin”. Rola ta umożliwia użytkownikowi posiadanie uprawnień administracyjnych tylko do bazy danych określonej w opcji db.
  3. Parametr db określa bazę danych, do której użytkownik powinien mieć uprawnienia administracyjne.

Jeśli polecenie zostanie wykonane pomyślnie, wyświetlony zostanie następujący komunikat:

Wyjście:

MongoDB Utwórz użytkownika dla pojedynczej bazy danych

Dane wyjściowe pokazują, że utworzono użytkownika o nazwie „Employeeadmin” i ma on uprawnienia tylko w bazie danych „Employee”.

Zarządzanie użytkownikami

Najpierw zrozum role, które musisz zdefiniować. Dostępna jest cała lista ról MongoDB. Na przykład istnieje rola „odczyt”, która umożliwia dostęp tylko do odczytu baz danych, oraz rola „odczyt”, która zapewnia dostęp do bazy danych do odczytu i zapisu, co oznacza, że ​​użytkownik może wstawiać, usuwać i Aktualizuj polecenia dotyczące kolekcji w tej bazie danych.

Zarządzanie użytkownikami

db.createUser(
{
	user: "Mohan",

	pwd: "password",

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

Powyższy fragment kodu pokazuje, że tworzony jest użytkownik o nazwie Mohan, któremu przypisuje się wiele ról w wielu bazach danych. W powyższym przykładzie ma uprawnienia tylko do odczytu bazy danych „Marketing” i uprawnienia odczytu zapisu do bazy danych „Sales”.