Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zarządzanie bezpieczeństwem w SZBD Oracle Użytkownicy, uprawnienia i role, profile.

Podobne prezentacje


Prezentacja na temat: "Zarządzanie bezpieczeństwem w SZBD Oracle Użytkownicy, uprawnienia i role, profile."— Zapis prezentacji:

1 Zarządzanie bezpieczeństwem w SZBD Oracle Użytkownicy, uprawnienia i role, profile

2 Dwie kategorie ochrony SZBD Ochrona systemu: weryfikacja nazwy użytkownika i hasła weryfikacja nazwy użytkownika i hasła określenie czy użytkownik ma możliwość połączenia się z bazą danych (autoryzacja) określenie czy użytkownik ma możliwość połączenia się z bazą danych (autoryzacja) przydzielanie miejsca na dysku dla obiektów użytkownika przydzielanie miejsca na dysku dla obiektów użytkownika określenie ograniczeń na zasoby dla użytkownika określenie ograniczeń na zasoby dla użytkownika Określenie jakie operacje systemowe użytkownik może wykonywać Określenie jakie operacje systemowe użytkownik może wykonywać Możliwość monitorowania bazy danych Możliwość monitorowania bazy danych Ochrona danych: Określenie jacy użytkownicy mają prawo dostępu do określonych schematów obiektów Określenie jakie typy operacji są dozwolone określonym użytkownikom Wybranie operacji, które będą monitorowane dla każdego schematu obiektów

3 Ograniczanie dostępu do informacji oparte na uprawnieniach Odpowiednie uprawnienia muszą być związane z użytkownikiem, by miał dostęp do obiektu Uprzywilejowany użytkownik może przekazywać innym użytkownikom uprawnienia zgodnie z własnym uznaniem Sposób funkcjonowania SZBD ORACLE jest zgodny z modelem Dyskrecjonalnej (uznaniowej) kontroli dostępu (Discretionary Access Control – DAC)

4 Sposoby utrzymywania bezpieczeństwa bazy danych Użytkownicy bazy danych Schematy Uprawnienia (przywileje) Role Ograniczenia pamięci (quota) ProfileObserwacja

5 Kontrola dostępu do bazy poprzez modyfikowanie, usuwanie i monitorowanie użytkowników Tworzenie użytkowników i przypisywanie im haseł autoryzowanie użytkowników do podłączenia się do bazy ograniczanie dostępnej przestrzeni dyskowej dla każdego użytkownika

6 Użytkownik a jego schemat Każda baza danych w SZBD ORACLE ma zdefiniowaną listę nazw użytkowników Z każdym użytkownikiem związany jest schemat o tej samej nazwie (tworzony, gdy tworzony użytkownik) Wszystkie obiekty użytkownika są logicznymi strukturami i znajdują się w schemacie użytkownika (który jest logiczną kolekcją obiektów użytkownika) po podłączeniu się do bazy użytkownik ma dostęp do wszystkich obiektów zawartych w jego schemacie Każdy użytkownik ma domenę ochrony (a security domain) - zbiór właściwości, które określają: akcje (przywileje i role) dostępne dla użytkownika akcje (przywileje i role) dostępne dla użytkownika ograniczenia zasobów przestrzeni tabel ograniczenia zasobów przestrzeni tabel ograniczenia zasobów systemowych ograniczenia zasobów systemowych dostęp do bazy i jej obiektów jest kontrolowany poprzez przywileje nadane każdemu schematowi

7 Obszary kontroli dostępu Ograniczenia dla dostępnych przestrzeni tabel Domyślna przestrzeń tabel Tymczasowa przestrzeń tabel Informacje o uwiarygodnieniu Ograniczenia zasobów systemowych Przywileje i role

