Hur man skapar användare och lägger till roll i MongoDB

MongoDB Skapa administratörsanvändare

Skapa en användaradministratör i MongoDB görs genom att använda metoden createUser. Följande exempel visar hur detta kan göras.

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

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

MongoDB Skapa administratörsanvändare

Kodförklaring:

  1. Det första steget är att ange "användarnamn" och "lösenord" som måste skapas.
  2. Det andra steget är att tilldela en roll för användaren. Eftersom det måste vara en databasadministratör i vilket fall vi har tilldelat rollen "userAdminAnyDatabase". Den här rollen tillåter användaren att ha administrativa rättigheter till alla databaser i MongoDB.
  3. Parametern db anger admindatabasen som är en speciell metadatabas inom MongoDB som innehåller informationen för denna användare.

Om kommandot utförs framgångsrikt kommer följande utdata att visas:

Produktion:

MongoDB Skapa administratörsanvändare

Utdata visar att en användare som heter "Guru99" skapades och att användaren har privilegier över alla databaser i MongoDB.

MongoDB Skapa användare för enstaka databas

För att skapa en användare som ska hantera en enda databas kan vi använda samma kommando som nämnts ovan men vi behöver bara använda alternativet "userAdmin".

Följande exempel visar hur detta kan göras;

MongoDB Skapa användare för enstaka databas

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

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

Kodförklaring:

  1. Det första steget är att ange "användarnamn" och "lösenord" som måste skapas.
  2. Det andra steget är att tilldela en roll för användaren som i detta fall eftersom det måste vara en databasadministratör tilldelas rollen "userAdmin". Denna roll tillåter användaren att endast ha administrativa privilegier till databasen som anges i db-alternativet.
  3. Parametern db anger till vilken databas användaren ska ha administrativa rättigheter.

Om kommandot utförs framgångsrikt kommer följande utdata att visas:

Produktion:

MongoDB Skapa användare för enstaka databas

Utdatat visar att en användare som heter "Employeeadmin" skapades och att användaren endast har privilegier på databasen "Employee".

Hantera användare

Förstå först vilka roller du behöver definiera. Det finns en hel lista över roller tillgängliga i MongoDB. Till exempel finns det en "läs-roll" som endast tillåter skrivskyddad åtkomst till databaser och sedan finns det "läs-skriv"-rollen som ger läs- och skrivåtkomst till databasen, vilket innebär att användaren kan utfärda infogningen, ta bort och uppdatera kommandon på samlingar i den databasen.

Hantera användare

db.createUser(
{
	user: "Mohan",

	pwd: "password",

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

Ovanstående kodavsnitt visar att en användare som heter Mohan skapas, och han tilldelas flera roller i flera databaser. I exemplet ovan får han läsbehörighet till databasen "Marknadsföring" och läs- och skrivbehörighet till databasen "Försäljning".