1 / 34

Biztonság kezelése Oracle-ben

Kovács Tibor Krisztián. Biztonság kezelése Oracle-ben. Tartalom. A felhasználói biztonságról Felhasználói fiókok létrehozása Felhasználói fiókok módosítása Felhasználói erőforrások beállítása Felhasználói fiókok törlése Információk szerzése felhasználókról és profilokról.

donoma
Download Presentation

Biztonság kezelése Oracle-ben

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kovács Tibor Krisztián Biztonság kezelése Oracle-ben

  2. Tartalom • A felhasználói biztonságról • Felhasználói fiókok létrehozása • Felhasználói fiókok módosítása • Felhasználói erőforrások beállítása • Felhasználói fiókok törlése • Információk szerzése felhasználókról és profilokról

  3. A felhasználói biztonságról • Az adatbázis egy példányához való csatlakozáshoz szükség van egy érvényes felhasználói névre az adatbázisban. • Felhasználói fiókok létrehozásakor a fiókokra különböző limitek állíthatók be. • Az Oracle DB több nézettáblát is biztosít a felhasználókhoz tartozó erőforrások és munkafolyamatok lekérdezésére. • Létrehozhatók profilok, amik a felhasználókra alkalmazható attribútumok egy kollekciója.

  4. Felhasználói fiókok létrehozása • Létrehozáshoz rendelkezni kell CREATE USER rendszerjogosultsággal. (rendszerint csak a dbadmin vagy a securityadmin rendelkezik vele) • Az új felhasználó nem csatlakozhat az adatbázishoz amíg nem engedélyeztük neki a CREATE SESSION jogosultságot. • Az Oracle Enterprise Manager teljesítménymonitorozó eszköz használatához a SELECT ANY DICTIONARY jogosultság szükséges.

  5. Felhasználói fiók létrehozása • CREATE USER pelda IDENTIFIED BY jelszo DEFAULT TABLESPACE adat_ts QUOTA 100M ON teszt_ts QUOTA 500K ON adat_ts TEMPORARY TABLESPACE temp_ts PROFILE clerk;

  6. A felhasználó neve • A felhasználói névnek egyedinek kell lennie. • A szerepkörök és a felhasználók neveinek különböznie kell. • Minden felhasználónak van egy sémája.

  7. Táblaterület kiosztása • Minden felhasználónak rendelkeznie kell alapbeállított táblaterülettel. • Az alapbeállítás szerint az összes felhasználó alapértelmezett táblaterülete a SYSTEM. • SYSTEM-től különböző tartósan alapértelmezett táblaterületet létrehozni a CREATE TABLESPACE utasítással tudunk.

  8. Táblaterület kiosztása • Tartósan alapértelmezett táblaterület nem törölhető. • Felhasználó létrehozása közben is megadható alapértelmezett táblaterület, amit később az ALTER USER segítségével módosíthatunk majd. • Az alapértelmezett táblaterület kiosztása után adjunk meg hozzátartozó kvótát is.

  9. Táblaterülethez tartozó kvóta • A felhasználó összes táblaterületéhez, kivéve az ideiglenest, kiosztható kvóta. • Az Oracle DB limitálja a felhasználó objektumának tárolására felhasználható tárterület méretét a táblaterületein belül. • Alapból egy adatbázis táblaterülethez sincs kvótája a felhasználónak. • Hogy a felhasználó létrehozhasson objektumokat, rendelkeznie kell legalább egy táblaterülethez kvótával.

  10. Táblaterülethez tartozó kvóta • A kvóta megakadályozza a felhasználó objektumainak túl nagy méretét. • Kvóta későbbi módosításakor, ha kevesebb kvótát adunk meg mint a felhasználó objektumainak összesített mérete, akkor nem hozhat létre új objektumot a felhasználó. • Ha azt szeretnénk hogy a felhasználó ne hozhasson létre új objektumokat adott táblaterületen belül, akkor állítsuk azt a kvótáját nullára.

  11. Az UNLIMITED TABLESPACE jog • Ezzel a jogosultsággal a felhasználónak (szerepkörnek nem adható) korlátlan tárterület használatot biztosíthatunk bármely táblaterülethez. • Felülírja a felhasználó összes explicit kvótáját. • Visszavonva a jogosultságot újra az explicit kvóták lépnek érvénybe. • Ezzel a jogosultsággal rendelkező felhasználótól egyetlen kiválasztott táblaterületnek az elérési jogosultságát sem vonhatjuk vissza.

  12. Ideiglenes táblaterület kiosztása • Minden felhasználónak érdemes kiosztani ideiglenes táblaterületet. • Ideiglenes táblaterületet az adatbázisban a CREATE TEMORARY TABLESPACE utasítással tudunk létrehozni. • Amennyiben ilyet nem osztunk ki a felhasználónak, a DB létrehozásakor megadott alapbeállítottat fogja megkapni, ha nincs ilyen akkor a SYSTEM-et. • Ideiglenes táblaterülethez kvótát csak a SYS felhasználó adhat.

  13. Profil és szerepkör megadása • A profil limitek halmaza az adatbázis erőforrásaira és jelszavakra. • Amennyiben nem adunk meg a felhasználónak profilt, akkor a DB az alapértelmezettet állítja be. • A szerepkör jogosultságok elnevezett csoportja, amit felhasználóknak vagy más szerepköröknek oszthatunk ki. • Amikor a felhasználó létrehoz egy munkafolyamatot a rá alapértelmezett szerepkör automatikusan érvénybe lép.

  14. Alapértelmezett szerepkörök • A CREATE USER utasítással nem adható meg szerepkör, így a felhasználó első létrehozásakor ez az ALL lesz, ami az összes szerepkört engedélyezi. • ALTER USER segítségével megváltoztathatjuk a felhasználó alapértelmezett szerepkörét. • De az új szerepkört előtte engedélyeznünk kell a felhasználó számára: • GRANT USER peldapl_szk • ALTER USER pelda DEFAULT ROLE pl_szk

  15. Felhasználói fiókok módosítása • A felhasználó csak a jelszavát változtathatja meg. • Bármi más megváltoztatásához szükség van az ALTER USER jogosultságra, amivel legtöbbször csak a securityadmin rendelkezik. • Ez a jogosultság magába foglalja tetszőleges táblaterület és ahhoz tartozó kvóta beállítását a felhasználó számára. • A felhasználói fiók módosítása a felhasználó aktuális munkafolyamára nincs hatással.

  16. A jelszó megváltoztatása • A legtöbb felhasználó változtathat jelszót. Ezt legfeljebb kétféle képen teheti: • PASSWORD felh • ALTER USER felh IDENTIFIED BY ujpass • A kettő közül az előbbit érdemes használni, mert ez nem írja ki az új jelszót a monitorra. • Autentikációs módszer váltásához mind PASSWOR mind ALTER USER joggal rendelkezni kell. Ezekkel legtöbbször csak valamelyik DBadmin rendelkezik.

  17. Felhasználói erőforrások beállítása • Minden felhasználó számára egyénien beállítható a rendszererőforrásokhoz való hozzáférésének mértéke. • Ez az erőforráslimitek beállítási lehetősége hasznos tud lenni nagy, többfelhasználós rendszerekben, ahol egy-két felhasználónak felelőtlenül kiosztott limitek komolyan befolyásolhatnak más felhasználókat. • Ez a probléma nem lényeges egy vagy kevés felhasználóval rendelkező rendszerben.

  18. Felhasználói erőforrások beállítása • A DB Resource Manager segítségével kezelhetjük az erőforráslimiteket. • A jelszókezelési beállításokat profilokon keresztül valósíthatjuk meg. • A securityadmin be vagy kikapcsolhatja a profilok erőforráslimitjeinek az általános végrehajtását. • Az erőforráslimitek megadásával enyhe teljesítménycsökkenés lesz észlelhető a felhasználók bejelentkezésekor, mivel a DB minden csatlakozáskor betölti a felhasználó összes erőforráslimitjét.

  19. Erőforráslimitek típusai • Oracle DB több típusú rendszererőforrást is limitálhat. Általánosságban ezeket az erőforrásokat munkafolyamat vagy hívási szinten (vagy mindkettő) vezérelhetjük. • Minden alkalommal amikor a felhasználó az adatbázishoz csatlakozik egy munkafolyamat jön létre. • Minden SQL utasítás feldolgozása több lépésben történik, ezalatt a különböző utasítás-feldolgozási fázisok részeként több hívás keletkezik az adatbázis felé.

  20. Munkafolyam limit elérése • Ekkor a DB visszagörgeti az aktuális utasítást, és visszatér egy hibaüzenettel. A tranzakció összes eddig végrehajtott utasítása megmarad, de a felhasználó csak a COMMIT, ROLLBACK vagy a kilépés között választhat (utóbbi esetben kommitálódik a tranzakció). Minden egyéb művelet hibát generál, így a felhasználó nem hajthat végre további utasításokat ezen a munkafolyamaton belül.

  21. Híváslimit elérése • Ekkor a DB felfüggeszti az utasítás végrehajtását, visszagörgeti, és visszatér egy hibaüzenettel. Az eddigi tranzakcióban lefutott utasítások sértetlenek maradnak, és a munkafolyamat továbbra is elérhető.

  22. CPU idő limitálása • Bizonyos mennyiségű CPU idő minden lekérdezéshez szükséges. • Nagy adatmennyiséget mozgató, vagy elhúzódó lekérdezések sok CPU időt felélhetnek. • A kontrollálatlan CPU idő felhasználás elkerülése érdekében megadhatunk dinamikus, vagy statikus limiteket, mind az egyes hívások, mind a munkafolyamatbeli összes hívás idejére századmásodpercben (0.01 sec).

  23. Logikai olvasások limitálása • Az I/O műveletek a legköltségesebbek az adatbázisok szempontjából, és az I/O intenzív SQL utasítások teljesen kisajátíthatják a memória és a merevlemez használatát. • Ennek elkerülésére limitálni lehet az egyes hívások által, vagy a munkafolyamat alatt beolvasott logikai blokkok mennyiségét is, darabszámban. • A logikai blokkba a merevlemezről és memóriából beolvasott blokkok is beletartoznak.

  24. Egyéb limitálható erőforrások • A felhasználó által egyszerre indított munkafolyamatok száma. • A munkafolyamat tétlenségi idejét. • A munkafolyamat megkezdésétől eltelt idő. (Ezt az adatbázis csak bizonyos időközönként ellenőrzi.) • Az SGA (System Global Area) terület mérete. Ez csak elosztott szerver konfigurációt használó rendszereknél lényeges. Bájtban lehet megadni.

  25. Limitek meghatározása • A profilokhoz tartozó erőforráslimitek helyes értékei a felhasználói csoportok által tipikusan végzett műveleteken keresztül állapíthatóak meg. • Legtöbbször az adott felhasználó eddigi műveletei alapján lehet a legjobban meghatározni az egyes erőforrások limitjeit.

  26. Erőforrások kezelése profilokon keresztül • A profilokra csak akkor van szükség ha az erőforrások limitálása beletartozik az adatbázis védelmi politikájába. • Profilok létrehozása előtt érdemes felmérni a felhasználók csoportjait, majd ezen csoportokra meghatározni az erőforráslimiteket. • A profilok könnyen beállíthatóak a Data Resource Manager segítségével. Ez a program elsősorban az erőforrások kiosztását és korlátozását kezeli.

  27. Erőforrások kezelése profilokon keresztül • A profilok erőforráslimitjei csak akkor jutnak érvényre, ha a RESOURCE_LIMIT inicializáló paraméterrel vagy az ALTER SYSTEM utasítással engedélyeztük azokat. • A profilokban beállított jelszavakra vonatkozó paraméterek mindig engedélyezettek.

  28. Profilok létrehozása • Minden erre jogosult DB felhasználó bármikor létrehozhat, hozzárendelhet felhasználóhoz, módosíthat, és törölhet profilokat a CREAT és ALTER USER utasítással. • Profilok csak felhasználókhoz rendelhetőek, nem szerepkörökhöz. • Az aktuális munkafolyamatra nem hat. • Az aktuális profilbeállításokat a DBA_PROFILES nézettábla lekérdezésével nézhetjük meg.

  29. Profilok törlése • Profil törléséhez rendelkezni kell a DROP PROFILE jogosultsággal. • Ha a törölni kívánt profillal rendelkezik felhasználó, akkor a CASCADE opciót is meg kell adni. • Görgetett törlés után a törölt profillal rendelkező felhasználók az alapbeállított profilt kapják meg. • Alapbeállított profil nem törölhető.

  30. Felhasználói fiókok törlése • A felhasználó törlésekor a DB törli a fiókot, a hozzá tartozó sémát, és a sémából az összes objektumot is. • A SYS és SYSTEM felhasználókat nem ajánlott törölni . • Ha a felhasználó objektumait nem akarjuk törölni, csak kitiltani az adatbázisból, akkor vonjuk meg tőle a CREATE SESSION jogosultságot. • A jelenleg csatlakozott felhasználó sem törölhető.

  31. Felhasználói fiókok törlése • Bejelentkezett felhasználó törléséhez előbb rúgjuk ki az adatbázisból az ALTER SYSTEM KILL SESSION sid utasítás segítségével. • A bejelentkezett felhasználók és sid-jeiklekérdezhető a V$SESSION nézettáblából. • Felhasználó a DROP USER utasítással törölhető. • A DROP USER jogosultság elég jelentős, ezért rendszerint csak a securityadmin rendelkezik vele.

  32. Felhasználói fiókok törlése • Ha a törlendő felhasználónak vannak függő sémaobjektumai a CASCADE opciót is meg kell adni, különben a felhasználó nem törlődik. • A felhasználó objektumait lekérdezhetjük a DBA_OBJECTS nézettáblából.

  33. Információk szerzése felhasználókról és profilokról • Nézettáblák a felhasználók és profilok információiról: • ALL_OBJECTS: felhasználó által látható objektumok • ALL_USER: felhasználó által látható más felhasználók • DBA_PROFILES: összes profil és azok limitjei • DBA_TS_QUOTAS: felhasználók táblaterület kvótái • DBA_OBJECTS: összes DB objektum • DBA_USERS: összes DB felhasználó • DBA_USERS_WITH_DEFPWD: alapbeállított jelszóval rendelkező felhasználók • PROXY_USERS: olyan felhasználók akik más felhasználókat imitálhatnak.

  34. Információk szerzése felhasználókról és profilokról • RESOURCE_COST: az összes erőforrás CPU ideje • USER_PASSWORD_LIMITS: a felhasználónak kiosztott jelszó profil paramétereinek beállításai • USER_RESOURCE_LIMITS: felhasználó erőforráslimitjei. • USER_TS_QUOTAS: felhasználó táblaterület kvótái • USER_OBJECTS: felhasználó összes objektuma • USER_USERS: a jelenlegi felhasználó • V$SESSION: az összes jelenlegi munkafolyamat információi • V$SESSTAT: felhasználó munkafolyamatának statisztikái • V$STATNAME: statisztikák nevei a V$SESSTAT nézethez

More Related