Innehållsförteckning:
Video: Roswell Incident: Department of Defense Interviews - Gerald Anderson / Glenn Dennis 2024
Besluta vilka privilegier för databaser som är något som varje databasadministratör (DBA) har att bestämma. En typ av behörighet i Oracle 12c är o bject privilegier som styr dataåtkomst och modifiering.
Grundläggande om objektbehörighet i Oracle 12c
Du kan ge endast åtta objektbehörigheter:
-
SELECT låter mottagaren välja rader från tabellerna
-
INSERT låter mottagaren infoga rader i tabeller.
-
UPDATE låter mottagaren ändra befintliga rader i tabeller.
-
DELETE låter mottagaren ta bort befintliga rader från tabeller.
-
REFERENCER låter en användare skapa en vy på, eller en utländsk nyckel till, en annan användares bord.
-
INDEX låter en användare skapa ett index på en annan användares bord.
-
ALTER låter en användare ändra eller lägga till strukturen i en annan användares bord.
-
EXECUTE låter mottagarens körprocedurer som ägs av en annan användare.
Håll dessa privilegier i åtanke:
-
När du äger ett objekt har du automatiskt alla privilegier på det objektet. Med andra ord behöver du inte ges SELECT på ditt eget bord.
-
Objekt privilegier kan inte återkallas från ägaren till ett objekt.
-
Oavsett vilket schema som äger objektet kontrollerar objektet slutligen det objektets privilegier.
-
Ingen uttrycklig tillåtelse, ingen annan kan hantera objektets privilegier för det här objektet - ja, ingen utom en användare som kan ha system privilegiet. SÄLJ NÅGOT OBJEKT (vanligtvis reserverad för DBA).
-
Objekt privilegium kan inte återkallas av någon annan än den person som beviljade den, förutom någon med GRANT ANY OBJECT privilegium. Inte ens ägaren kan återkalla ett privilegium på sitt eget objekt om hon inte var bidragsgivaren.
Hantera objektbehörigheter i Oracle 12c
I följande steg arbetar användarna MAGGIE, JASON och MATT i en databas som innehåller recept. I det här exemplet används objektbehörigheter för att de ska kunna visa och lägga till fler recept.
-
Maggie loggar in.
-
Maggie skriver följande:
Detta låter användaren MAGGIE tillåta JASON att välja från hennes VEGETARIAN_RECIPES-tabell. Hon ser detta:
Grant lyckades.
I likhet med MED ADMIN OTROL för systembehörigheter har objekträttigheter något som kallas MED GRANT OPTION.
-
MAGGIE kan tillåta JASON att kunna INSERT till sitt bord och tillåta JASON att vidarebefordra det privilegiet:
-
JASON kan vidarebefordra det INSERT-privilegiet till MATT:
-
MAGGIE kan inte återkalla INSERT-privilegiet från MATT. Hon måste fråga JASON att göra det.
-
Om JASON vägrar att återkalla INSERT-privilegier för MATT kan MAGGIE återkalla privilegiet från JASON och återkalla det från MATT. Det kallas en cascading återkallelse. Observera att detta skiljer sig från systembehörigheter.
-
MAGGIE kan återkalla INSERT-privilegiet från JASON och under tiden automatiskt återkalla dem från MATT:
Hon ser detta:
Återkalla lyckades.
Om en användare vill se vilken objekträttighet de har gett ut, kan hon fråga användningen USER_TAB_PRIVS.
MAGGIE kan till exempel se vilka privilegier JASON har lämnat på sina objekt:
Hon ser något så här:
GRANTEE ÄGAR TABLE_NAME GRANTOR PRIVILEGE ---------- ----- ----- ------------------ ---------- ---------- JASON MAGGIE VEGETARIAN_RECIPES MAGGIE SELECT >