Video: Elfrida Bergman. Workshop med grunder i normer, makt, privilegier och livsutrymme. 2024
När du har skapat en användare, måste du bestämma vilka typer av saker användaren kan göra i Oracle 12c-databasen. Du vill förmodligen tillåta användaren att kunna logga in, men du kan behöva begränsa om användaren kan göra någon av följande uppgifter:
-
Åtkomst till viss data
-
Starta och stoppa databasen
-
Skapa tabeller, index och visningar
-
Radera data
-
Utföra säkerhetskopior
Du bestämmer vad en användare kan göra via privilegier. Databasen har två typer av behörigheter:
-
Systembehörigheter kontrollerar vad en användare kan göra i databasen. Kan de till exempel skapa tabeller, skapa användare och släppa tabellutrymmen? Dessa privilegier gäller huvudsakligen för att lägga till eller ändra strukturer i databasen.
-
Objektbehörigheter styr hur en användare kan komma åt de faktiska data i databasen. Till exempel, vilka data kan han se, ändra eller ta bort? Dessa privilegier gäller främst rader i ett bord eller en vy.
Du hanterar alla privilegier med kommandona GRANT och REVOKE. Det är ganska tydligt från deras namn som man ger och vilken som tar bort. Däremot bildar du kommandon beroende på vilken typ av behörighet som helst. Till exempel, när du ger, ger du till och när du tar dig tillbaka från.
Systembehörigheter är de första privilegierna som någon användare behöver. Det finns bokstavligen hundratals systembehörigheter.
Innan någon användare kan göra något med databasen måste de kunna ansluta. CREATE SESSION-privilegiet ger användarna tillgång till databasen. Utan detta privilegium spelar inga andra privilegier upp.
Följ dessa steg för att ge CREATE SESSION-privilegier till användaren DTITILAH:
-
Logga in i databasen som användarsystemet.
-
Skriv följande:
Du ser följande, vilket betyder att DTITILAH kan ansluta till databasen:
Grant lyckades.
Vad händer om lösenordet för användaren DTITILAH har äventyras? Ett snabbt sätt att se till att användaren inte längre kan komma åt databasen, externt eller inte, är att återkalla CREATE SESSION-privilegiet från den användaren.
Återkalla CREATE SESSION från DTITILAH med följande steg:
-
Logga in i databasen som SYSTEM.
-
Skriv följande:
Du ser detta:
Återkalla lyckades.
När den användaren försöker ansluta ser han detta:
FEL: ORA-01045: användaren DTITILAH saknar CREATE SESSION privilegium; logon nekad
-
Adress säkerhetsbrottet genom att ta reda på varför lösenordet äventyras.
En användare kan också ha dessa systembehörigheter som gör det möjligt för dem att skapa objekt i databasen:
-
RESUMABLE tillåter att jobb avbryts och återupptas när rymdrestriktioner är uppfyllda.
-
FLASHBACK ARCHIVE tillåter användare att hämta data från det förflutna.
-
CREATE JOB tillåter användare att skapa jobb som kan köras i Oracle Scheduler.
-
CREATE SYNONYM tillåter användare att kunna skapa alias för objekt för enklare åtkomst.
Följande privilegier gäller vanligtvis för utvecklare:
-
CREATE TABLE
-
CREATE VIEW
-
CREATE SEQUENCE
-
SKAPA PROCEDURE
-
CREATE TRIGGER
Databasadministratörer (DBA) har vanligtvis följande privilegier: < CREATE ANY TABLE
-
skapar tabeller i användarens schema. DROP NÅGON TABELL
-
droppar från alla användares scheman. CREATE TABLESPACE
-
skapar utrymme för lagerutrymme. ALTER USER
-
ändrar användaregenskaper. DROP USER
-
… uh, droppar en användare. ALTER SYSTEM
-
ändrar systemets driftsparametrar. GRANT NÅGOT OBJEKT
-
tillåter bidragsmottagaren att hantera eventuella objektbehörigheter mot något objekt i databasen. Väldigt mäktig! MED ADMIN OPTION är en annan funktion som hör samman med systembehörigheter. Du kan använda det här alternativet när du beviljar en systembehörighet för att tillåta användaren att ge privilegiet till någon annan. Till exempel, säg att du har anställt en ny DBA med användarnamnet RPLEW.
För att ge ett systembehörighet med ADMIN-alternativ, gör följande:
Logga in på SQL * Plus som SYSTEM.
-
Skriv följande:
-
Du ser detta:
Grant lyckades.
Nu MAUST kan administrera CREATE SESSION också.