8 Mechanizmy ochrony dostępu do zasobów bazy i systemu związane z użytkownikiem Domyślna przestrzeń tabel (TABLESPACE DEFAULT) Tymczasowa przestrzeń tabel (TEMPORARY TABLESPACE) ograniczenia zasobów w przestrzeni tablic (TABLESPACE QUOTA) ograniczenia zasobów systemowych (SYSTEM RESOURCE LIMIT)

9 Kontrola praw dostępu - uwiarygodnienie poprzez system operacyjny poprzez bazę Oracle

10 Użytkownicy sys i system SYS - właściciel słownika danych SYS - hasło po instalacji CHANGE_ON_INSTALL SYSTEM - pierwszy administrator bazy, który ma wszystkie prawa do zarządzania bazą danych SYSTEM - hasło po instalacji MANAGER

11 Tworzenie użytkowników Polecenie CREATE USER: CREATE USER user IDENTIFIED BY password EXTERNALLY EXTERNALLY DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace PROFILE profile QUOTA integer ON tablespace (np.: dla kilku przestrzeni) UNLIMITED UNLIMITED PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK

12 Przykład CREATE USER student IDENTIFIED BY studencik DEFAULT TABLESPACE stud_grup TEMPORARY TABLESPACE stud_temp PROFILE default QUOTA 150M ON stud_grup

13 Uwiarygodnienie powiązane z systemem operacyjnym Podłączanie do bazy przy użyciu weryfikacji konta systemu operacyjnego CREATE USER user IDENTIFIED EXTERNALLY; możliwe podłączenie się do bazy poprzez wpisanie komendy możliwe podłączenie się do bazy poprzez wpisanie komendy sqlplus / sqlplus /

14 CREATE USER kadrowy IDENTIEFIED EXTERNALLY baza danych tworzy konto użytkownika, które musi być zweryfikowane przez system operacyjny, należy ustawić parametr OS_AUTHENT_PREFIX i użyć go jako prefix nazwy użytkownika (definiuje on prefix jaki Oracle dodaje do początku nazwy użytkownika systemu operacyjnego) Oracle porównuje nazwy użytkowników poprzedzone prefixem z nazwami użytkowników w bazie, jeśli są jednakowe następuje połączenie z bazą (sqlplus/) niech OS_AUTHENT_PREFIX=OPS$ nazwa użytkownika w SO kadrowy nazwa użytkownika w SO kadrowy w bazie Oraclea konto o nazwie OPS$kadrowy w bazie Oraclea konto o nazwie OPS$kadrowy następuje dołożenie prefixu do nazwy użytkownika zdefiniowanego w systemie operacyjnym i porównanie z nazwą użytkownika z bazie następuje dołożenie prefixu do nazwy użytkownika zdefiniowanego w systemie operacyjnym i porównanie z nazwą użytkownika z bazie

15 kadrowy OS_AUTHENT_PREFIX = OPS$ SO CREATE USER OPS$kadrowy IDENTIEFIED EXTERNALLY OPS$kadrowy BD OPS$kadrowy = sqlplus / OPS$kadrowy weryfikacja uprawnień użytkownika ops$kadrowy w bd

16 Zmiana definicji użytkownika Polecenie ALTER USER: ALTER USER user IDENTIFIED BY password EXTERNALLY EXTERNALLY DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace PROFILE profile QUOTA integer ON tablespace PASSWORD EXPIRE PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK ACCOUNT LOCK | UNLOCK

17 Przykład ALTER USER student IDENTIFIED BY studencik DEFAULT TABLESPACE prac_ts TEMPORARY TABLESPACE temp_ts PROFILE default QUOTA 260M ON prac_ts DEFAULT ROLE studenci

18 Usunięcie użytkownika Polecenie DROP USER: DROP USER user CASCADE Użytkownik aktualnie podłączony do bazy nie może być usunięty.

