Részletes beléptető és alkalmazási környezetben

Részletes beléptető és alkalmazások tekintetében (1. rész)

Ez a cikk bemutatja két új Oracle8i mechanizmus: finomszemcsés hozzáférés ellenőrzése (finomszemcsés Access Control) és kontextus védett alkalmazások (Secure Application Contexts). Amikor együtt használják, adnak egy új minőséget képességek biztosítják az információs biztonság az adatbázisban.

A különböző kiadásaiban finomszemcsés hozzáférés ellenőrzése más névvel. Lentebb szinonimák:

Részletes hozzáférés vezérlés (finomszemcsés Access Control - technikai név)

  • Virtual Private Database (Virtual Private Database - piaci név)
  • Biztonság sor szint (Row szintű biztonság - a technikai nevet, hogy abból a tényből ered, hogy ezt a lehetőséget, hogy végre egy PL / SQL-csomag)
  • Dióhéjban, finomszemcsés belépésének ellenőrzése Oracle8i - ez egy lehetőség, munka közben dinamikusan csatlakozni állítmány (ahol záradékot) egy és minden lekérdezés ellen hozott tábla vagy nézet. Így lehetséges eljárási módosítási kérelmet a végrehajtás során. Akkor kitalálni, aki a kérelmet, ha a kérelem kerül végrehajtásra, ha a lekérdezés végrehajtása kezdődött, és ezáltal az állítmány megfelelő ezeknek a kritériumoknak. Ha Context Alkalmazások lehet zökkenőmentesen a környezeten keresztül (például a szerep, hogy a felhasználói alkalmazás), így további információkat, és hozzáférnek a eljárás vagy állítmány.

    Egy példa a finom szemcséjű hozzáférés-szabályozás szolgálhat egy biztonsági politikát, amely meghatározza, hogy mely sorok érhetők el a különböző felhasználói csoportok számára. biztonságpolitikai képezi az állítmány, amelynek formáját függ a felhasználó csatlakozik a bázis és a csoportot, amelyhez tartozik. Részletes hozzáférés vezérlés lehetővé teszi, hogy írja be a „select * from emp” különböző felhasználók átalakítani, hogy az alábbi formában:

    Kérdés dinamikusan újraírták

    Controller láthatjuk az adott osztályon. Ez bevezeti a szintaxis megszerzéséhez az alkalmazás helyi változók - beépített SYS_CONTEXT ().

    Sok oka van annak, hogy ezt a mechanizmust. A leggyakoribbak:

    • Könnyen tartani. Részletes hozzáférés vezérlés lehetővé teszi, hogy csak egy asztal és egy tárolt eljárást kell kezelni, amely felváltja a használata több ábrázolások. Szolgáltatunk több reprezentációk általában vezet elterjedése adatbázis-objektumok, mert minden egyes felhasználói csoport létrehozása, különálló ábrázolásban szükséges. Például a fent ismertetett példában az alkalmazottakkal, felügyelők és vezetők a hagyományos rendszert kell létrehozni három ábrázolások tárol. Ha szüksége van egy másik csoportja a felhasználók számára, meg kell hozzá egy másik ötletet, amelynek meg kell kezelni és karbantartani. Ha a biztonsági politika változás (azaz előírják, hogy a vezetők nem látta csak a közvetlen beosztottak, hanem a 2. táblázatot), szükség lesz, hogy újra létrehozni egy adatbázist nézetre, majd minden tárgy hivatkozó ezeket a nézeteket, lesz semmis.
    • Végzett a szerveren. Összetettsége miatt kezelésében és fenntartásában számos ábrázolás, a fejlesztők többször igyekeznek feküdt az alkalmazás logikáját az alkalmazásba. Alkalmazások megnézi, aki az adatbázis, akkor kér, és hajtsa végre a megfelelő kérelmet. Ez megvédi az adatokat, de csak akkor, ha azon keresztül elérhető alkalmazás. Ez csökkenti annak lehetőségét, hogy használja a lekérdezés és jelentéskészítés, valamint egyéb adatfeldolgozási. Szintén növeli annak valószínűségét, hogy hamis információt, mert annak érdekében, hogy a torzítás, elég csatlakozni az adatbázishoz bármilyen más módon eltérő jelentési alkalmazások és lekérdezni az adatokat. Hála a felvételét a biztonsági logika adatbázis, azaz olyan mechanizmus, amely meghatározza, hogy mely adatok láthatók a felhasználó által - vymozhete bizonyosodni arról, hogy az adatok védelmét módjától függetlenül az azokhoz való hozzáférést, és a kezelést végezhetjük bármilyen eszközzel, amely a lehet hozzáférni az adatokhoz.
    • A tilalmat a kapcsolatot az adatbázissal nevében az általános felhasználók számára. Köszönhetően a részletes hozzáférés ellenőrzése minden felhasználónak el kell csatlakozni az adatbázishoz néven. Ez biztosítja a teljes körű elszámoltathatóság - nyomon követhető intézkedéseket a felhasználói szinten. Korábban a legtöbb alkalmazás, amikor dolgozik különböző adatnézeteket különböző felhasználók kellett használni adatbázis felhasználó, illetve a kiválasztott adatokat. Például a fenti esetben a munkavállaló / manager / felügyelő az alkalmazás kell létrehozni a három fiókot. Minden alkalmazott köteles használni a „hivatalos” fiókot. Minden menedzser kell használni a „menedzser” fiókot. Minden vezérlő kell használni a „Controller” fiókot. Ez lehetetlenné teszi, hogy fontolja meg intézkedések felhasználói szinten
    • Egyszerűbb alkalmazások fejlesztését. Részletes hozzáférés vezérlés veszi a biztonsági logika az alkalmazás logikáját. Biztonsági alkalmazás fejlesztő koncentrálhat maga az alkalmazás, és nem a logika, az alacsony szintű adatokhoz való hozzáférés. Mivel finom szemcséjű hozzáférés ellenőrzése teljes mértékben végrehajtják a szerveren, az alkalmazás közvetlenül öröklik ezt a logikát. Korábban, a fejlesztők kellett beágyazni alkalmazás logika abban, hogy minél összetettebb alkalmazás, először fejleszteni és különösen nehéz a nyomon követési támogatást. Ha az alkalmazás hozzáférhet az adatokhoz, és ugyanazokat az adatokat és alkalmazásokat több pontot, akkor egyszerűen változtatni a biztonsági politika hatással lehet a több tucat alkalmazás modulok. Használata révén a finom szemcséjű hozzáférés-szabályozás. változások biztonságpolitikai nevliyayut az alkalmazás modulok.
    • A fejlett alkalmazás fejlesztő eszközök. Sok környezetben biztonsági politika a tetején még mindig nem megfelelően meghatározott és egy idő után megváltozhat. Ha van egy egyesülés vagy más szerkezeti változások vagy vezessenek titoktartási szabályokat, a biztonsági politika a módosítani kívánt. Mivel hozzáférés-szabályozás végezzük közeli szinten az adatokat, lehetséges, a feltételek megteremtése az alkalmazások minimális hatással volt rá, és a fejlesztési eszközök. Ez az egyik oka, hogy megy az automatikus használata mind az új logika, és az összes alkalmazást és eszközöket, amelyek lehetővé teszik a hozzáférést az adatbázishoz az új beépített logikáját.

    A Oracle8i, kétféle finom szemcséjű hozzáférés-szabályozás:

    Ahhoz, hogy kihasználják ezt a lehetőséget, a fejlesztő, amellett, hogy a hagyományos szerepek csatlakoztatni és erőforrás kell a következő jogosultságok:

    EXECUTE_CATALOG_ROLE. Ez lehetővé teszi, hogy a fejlesztő, hogy végezzen a dbms_rls csomagot. Egy másik lehetőség - lehet csatolni a SYS, át a kiváltság csak a csomagban: támogatás végrehajt dbms_rls hogy<учетная_запись>.

    OLYAN HÁTTÉR: lehetővé teszi a fejlesztők alkalmazási környezetben.

    Alkalmazás kontextusban, hogy egy egyszerű SQL-parancs

    OurApp - a környezet nevét, és Our_Context_Pkg - ez PL / SQL-csomag, amely révén a környezeti értékekkel vannak beállítva. Képes használni alkalmazások tekintetében finomszemcsés hozzáférés-vezérlés két okból is fontos:

    Ez egy garantált módja annak, hogy beállítja a változókat egy névtérben. Ahhoz, hogy az értéket az összefüggésben csak PL / SQL-csomag társított keretében. Ez biztosítani fogja a integritását a környezeti értékekkel. Mivel a kontextusok használt korlátozó vagy lehetővé teszik, hogy az adatok integritását összefüggésben értékeket kell biztosítani.

    Ha azt szeretné, hogy a biztonsági szabályozások lehetővé teszik a felhasználó számára, aki nem RLS_ADMIN, csak látni ezeket a sorokat, a „tulajdonos”, amelynek ő, akkor kell ezt a parancsot: \

    SQL> create függvény my_security_function (p_schema a varchar2,

    2 p_object in varchar2) visszatérési varchar2

    5, ha (user = 'RLS_ADMIN'), akkor

    8 visszatérés „tulajdonos = FELHASZNÁLÓ”;

    Állítmány „ahol a tulajdonos = USER” dinamikus lesz hozzáadjuk valamennyi kérelmet a táblázatban, amely kapcsolatban van ez a funkció, amely jelentősen csökkenti a sorok számát a felhasználó rendelkezésére álló. Állítmány NULL (üres) vissza csak akkor, ha az aktuálisan csatlakoztatott adatbázis felhasználó RLS_ADMIN. Visszaküldött üres állítmány külleme „1 = 1” vagy „TRUE”.

    Annak érdekében, hogy ezt a funkciót kötődnek az asztalra, akkor kell használni a PL / SQL-eljárás „dbms_rls.add_policy”. Például, van a következő táblázat:

    Kapcsolódó cikkek