1 / 33

Michał Szkopiński

Administracja serwerem bazy danych Oracle 11g Zarządzanie użytkownikami i bezpieczeństwem danych Wykład nr 3. Michał Szkopiński. Konta użytkowników. Konto użytkownika bazy danych. Każde konto użytkownika zawiera : Unikalną nazwę Metodę uwierzytelnienia Domyślną przestrzeń tabel

neola
Download Presentation

Michał Szkopiński

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. Administracja serwerem bazy danych Oracle 11gZarządzanie użytkownikami i bezpieczeństwem danych Wykład nr 3 Michał Szkopiński

  2. Konta użytkowników

  3. Konto użytkownika bazy danych • Każde konto użytkownika zawiera: • Unikalną nazwę • Metodę uwierzytelnienia • Domyślną przestrzeń tabel • Tymczasową przestrzeń tabel • Profil • Status

  4. Predefiniowane konta SYSiSYSTEM • KontoSYS: • Posiada rolęDBA • Wszystkie uprawnienia są przydzielone zADMINOPTION • Posiada uprawnienie SYSDBA • Z tego konta otwiera i zamyka się bazę danych oraz wykonuje wszystkie operacje administracyjne • Jest właścicielem schematu ze słownikiem danych • KontoSYSTEM • Posiada rolę DBA • Ale nie posiada uprawnienia SYSDBA • Oba konta nie powinny być używane do normalnej pracy na danych • Tych kont nie da się usunąć

  5. Uwierzytelnienie i autoryzacja • Uwierzytelnienie • Proces weryfikacji tożsamości użytkownika • Najczęściej bazuje na nazwie i haśle użytkownika • Może korzystać z tożsamości sprawdzonej w systemie operacyjnym • Zaawansowane metody mogą opierać się o: • Certyfikaty • Metody biometryczne • Zewnętrzny katalog LDAP • Autoryzacja • Proces sprawdzania uprawnień • Bazuje na przydzielonych uprawnieniach i rolach

  6. Uwierzytelnianie administratorów • System operacyjny: • Administratorzy bazy muszą posiadać uprawnienia do tworzenia i usuwania plików w systemie operacyjnym • Zwykły użytkownik nie powinien mieć uprawnien do operowania na plikach bazy w systemie operacyjnym • Baza danych • W połączeniach typuSYSDBA: • Używany jest plik haseł • Uwierzytelnienie przez system operacyjny

  7. Tworzenie użytkowników • SQLPLUS • CREATE USER TOMEK IDENTIFIED BY HASLO; • DEFAULT TABLESPACE USERS • TEMPORARY TABLESPACE TEMP • ACCOUNT LOCK; • ALTER USER TOMEK ACCOUNT UNLOCK; • ALTER USER TOMEK PASSWORD EXPIRE; • Za pomoca Enterprise Manager

  8. Uprawnienia

  9. Uprawnienia • W bazie Oracle istnieją dwa rodzaje uprawnień • Systemowe: • Pozwalające wykonać określone czynności na bazie danych • Obiektowe: • Pozwalające wykonać określone czynności na danych w obiektach bazy danych (SELECT, UPDATE itp.) Obiekytowe UPDATE TABLE Systemowe: CREATE SESSION

  10. Przydzielanie uprawnień • Przydzielanie uprawnień systemowych • PolecenieGRANT • GRANT CREATE SESSION TO TOMEK • Z wykorzystaniem klauzuli WITHADMINOPTION • Pozwala przekazywać to uprawnienie innym • GRANT CREATE SESSION TO TOMEK WITH ADMIN OPTION • Przydzielanie uprawnień obiektowych • Polecenie GRANT • GRANT SELECT ANY TABLE TO TOMEK; • Z wykorzystaniem klauzuli WITHGRANTOPTION • Pozwala przekazywać uprawnienie innym

  11. DBA Jan Ewa DBA Jan Ewa Odwoływanie uprawnień systemowychzADMINOPTION Użytkownik GRANT Uprawnienie Obiekt REVOKE REVOKE CREATE TABLE FROM jan;

  12. DBA Jan Ewa DBA Jan Ewa Odwoływanie uprawnień obiektowych z GRANTOPTION GRANT Kaskadowe odbieranie uprawnień REVOKE

  13. Role • Łatwiejsze zarządzanie uprawnieniami • Dynamiczne przydzielanie i usuwanie uprawnień wielu użytkownikom • Tymczasowe włączanie ról i ochrona hasłem

  14. Zarządzanie rolami Jan Adam Ewa Użytkownicy Role HR_CLERK HR_MGR Delete Employees. Create Job. Update Employees. Uprawnienia Select Employees. Insert Employees.

  15. Predefiniowane role w bazie danych CONNECT CREATE SESSION RESOURCE CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE SCHEDULER_ ADMIN CREATE ANY JOB, CREATE EXTERNAL JOB, CREATE JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM, MANAGE SCHEDULER DBA Większość uprawnień administracyjnych, ale bez SYSDBA SELECT_ CATALOG_ROLE Żadnych ról systemowych; Rola: HS_ADMIN_ROLEi ponad1,700 uprawnień obiektowych na tabelach słownikowych bazy danych

  16. Tworzenie ról • CREATE ROLE KADRY; • GRANT CREATE ANY TABLE TO KADRY; • GRANT SELECT ANY TABLE TO KADRY; • GRANT KADRY TO JAN; • REVOKE CREATE ANY TABLE FROM KADRY; • Jakie uprawnienia posiada JAN?

  17. Zabezpieczanie ról • Role mogą być zabepieczane hasłem i włączane przez samych użytkowników • CREATE ROLE POWER_USER IDENTIFIED BY password • GRANT CREATE TABLE TO POWER_USER; • SELECT * FROM SESSION_ROLES • Użytkownik w swojej sesji włącza rolę • SET ROLE POWER_USER IDENTIFIED BY password • Role mogą być również chronione programowo przez uruchomienie procedury PL/SQL

  18. Niskopoziomowe zarządzanie uprawnieniami - VPD

  19. Virtual Private Database(VPD) • Umożliwia zarządzanie dostępem do danych na poziomie wierszy i kolumn • Różnicuje dostęp do danych w tym samym obiekcie dla różnych użytkowników • VPD określa się także jako: • Row-Level Security (RLS) lub • Fine Grained Access Control (FGAC) • Stosuje sie na obiektach bazy takich jak: • Tabele, • Widoki • Synonimy

  20. Jak działa VPD • Użytkownik wykonuje polecenie DML: • SELECT * FROM EMPLOYEES; • Baza danych w tle dodaje dodatkową klauzulę WHERE • SELECT * FROM EMPLOYEES WHERE SALARY < 5000; • Użytkownik dostaje zawężony zestaw wierszy w zależności od zastosowanej klauzuli WHERE • Klauzula WHERE wyliczana jest w funkcji PL/SQL • Polityka bezpieczeństwa VPD określa z którym obiektem związana jest która funkcji PL/SQL

  21. Komponenty VPD • Funckje PL/SQL • Polityki bezpieczeństwa • Kontekst aplikacji

  22. Funkcja PL/SQL • Funkcje używane są do wyliczania dodatkowej klauzuli WHERE • Funkcje VPD mają określoną strukturę: • Przyjmują dwa parametry wejściowe typu VARCHAR2 • Nazwa schematu • Nazwa obiektu • Zwracają VARCHAR2 • Funkcje VPD umieszcza się najczęściej w schemacie SYS lub specjalnie na ten cel utworzonym koncie użytkownika

  23. Przykład funkcji VPD CREATE OR REPLACE FUNCTION VPD_FILTER_EMP_ROWS( schema_var IN VARCHAR2, table_var IN VARCHAR2 ) RETURN VARCHAR2 IS return_valVARCHAR2 (400); BEGIN return_val:= 'SALARY < 5000'; RETURN return_val; END VPD_FILTER_EMP_ROWS;

  24. Polityka bezpieczeństwa VPD • Polityka VPD określa: • Który obiekt (tabela, widok, synonim) ma być chroniony • Jaka funkcja PL/SQL ma być użyta • Operacje DML w których ma być stosowana (S, U, I, D) • Typ polityki • Statyczna • Dynamiczna • Współdzielona

  25. Przykład polityki bezpieczeństwa VPD DBMS_RLS.ADD_POLICY ( object_schema => 'hr', object_name => 'emp', policy_name => 'filter_emp_policy', function_schema => 'sys', policy_function => 'filter_emp_rows_func', statement_types => 'select, insert, update, delete' ); • DBA_POLICIES – informacje o istniejących politykach

  26. Kontekst aplikacyjny • Przechowuje zmienne środowiskowe w bazie danych • Zmienne sesyjne • Użytkownik, klient, host, itp • Zmienne aplikacyjne • Ustawiane przez aplikację dostępową • Zmienne zapisuje się za pomocą: • DBMS_SESSION.SET_CONTEXT • Zmienna odczytuje się za pomocą funcji • SYS_CONTEXT

  27. Kontekst aplikacyjny - przykłady • SYS_CONTEXT('USERENV', 'SESSION_USER') • sys_context('USERENV', 'LANG') • sys_context('USERENV', 'DB_UNIQUE_NAME') • sys_context('USERENV', 'HOST') • sys_context('USERENV', 'OS_USER')

  28. Profile

  29. Profile użytkowników • Profil: • Kontroluje użycie zasobów (np. CPU, pamięć, operacje I/O) • Zarządza statusem konta, hasłem • Zarządza parametrami sesji (max. czas połączenia, ilość sesji równoległych itp.)

  30. Historia haseł Blokowanie konta Użytkownik Ustawienie profilu Wygasanie hasła Weryfikacja złożoności hasła Implementacja polityki haseł Uwaga! Nie używać profili z polityką haseł dla konta SYS, SYSMAN, DBSNMP

  31. Tworzenie profilu z polityką haseł

  32. Quota – ograniczenie dostępnej ilości przestrzeni dyskowej • Użytkownicy mogą mieć: • Ograniczoną przestrzeń określaną przez administratora • Nieograniczoną ilość przestrzeni do wykorzystania • Nieograniczona przestrzeń tylko z uprawnieniem systemowym • UNLIMITED TABLESPACE • Bez tego uprawnienia użytkownik musi mieć przydzielony limit w jakieś przestrzeni tabel • Nie stosuje się ograniczeń do przestrzeni tabel TEMP i UNDO

  33. Dziękuję za uwagę i zapraszam na ćwiczenia

More Related