19 Monitorowanie użytkowników wszystkich użytkownikach bazy danych domyślnych przestrzeniach tabel, klasterów, indeksów dla każdego użytkownika przestrzeniach używanych dla obiektów tymczasowych ograniczeniach przestrzeni Potrzebne perspektywy słownika danych: Potrzebne perspektywy słownika danych: USER_USERS, ALL_USER, DBA_USER, USER_TS_QUOTAS, DBA_TS_QUOTAS Słownik bazy danych zawiera informacje o:

20 Przerwanie sesji użytkownika nie dopuszcza użytkowników do dalszej pracy z bazą zwalnia zablokowane zasoby i stany użytkowników może wyświetlać wiadomość dla użytkownika wymaga przywileju ALTER SYSTEM KIEDY należy przerwać? Gdy użytkownik blokuje zasoby niezbędne natychmiast innemu użytkownikowi Gdy użytkownik blokuje zasoby niezbędne natychmiast innemu użytkownikowi DBA musi zamknąć bazę DBA musi zamknąć bazę

21 Zakończenie sesji użytkownika Polecenie ALTER SYSTEM: ALTER SYSTEM KILL SESSION integer1, integer2 integer1 - identyfikator użytkownika SID integer2 - numer użytkownika (integer1, integer2 określane na podstawie perspektywy V$SESSION)

22 Zadania DBA związane z obsługą użytkowników zarządzanie bezpieczeństwem bazy danych tworzenie, modyfikacja, monitorowanie i usuwanie użytkowników przerywanie sesji użytkowników w razie konieczności

23 Przywileje i role Przywileje bazodanowe - prawa do wykonywania określonych operacji na bazie przez uprawnionych przywilejem Przywileje dzielimy na: obiektowesystemowe

24 Przywileje systemowe Pozwalają na wykonywanie określonych czynności na bazie danych i typach obiektów bazy (tabelach, sekwencjach, klasterach) Typy przywilejów: we własnym schemacie (create table) we własnym schemacie (create table) na wszystkich obiektach w dowolnym schemacie (update any table) na wszystkich obiektach w dowolnym schemacie (update any table) w systemie (create session) w systemie (create session) Informacje o przywilejach systemowych: Dba_sys_privs, user_sys_privs, role_sys_privs, session_privs

25 Przykłady przywilejów systemowych (perspektywa System_privilege_map) ALTER DATABASE - pozwala użytkownikowi na modyfikację struktury bazy, CREATE PROCEDURE - pozwala użytkownikowi na tworzenie w obrębie swojego schematu procedur, funkcji i pakietów zapisywanych w bazie, CREATE ROLE - umożliwia użytkownikowi tworzenie ról bazodanowych, CREATE SESSION - przywilej ten pozwala użytkownikowi bazy na otwarcie sesji, czyli połączenie z bazą, CREATE TABLE - umożliwia użytkownikowi bazy utworzenie tablicy w obrębie własnego schematu, CREATE TABLE - umożliwia użytkownikowi bazy utworzenie tablicy w obrębie własnego schematu, UPDATE ANY TABLE - umożliwia użytkownikowi zmianę zawartości wierszy każdej tablicy w dowolnym schemacie bazy, ALTER TABLESPACE - zezwala użytkownikowi bazy na dodawanie nowych plików przestrzenie już istniejące, CREATE USER - umożliwia tworzenie definicji nowych użytkowników bazy.

26 Przywileje obiektowe Pozwalają na wykonywanie określonych czynności na konkretnych obiektach bazy (tabeli, perspektywie, sekwencji, procedurze wbudowanej) Przykład: SELECT TABLE adm.pracownik Użytkownik ma wszystkie przywileje obiektowe na obiektach własnego schematu. Przywileje obiektowe nadawane są użytkownikom bazy, którzy nie są właścicielami obiektu.

