Zarządzanie kontami użytkowników i uprawnieniami

advertisement
106
107
Plan prezentacji
•
•
•
•
Zarządzanie kontami
użytkowników i uprawnieniami
Schematy a użytkownicy
Tworzenie użytkowników, uwierzytelnianie
Przywileje systemowe i obiektowe, role
Profile
– kontrola wykorzystania zasobów systemu
– polityka haseł
• Obserwacja bazy danych (ang. auditing)
108
Schematy a użytkownicy
• Schemat to kolekcja logicznych struktur danych
• Właścicielem schematu jest użytkownik
– nazwa użytkownika równa nazwie schematu
– terminy używane w systemie Oracle zamiennie
(w niektórych sytuacjach rozróżnienie jest istotne)
• Podstawowe obiekty schematów:
– tabele, indeksy
– perspektywy, sekwencje, synonimy
– procedury, funkcje, pakiety
• Nazwa obiektu schematu musi być unikalna w obrębie
schematu:
– np. HR.EMPLOYEES, HR.DEPARTMENTS, OE.EMPLOYEES
• Przykładowe obiekty niezawierające się w schemacie:
– role, profile, przestrzenie tabel
109
Administrowanie użytkownikami (EM)
110
111
Predefiniowane konta użytkowników
Właściwości użytkownika
• Konta administratorskie
•
•
•
•
•
Nazwa
Metoda uwierzytelniania
Domyślna przestrzeń tabel
Tymczasowa przestrzeń tabel
Limity miejsca do wykorzystania w poszczególnych
przestrzeniach tabel (ang. quotas)
• Profil
• Status konta (odblokowane, zablokowane)
– SYS – administrator b.d., właściciel słownika b.d. (rola DBA, przywilej
SYSDBA)
– SYSTEM – administrator b.d. bez prawa zatrzymywania
i startowania b.d. (rola DBA)
– SYSMAN – administrator Oracle Enterprise Manager
– DBSNMP – konto dla monitorowania b.d. przez Enterprise Manager
• Przykładowe schematy do ćwiczeń
– np. HR, OE, SH
– wykorzystywane w tutorialach, szkoleniach
i przykładach w dokumentacji
– po instalacji zablokowane
• Konta wewnętrzne
– dla różnych funkcji i komponentów serwera
(niezbędne, powinny pozostać zablokowane)
– np. CTXSYS, ORDSYS, OLAPSYS
112
Tworzenie użytkownika
• Server -> Security -> Users -> Create
113
Sposoby uwierzytelniania użytkowników
• Password - przez bazę danych (w oparciu o hasło)
– od 11g hasła wrażliwe na wielkość liter
– rozróżnianie wielkości liter w haśle zależy od wartości parametru
inicjalizacyjnego SEC_CASE_SENSITIVE_LOGON (domyślnie TRUE)
• External – przez system operacyjny
CREATE USER "TOLA"
PROFILE "DEFAULT"
IDENTIFIED BY "*******"
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK
GRANT "CONNECT" TO "TOLA"
– nazwa użytkownika w b.d. zbudowana z prefiksu
(OS_AUTHENT_PREFIX, domyślnie: OPS$) i nazwy użytkownika
w systemie operacyjnym
• Global – przez zewnętrzną usługę uwierzytelniania
– w ramach Enterprise User Security
– np. przez Oracle Internet Directory
– z użytkownikiem związana nazwa X.500 Distinguished Name
114
Przywileje systemowe
SYSDBA i SYSOPER
Przywileje i role
• Umożliwiają logowanie się gdy b.d. jest zamknięta
• Chęć skorzystania z nich wskazywana przy logowaniu:
• Służą do kontroli dostępu użytkowników do danych
i możliwości wykonywania poleceń SQL
• Przywileje systemowe
CONNECT sys AS SYSDBA
– dotyczą możliwości wykonywania poszczególnych operacji na bazie
danych
• Przywileje obiektowe
CONNECT / AS SYSDBA
CONNECT scott AS SYSDBA
• SYSDBA
– umożliwia startowanie/zatrzymywanie instancji, tworzenie pliku
SPFILE, odtwarzanie, tworzenie i usuwanie b.d.
– logowanie AS SYSDBA loguje do schematu SYS
– SYS musi logować się jako SYSDBA
– możliwość wykonywania konkretnej operacji na konkretnym
obiekcie
• Role
• SYSOPER
– nazwane zbiory przywilejów
– ułatwiają zarządzanie przywilejami użytkowników
– umożliwia startowanie/zatrzymywanie instancji, tworzenie pliku
SPFILE, odtwarzanie (tylko kompletne)
– logowanie AS SYSOPER loguje do schematu PUBLIC
– nie umożliwia dostępu do danych użytkowników
116
Uwierzytelnianie administratorów
117
Nadawanie przywilejów systemowych
• Zazwyczaj przez administratorów b.d.
• Możliwe uwierzytelnienie przez bazę danych
• Dodatkowo konieczny mechanizm uwierzytelniania
umożliwiający logowanie się użytkowników
z przywilejem SYSDBA/SYSOPER gdy baza danych
jest zamknięta/niedostępna
– system operacyjny
(przynależność do
odpowiedniej grupy)
– plik haseł
UNIX
Windows
OSDBA
dba
ORA_DBA
OSOPER
oper
ORA_OPER
• tworzony narzędziem orapwd
• tworzony automatycznie przy tworzeniu bazy danych kreatorem
– sieciowa usługa uwierzytelniania
• np. Oracle Internet Directory
115
118
Nadawanie przywilejów obiektowych
119
Tworzenie ról
• Właściciel obiektu nadaje i odbiera przywileje poleceniami GRANT i REVOKE
• Administrator zarządza przywilejami obiektowymi dzięki przywilejowi
systemowemu GRANT ANY OBJECT PRIVILEGE
• Server -> Security -> Roles -> Create
GRANT SELECT, UPDATE ON
scott.dept TO tola
Dla zwiększenia bezpieczeństwa rola może wymagać
dodatkowego uwierzytelnienia w momencie jej włączenia
przez użytkownika (jeśli nie należy do jego ról domyślnych)
REVOKE SELECT, UPDATE
ON scott.dept FROM tola
Rola może obejmować zarówno przywileje systemowe jak i obiektowe,
a także inne role
120
Podstawowe predefiniowane role
121
Nadawanie ról użytkownikom
• Server -> Security -> Users -> Create/Edit
• CONNECT
– umożliwia logowanie się do bazy danych
– nadawana automatycznie użytkownikom
tworzonym w Enterprise Manager
• RESOURCE
– umożliwia tworzenie, modyfikację i usuwanie podstawowych typów
obiektów schematu
(nie zawiera CREATE VIEW)
– nadaje przywilej UNLIMITED TABLESPACE
• DBA
– zawiera wszystkie przywileje systemowe poza specjalnymi
SYSDBA i SYSOPER
122
Profile
Tworzenie profilu – ograniczenie
wykorzystania zasobów
123
• Server -> Security -> Profiles -> Create/Edit
• Profil to nazwany zbiór limitów wykorzystania zasobów
bazy danych i instancji
• W danej chwili użytkownik ma przypisany dokładnie jeden
profil
• Profile umożliwiają:
– ograniczenie wykorzystania zasobów przez użytkowników
– implementację polityki haseł
• Można modyfikować profil DEFAULT i tworzyć dodatkowe
124
Tworzenie profilu – polityka haseł
125
Funkcja weryfikująca złożoność hasła
• Server -> Security -> Profiles -> Create/Edit
• Musi znajdować się w schemacie SYS
• Musi mieć odpowiednie parametry i typ zwrotny
• Przykładową funkcję można utworzyć skryptem
ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql
(skrypt również modyfikuje profil DEFAULT)
CREATE OR REPLACE FUNCTION verify_function_11G
(username varchar2, password varchar2, old_password varchar2)
RETURN boolean IS
...
BEGIN
...
RETURN TRUE;
END;
126
Uwagi o kontroli zużycia zasobów
• Aby limity zużycia zasobów były egzekwowane należy
włączyć ograniczanie zużycia zasobów parametrem
RESOURCE_LIMIT
Limity wykorzystania przestrzeni
dyskowej
127
• Realizowane poprzez limity dla przestrzeni tabel
– domyślny limit dla przestrzeni tabel to 0
– przed uruchomieniem bazy danych
– na otwartej bazie danych poleceniem ALTER SYSTEM
• Ustawienia profilu dotyczące haseł obowiązują niezależnie
od wartości parametru RESOURCE_LIMIT
128
Obserwacja bazy danych (auditing)
• Polega na monitorowaniu i zapisywaniu informacji
o wybranych rodzajach aktywności użytkowników w b.d.
• Cele stosowania:
–
–
–
–
–
–
odpowiedzialność użytkowników za swoje działania
zniechęcenie użytkowników do czynienia szkód
śledzenie podejrzanych działań użytkowników
zbieranie informacji o korzystaniu z systemu
weryfikacja poprawności polityki bezpieczeństwa
dostosowanie systemu do obowiązujących przepisów
129
Ogólne rodzaje obserwacji
• Standardowa
– obserwacja poleceń SQL, przywilejów, schematów, obiektów
i aktywności sieciowej
– zapis do tabeli SYS.AUD$ lub pliku systemu operacyjnego
• Fine-grained
– umożliwia precyzyjną konfigurację obserwacji z uwzględnieniem
czasu wykonania operacji i konkretnych wartości
– konfiguracja za pomocą pakietu DBMS_FGA
– zapis do tabeli SYS.FGA_LOG$
• Obserwacja administratorów
– zapis do do dziennika systemu operacyjnego (syslog, EventLog)
• Obserwacja obowiązkowa (zawsze realizowana)
– startup, shutdown, połączenia jako SYSDBA i SYSOPER
– zapis do dziennika systemu operacyjnego
130
Konfiguracja standardowej obserwacji
131
Ustawienia obserwacji (EM)
• Server -> Security -> Audit Settings
• Parametr inicjalizacyjny AUDIT_TRAIL
– DB – zapis do tabeli SYS.AUD$
– DB, EXTENDED – zapis również treści SQL i zmiennych
wiązanych
– OS – zapis do pliku systemu operacyjnego do katalogu
wskazanego przez AUDIT_FILE_DEST
– XML – zapis do pliku systemu operacyjnego w formacie
XML
– XML, EXTENDED – zapis do pliku XML również treści
SQL i zmiennych wiązanych
– NONE – obserwacja standardowa wyłączona
Specyfikacja celu obserwacji
standardowej – przywileje
132
Specyfikacja celu obserwacji
standardowej – obiekty
133
Specyfikacja celu obserwacji
standardowej – polecenia
134
135
Podgląd dziennika obserwacji
• Wg przywilejów
• Wg obiektów
136
Kontrola rozmiaru dziennika obserwacji
• Włączać obserwację gdy zachodzi taka potrzeba
• Precyzyjnie ustawiać cele obserwacji
• Okresowo usuwać wiersze z dziennika obserwacji
– ewentualnie wcześniej je archiwizując (np. przez przeniesienie
informacji do innej tabeli)
DELETE FROM sys.aud$
Download