sql >> Databasteknik >  >> RDS >> Oracle

Hur man skapar en användare och beviljar behörigheter i Oracle

Som alltid, börja med att ansluta till din server där Oracle är värd och anslut sedan till själva Oracle som SYSTEM konto.

SYSTEM konto är ett av en handfull fördefinierade administrativa konton som genereras automatiskt när Oracle installeras. SYSTEM klarar de flesta administrativa uppgifter, men uppgiften vi är särskilt intresserade av är kontohantering.

Skapa en användare

När ansluten som SYSTEM , utfärda bara CREATE USER kommando för att skapa ett nytt konto.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Här skapar vi helt enkelt en books_admin konto som är IDENTIFIED eller autentiserats med det angivna password .

Anslagsförklaringen

Med vår nya books_admin konto skapat, kan vi nu börja lägga till privilegier till kontot med GRANT påstående. GRANT är ett mycket kraftfullt uttalande med många möjliga alternativ, men kärnfunktionen är att hantera privilegierna för båda users och roles i hela databasen.

Tillhandahållande av roller

Vanligtvis vill du först tilldela användaren behörigheter genom att koppla kontot till olika roller, med början med CONNECT roll:

GRANT CONNECT TO books_admin;

I vissa fall för att skapa en mer kraftfull användare kan du också överväga att lägga till RESOURCE roll (så att användaren kan skapa namngivna typer för anpassade scheman) eller till och med DBA roll, vilket gör att användaren inte bara kan skapa egna namngivna typer utan även ändra och förstöra dem.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Tilldela rättigheter

Därefter vill du försäkra dig om att användaren har behörighet att faktiskt ansluta till databasen och skapa en session med GRANT CREATE SESSION . Vi kommer också att kombinera det med alla privilegier genom att använda GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Vi måste också se till att vår nya användare har tilldelat diskutrymme i systemet för att faktiskt skapa eller ändra tabeller och data, så vi kommer att GRANT TABLESPACE som så:

GRANT UNLIMITED TABLESPACE TO books_admin;

Tabellrättigheter

Även om det vanligtvis inte är nödvändigt i nyare versioner av Oracle, kan vissa äldre installationer kräva att du manuellt anger åtkomsträttigheterna som den nya användaren har till ett specifikt schema och databastabeller.

Till exempel, om vi vill ha vår books_admin användaren har möjlighet att utföra SELECT , UPDATE , INSERT och DELETE funktioner på books tabell, kan vi köra följande GRANT uttalande:

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Detta säkerställer att books_admin kan utföra de fyra grundläggande satserna för books tabell som är en del av schema schema.


  1. Får fel:Peer-autentisering misslyckades för användare postgres, när man försöker få pgsql att fungera med rails

  2. Oracle-klientinstallationsfel - sökvägen för lång

  3. Hur ansluter du till flera MySQL-databaser på en enda webbsida?

  4. Information om informationsschemadatabasen i MySQL