27 Przykłady przywilejów obiektowych ALTER - ALTER obiekt (tabela lub sekwencja), CREATE TRIGGER ON obiekt (tylko dla tabel), CREATE TRIGGER ON obiekt (tylko dla tabel), DELETE - DELETE FROM obiekt (tabela lub perspektywa), TRUNCATE obiekt (tylko tabela), TRUNCATE obiekt (tylko tabela), EXECUTE - EXECUTE obiekt (procedura lub funkcja), INSERT - INSERT INTO obiekt (tabela lub perspektywa), SELECT - SELECT.....FROM obiekt (tabela, perspektywa lub replikacja), UPDATE - UPDATE obiekt (tabela lub perspektywa). Pełną listę można uzyskać wykonując zapytanie do perspektywy słownika danych TABLE_PRIVILEGE_MAP.

28 Nadawanie i odbieranie przywilejów systemowych Polecenie GRANT: GRANT system_priv TO user role role PUBLIC PUBLIC WITH ADMIN OPTION Polecenie REVOKE: REVOKE system_priv FROM user role role PUBLIC

29 Przykład GRANT CREATE SESSION, CREATE TABLE TO STUDENT WITH ADMIN OPTION; REVOKE SELECT ANY TABLE, CREATE USER FROM STUDENT WITH ADMIN OPTION;

30 Nadawanie i odbieranie przywilejów obiektowych Polecenie GRANT: GRANT list of object_priv (column1, column2) ON object TO user schema role role schema role role PUBLIC PUBLIC WITH GRANT OPTION Polecenie REVOKE: REVOKE objct_priv ON object schema FROM user roleCASCADE CONSTRAINTS roleCASCADE CONSTRAINTS PUBLIC PUBLIC

31 Przykład Nadawanie uprawnień: GRANT select, update, insert ON adm.pracownik TO student; Odbieranie uprawnień: REVOKE delete, update ON adm.dochody FROM student;

32 Role a przywileje U1U2U3 UŻYTKOWNICY P1 P2P3P4 PRZYWILEJE N*M operacji nadania przywileju U1U2U3 UŻYTKOWNICY U1U2U3 UŻYTKOWNICY R ROLE N+M operacji P1P2P3P4 PRZYWILEJE

33 Role - cechy mogą składać się zarówno z przywilejów obiektowych jak i systemowych nie należą do żadnego użytkownika i schematu mogą być nadane dowolnemu użytkownikowi lub roli z wyjątkiem siebie mogą być włączone lub wyłączone dla każdego użytkownika mogą wymagać autoryzacji (hasła) do włączania mogą być sterowane z poziomu systemu operacyjnego

34 Zalety używania ról Ograniczenie liczby wymienianych uprawnień nadawanie i odbieranie wielu przywilejów jednym poleceniem nadawanie i odbieranie wielu przywilejów jednym poleceniem nadawanie roli nowemu użytkownikowi bez pamiętania wszystkich niezbędnych przywilejów nadawanie roli nowemu użytkownikowi bez pamiętania wszystkich niezbędnych przywilejów uproszczenie zarządzania przywilejami w systemach z wieloma użytkownikami, wieloma tabelami uproszczenie zarządzania przywilejami w systemach z wieloma użytkownikami, wieloma tabelami Dynamiczna obsługa uprawnień zmienianie przywilejów roli, gdy zmieniają się obowiązki zmienianie przywilejów roli, gdy zmieniają się obowiązki zmienianie przywilejów wielu użytkownikom zmieniając jedną rolę zmienianie przywilejów wielu użytkownikom zmieniając jedną rolę Wybiórcze udostępnianie uprawnień włączanie i wyłączanie ról, by włączyć i wyłączyć przywileje tymczasowo włączanie i wyłączanie ról, by włączyć i wyłączyć przywileje tymczasowo aplikacja może przeglądać słownik danych i włączać lub wyłączać role w razie potrzeby aplikacja może przeglądać słownik danych i włączać lub wyłączać role w razie potrzeby

35 Dodatkowe korzyści zarządzanie przywilejami baz kaskadowych odbierań przywilejów zarządzanie przywilejami baz kaskadowych odbierań przywilejów możliwość użycia systemu zabezpieczeń systemu operacyjnego przy zabezpieczaniu bazy danych możliwość użycia systemu zabezpieczeń systemu operacyjnego przy zabezpieczaniu bazy danychWydajność mniej indywidualnych przywilejów do sprawdzania i kodowania w aplikacji mniej indywidualnych przywilejów do sprawdzania i kodowania w aplikacji

36 Tworzenie i modyfikacja roli Polecenie CREATE ROLE CREATE ROLE role NOT IDENTIFIED NOT IDENTIFIED IDENTIFIED BY password IDENTIFIED BY password EXTERNALLY EXTERNALLY Polecenie ALTER ROLE ALTER ROLE role NOT IDENTIFIED IDENTIFIED BY password EXTERNALLY EXTERNALLY

37 Przykłady CREATE ROLE pierwsza; CREATE ROLE druga IDENTIFIED BY xxzz; CREATE ROLE trzecia IDENTIFIED EXTERNALLY;

38 Nadawanie, odbieranie i usuwanie ról Nadawanie uprawnień roli GRANT: GRANT create synonym, create table TO manager Nadawanie ról - polecenie GRANT: GRANT role TO user Odbieranie ról - polecenie REVOKE: REVOKE role FROM user Usuwanie ról - polecenie DROP ROLE: DROP ROLE role

39 Włączanie i wyłączanie ról można włączać i wyłączać role, które zostały uprzednio nadane przywileje nadane wyłączonej roli nie są dostępne użytkownikowi może być wymagane hasło lub autoryzacja przez system operacyjny polecenie SET ROLE włącza tylko podane role i wyłącza uprzednio włączone SET ROLE role IDENTIFIED BY password ALL EXCEPT role NONE

40 Występowanie efektu kaskady przywileje obiektowe przywileje systemowe i role ADMPRACSTUD with grant option Użytkownik ADM odbiera uprawnienie użytkownikowi PRAC lub usuwa użytkownika Efekt: KASKADY – ani użytkownik ADM ani STUD nie mają już tego prawa ADMPRACSTUD with admin option Użytkownik ADM odbiera uprawnienie użytkownikowi PRAC lub usuwa użytkownika Efekt: BRAK KASKADY – użytkownik STUD posiada nadal te uprawnienia

41 Role OSOPER i OSDBA OSOPER - pozwala użytkownikowi na wykonanie STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP CONTROLFILE, ALTER TABLESPACE BEGIN/END BACKUP, ARCHIVE LOG, RECOVER. Rola ta zawiera także - przywilej RESTRICTED SESSION OSDBA - zawiera wszystkie przywileje systemowe z opcją WITH ADMIN OPTION i rolę OSOPER. Tylko ta rola pozwala na wykonanie CREATE DATABASE i odtwarzanie do czasu (time-based recovery)

42 Obsługa ról na poziomie systemu operacyjnego System operacyjny przechowuje listę autoryzowanych ról role nadawane przez system operacyjny: muszą być najpierw utworzone w bazie muszą być najpierw utworzone w bazie mogą być nadane lub odebrane innej roli w Oracleu mogą być nadane lub odebrane innej roli w Oracleu mogą być włączane i wyłączane w Oracleu mogą być włączane i wyłączane w Oracleu nie mogą być nadane lub odebrane użytkownikowi w Oracleu nie mogą być nadane lub odebrane użytkownikowi w Oracleu role kontrolowane przez system operacyjny są nadawane podczas podłączania, ale są wyłączone (jeśli nie są rolami domyślnymi)

43 Co należy zrobić aby móc zarządzać rolami z poziomu systemu operacyjnego? Utworzyć role w Oracleu nadać utworzonym rolom odpowiednie przywileje ustawić parametr inicjalizacyjny OS_ROLES na TRUE zamknąć i otworzyć bazę danych nadać każdemu użytkownikowi prawa w systemie operacyjnym do korzystania z ról format przywileju SO : ORA_SID_ROLE[_D][A] ORA_SID_ROLE[_D][A] D - rola jest domyślna dla użytkownika A - rola została nadana z opcją WITH ADMIN OPTION użytkownik musi mieć nadany przywilej CREATE SESSION SET ROLE może być użyte do włączenia ról systemu operacyjnego, które nie są zdefiniowane jako domyślne

44 Przykład: Konto użytkownika w systemie operacyjnym musi mieć zdefiniowane role w swoim profilu np.: ORA_NowaBaza_ROLA1 ORA_NowaBaza_ROLA2_A ORA_NowaBaza_ROLA3_D ORA_NowaBaza_ROLA4_DA Rola3 i rola4 są domyślne, rola2 i rola4 są dostępne z opcją ADMIN OPTION

45 Predefiniowane role Role tworzone przez skrypt catalog.sql CONNECT - przywileje: Alter Session, Create Database Link, Create Sequence, Create Session, Create Synonym, Create Table, Create View RESOURCE - Create Cluster, Create Procedure, Create Sequence, Create Table, Create Trigger DBA - EXP_FULL_DATABASE, IMP_FULL_DATABASE, wszystkie przywileje systemowe z wyjątkiem: SYSTEM GRANT, READUP, WRITEUP, WRITEDOWN, TRUNCATE nadanie użytkownikowi roli RESOURCE lub DBA spowoduje nadanie przywileju UNLIMITED TABLESPACE przywilej UNLIMITED TABLESPACE nie może być nadany roli

46 Zadania administratora Nadawanie użytkownikom praw do wykonania określonych operacji zezwalanie i zabranianie dostępu do danych i możliwości ich zmieniania zezwalanie i zabranianie możliwości wykonania funkcji systemowych i zmian struktury bazy danych nadawanie przywilejów użytkownikom i rolom nadawanie przywileju wszystkim użytkownikom (PUBLIC)

47 Profile i limity zasobów Każdy użytkownik jest połączony z jakimś profilem, który określa ograniczenia do korzystania z różnych zasobów systemu dostępnych dla danego użytkownika. Zasoby systemowe: liczba równoległych sesji użytkownika, liczba równoległych sesji użytkownika, czas CPU czas CPU na poziomie sesji użytkownika, na poziomie pojedynczego wywołania podczas wykonania zdania SQL, operacje we/wy operacje we/wy na poziomie sesji użytkownika, na poziomie pojedynczego wywołania podczas wykonania zdania SQL, czas spoczynku (idle time) czas spoczynku (idle time) czas podłączenia czas podłączenia

48 Profile stosowane są w celu: Ograniczenia ilości zasobów systemowych dostępnych dla użytkownika, Uniemożliwienia użytkownikom operacji zbyt mocno obciążających zasoby, Uproszczenia zarządzania zasobami, Przypisania indywidualnych lub domyślnych limitów użytkownikom, Specyfikacji ograniczenia zasobów dla grupy użytkowników, Zarządzania zasobami w dużych, złożonych systemach Ograniczenia użycia zasobów na poziomie sesji lub odwołania (call), Odłączenia po odpowiednio długim czasie oczekiwania w sesji, Wylogowania użytkowników jeśli nie pracują (idle).

49 Wprowadzanie ograniczeń może być na poziomie: sesji, wywołania lub na obydwu. Co dzieje się, gdy ograniczenia na poziomie sesji są przekroczone? Na poziomie sesji bieżące polecenie jest wycofywane, poprzednie polecenia są nienaruszane, dozwolone są tylko operacje: COMMIT, ROLLBACK i odłączenie, nie można wykonać żadnej, znaczącej pracy w tej sesji. Na poziomie wywołania wykonanie zdania jest zatrzymane, zadnie jest wycofywane, poprzednie polecenia są nienaruszone, dalsza praca w sesji odbywa się normalnie.

50 Zasoby kontrolowane na poziomie sesji lub na poziomie wywołania : Na poziomie sesji:CPU_PER_SESSION,SESSION_PER_USER,CONNECT_TIME,IDLE_TIME, LOGICAL_READS_PER _SESSION, PRIVATE_SGA Na poziomie wywołania: CPU_PER_CALL LOGICAL_READS _PER_CALL

51 Tworzenie profilu Polecenie: CREATE PROFILE CREATE PROFILE profil LIMIT SESSION_PER_USER integer UNLIMITEDDEFAULTCPU_PER_SESSIONCPU_PER_CALLCONNECT_TIMEIDLE_TIMELOGICAL_READS_PER_CALLLOGICAL_READS_PER_SESSIONCOMPOSITE_LIMIT PRIVATE_SGA integer w K lub M w K lub MUNLIMITEDDEFAULT Do tworzenia profilów potrzebny jest przywilej CREATE PROFILE

52 Zmiana profilu Polecenie: ALTER PROFILE ALTER PROFILE profil LIMIT SESSION_PER_USER integer UNLIMITEDDEFAULTCPU_PER_SESSIONCPU_PER_CALLCONNECT_TIMEIDLE_TIMELOGICAL_READS_PER_CALLLOGICAL_READS_PER_SESSIONCOMPOSITE_LIMIT PRIVATE_SGA integer w M lub w M lubUNLIMITEDDEFAULT Do zmiany definicji profilu potrzebny jest przywilej ALTER PROFILE

53 Przykłady: CREATE PROFILE pracownik LIMIT SESSION_PER_USER 4 CPU_PER_CALL UNLIMITED IDLE_TIME 40; ALTER PROFILE pracownik LIMIT SESSION_PER_USER 3 CPU_PER_SESSION IDLE_TIME 20 LOGICAL_READS_PER_CALL 1500;

54 Określenie ograniczenia dostępu do zasobów Dla każdego profilu należy określić odpowiednie ograniczenia, tzn.: pogrupować użytkowników, określić ograniczenia dla każdej grupy. Aby określić odpowiednie ograniczenia zasobów trzeba zebrać informacje archiwalne Aby określić odpowiednie ograniczenia zasobów trzeba zebrać informacje archiwalne o użytkowaniu zasobów (o czasie połączenia, odczytach fizycznych i logicznych).

55 Profil domyślny (Default) Istnieje w każdej bazie danych, Jeżeli użytkownikowi nie nadamy profilu to ma on profil domyślny, Dotyczy wszystkich zasobów nie ujętych w ograniczeniach innych profili, Początkowo nie ma ograniczeń na zasoby, Może być zmieniany, tak aby żaden użytkownik nie miał nieograniczonego dostępu do zasobów.

56 Przydzielanie profili (w momencie tworzenia lub zmiany definicji użytkownika) CREATE USER CREATE USER asystent IDENTIFIED BY 01asyst89 DEFAULT TABLESPACE asyst1 TEMPORARY TABLESPACE temp PROFILE pracownik; ALTER USER ALTER USER doktor PROFILE pracownik; Skutki przydzielania profilu nie są widoczne w bieżącej sesji, aby przydzielić profil należy mieć przywilej ALTER USER, profile mogą być przydzielane tylko użytkownikom.

57 Ograniczenie użycia wielu zasobów - stosując ograniczenie złożone Ogranicza użycie wielu zasobów, Jest sumą ważoną ograniczeń: CPU_PER_SESSION, CONNECT_TIME, PRIVATE_SGA, LOGICAL_READS_PER_SESSION, Jest określone w jednostkach usługowych, Może być użyte z ograniczeniem indywidualnym, Daje dodatkowe możliwości ograniczania dostępu do zasobów. Należy zebrać informacje statystyczno-archiwalne na temat użycia zasobów, które ograniczone są ograniczeniem złożonym. Jakiekolwiek osiągnięte ograniczenie zatrzymuje akcję sesji.

58 Koszty zasobów Używane do wag CPU_PER_SESSION, CONNECT_TIME, PRIVATE_SGA, LOGICAL_READS_PER_SESSION, Stosowane tylko do ograniczeń złożonych w profilu, nie stosowane przy indywidualnych ograniczeniach dostępu do zasobu. Określenie kosztu zasobu Polecenie: ALTER RESOURCE COST ALTER RESOURCE COST CPU_PER_SESSION integer CONNECT_TIME integer LOGICAL_READS_PER_CALL integer LOGICAL_READS_PER_CALL integer LOGICAL_READS_PER_SESSION integer LOGICAL_READS_PER_SESSION integer PRIVATE_SGA integer integer - waga zasobu

59 Całkowity koszt zasobów dla sesji - wzór: Total Resource Cost = (CPU_used * weight) + (Connect_time_used*weight) + (Logical_reads_used_in_session * weight) + (Private_SGA_used * weight) Przykład Ustawienie kosztów zasobów: ALTER RESOURCE COST CPU_PER_SESSION 10 LOGICAL_READS_PER_SESSION 25 LOGICAL_READS_PER_SESSION 25 PRIVATE_SGA 5; PRIVATE_SGA 5; Total Resource Cost = (CPU_used * 10) + (Logical_reads_used_in_session * 25) + (Private_SGA_used * 5) Przykład: CREATE PROFILE stud LIMIT COMPOSITE_LIMIT

60 Włączanie i wyłączanie kontroli użycia zasobów - poprzez ustawienie parametru startowego RESOURCE_LIMIT lub komendę ALTER SYSTEM. Parametr startowy RESOURCE_LIMIT - włączenie lub wyłączenie kontroli użycia zasobów - poprzez zmianę parametru i ponowne wystartowanie bazy danych (TRUE - włączenie kontroli, FALSE - wyłączenie kontroli). Stosowany tylko gdy baza może być zamknięta. Komenda ALTER SYSTEM - Użycie tej komendy powoduje włączenie lub wyłączenie kontroli użycia zasobów. Ustawienie dokonane za pomocą tej komendy utrzymuje się do następnej zmiany lub do zamknięcia bazy danych. Stosowany, gdy baza danych nie może być zamknięta lub zmiana ma być tymczasowa. - Użycie tej komendy powoduje włączenie lub wyłączenie kontroli użycia zasobów. Ustawienie dokonane za pomocą tej komendy utrzymuje się do następnej zmiany lub do zamknięcia bazy danych. Stosowany, gdy baza danych nie może być zamknięta lub zmiana ma być tymczasowa.

61 Przykład: Polecenie: ALTER SYSTEM ALTER SYSTEM SET RESOURCE_LIMIT = TRUE FALSE FALSE Do użycia tej komendy potrzebny jest przywilej ALTER SYSTEM.

62 Usuwanie profili Polecenie: DROP PROFILE DROP PROFILE profile CASCADE profile - nazwa usuwanego profilu CASCADE - automatyczne przypisanie profilu DEFAULT użytkownikom związanym z tym profilem Przykład: DROP PROFILE pracownik CASCADE; DROP PROFILE pracownik CASCADE;

63 Oglądanie ustawienia profilu W celu obejrzenia ustawienia profilu należy skorzystać z perspektyw słownika danych: DBA_USERS, DBA_USERS, USER_RESOURCE_LIMITS, USER_RESOURCE_LIMITS, DBA_PROFILES, DBA_PROFILES, RESOURCE_COST RESOURCE_COST


Pobierz ppt "Zarządzanie bezpieczeństwem w SZBD Oracle Użytkownicy, uprawnienia i role, profile."

Podobne prezentacje


Reklamy Google