Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Podobne dokumenty
Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Baza danych inside. Biologiczne Aplikacje Baz Danych

Uprawnienia, role, synonimy

Ćwiczenie 14 autoryzacja

Użytkownicy, uprawnienia, role, obserwacja bazy danych. (c) Instytut Informatyki Politechniki Poznańskiej 60

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Zarządzanie kontami użytkowników w i uprawnieniami

Tworzenie u ytkownika. ORACLE (Wykład 6) Uwierzytelnianie u ytkowników. Przył czenie u ytkownika do bazy. Nadawanie uprawnie systemowych

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

CREATE USER

SQL> startup pfile=./admin/pfile/initdbx.ora. SQL> create spfile from pfile='$home/admin/pfile/initdbx.ora' create user bolek identified by bolek;

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Zarzdzanie uytkownikami Uytkownicy, przywileje, role, audyt

Zarządzanie użytkownikami bazy danych Oracle11g

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Instrukcja instalacji aplikacji PlanSoft.org

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Instrukcja instalacji aplikacji Plansoft.org

Użytkownicy, uprawnienia, role w SQL Server (W oparciu o SQL Server 2008R2 Books Online)

Oracle11g: Wprowadzenie do SQL

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Rozproszone i obiektowe systemy baz danych Charakterystyka rozproszonego systemu baz danych

1.5.3 Do czego słuŝą tymczasowe przestrzenie Zarządzanie plikami danych

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Ćwiczenie 4. Użytkownicy

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

Język SQL. Rozdział 8. Język manipulowania danymi DML

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Systemowe aspekty baz

Podnoszenie poziomu bezpieczeństwa instalacji i baz danych Oracle

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

SQL 4 Structured Query Lenguage

Zaawansowane bazy danych i hurtownie danych semestr I

Język SQL, zajęcia nr 1

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Domyślna przestrzeń tabel. Domena bezpieczeństwa. zasobowe

1. Administrowanie bazą danych Oracle

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

(a) T (b) N (c) N (d) T

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

JSystems. Administracja Oracle. Kompendium wiedzy

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Prawa dostępu do serwera. Nadawanie i odbieranie uprawnień DCL. Użytkownicy a role

Bazy danych i usługi sieciowe

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

Bazy Danych i Usługi Sieciowe

Instalacja Oracle Designera ( )

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

Oracle PL/SQL. Paweł Rajba.

P o d s t a w y j ę z y k a S Q L

Pakiety podprogramów Dynamiczny SQL

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

SQL język zapytań (query language) cz.1

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Bazy danych i usługi sieciowe

Plan wykładu. Wprowadzenie Bezpieczeństwo systemów bazodanowych Przykład zagroŝenia bezpieczeństwa. Pytania. Pokaz

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Systemowe aspekty baz danych

Bazy danych - Materiały do laboratoriów VIII

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Przestrzenne bazy danych Podstawy języka SQL

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Rozproszone i obiektowe systemy baz danych Charakterystyka systemu rozproszonych baz danych

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Projektowanie systemów baz danych

Zarządzanie obiektami bazy danych Oracle11g

Rozproszone bazy danych 1

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Język PL/SQL. Rozdział 6. Procedury wyzwalane

15. Funkcje i procedury składowane PL/SQL

asist Uproszczona procedura migracji danych aplikacji asist przy błędnych ustawieniach zestawu znaków bazy danych Oracle

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Database Connectivity

Zadania do wykonania na laboratorium

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Relacyjne bazy danych. Podstawy SQL

Wykład 2. SQL 1 Structured Query Lenguage

Administracja i programowanie pod Microsoft SQL Server 2000

Wykład 8. SQL praca z tabelami 5

Transkrypt:

Plan ćwiczenia Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych UŜytkownicy i schematy bazy danych. Uwierzytelnianie i autoryzacja. Przywileje systemowe i obiektowe. Role. Synonimy. Uprawnienia, role, synonimy 1 2 UŜytkownicy i schematy (1) UŜytkownicy i schematy (2) UŜytkownik osoba lub aplikacja, uprawniona do dostępu do danych zgromadzonych w bazie danych. Schemat kolekcja logicznych struktur danych (relacji, perspektyw, ograniczeń, indeksów, programów składowanych, itd.), schemat posiada swoją nazwę, schemat jest własnością określonego. SELECT * FROM zespoly; baza danych: ZESP99 schemat: ALA schemat: OLEK uŝytkownik: ALA SELECT * FROM OLEK.zespoly; uŝytkownik: OLEK SELECT * FROM zespoly; 3 4

Informacje o ch Uwierzytelnianie uŝytkowników ALL_USERS DBA_USERS USER_USERS Zawiera nazwy i daty utworzenia wszystkich uŝytkowników w bazie danych Zawiera nazwę, identyfikator, zakodowane hasło, nazwę domyślnej przestrzeni tabel,nazwę tymczasowej przestrzeni tabel, datę utworzenia i profil kaŝdego bazy danych Zawiera nazwę, identyfikator, domyślną przestrzeń tabel, tymczasową przestrzeń tabel i datę utworzenia aktualnego Uwierzytelnianie to proces weryfikacji toŝsamości bazy danych. Metody uwierzytelniania, wykorzystywane przez SZBD: uwierzytelnianie przez SZBD, uwierzytelnianie przez system operacyjny, uwierzytelnianie przez usługę sieciową, uwierzytelnianie wielowarstwowe. SELECT * FROM user_users; SELECT username FROM all_users; 5 6 Autoryzacja uŝytkowników Przywileje Autoryzacja jest procesem weryfikacji uprawnień do wykonania określonej operacji: ograniczenia co do obiektów i operacji, jakie uŝytkownik moŝe na nich realizować: system przywilejów, role bazodanowe, ograniczenie wykorzystania zasobów systemowych (czasu procesora, czasu połączenia, itd.) przy realizacji operacji: profile. Przywilej prawo wykonywania przez określonej akcji w bazie danych lub dostępu do określonego obiektu, np.: przyłączenie się do bazy danych, odczyt danych określonej relacji, wykonanie dowolnej składowanej w bazie danych procedury, utworzenia perspektywy, itd. Rodzaje przywilejów: systemowe, obiektowe. 7 8

Przywileje systemowe (1) Przywileje systemowe (2) Prawa wykonania: określonej akcji w bazie danych, lub określonej operacji na wskazanym typie obiektu we wskazanym/dowolnym schemacie bazy danych. Przykłady: CREATE SESSION CREATE TABLE CREATE ANY TABLE SELECT ANY TABLE INSERT ANY TABLE DROP ANY VIEW Nadawanie przywilejów systemowych: GRANT <lista_przywilejów_systemowych> TO <lista_uŝytkowników> PUBLIC [WITH ADMIN OPTION]; Odbieranie przywilejów systemowych: REVOKE <lista_przywilejów> FROM <lista_uŝytkowników> PUBLIC; Przykład: GRANT CREATE SESSION, SELECT ANY TABLE TO OLEK; GRANT CREATE TABLE TO ALA; REVOKE SELECT ANY TABLE FROM OLEK; 9 10 Informacje o przywilejach systemowych Przywileje obiektowe (1) USER_SYS_PRIVS - uprawnienia systemowe nadane uŝytkownikowi bezpośrednio SESSION_PRIVS - uprawnienia systemowe nadane uŝytkownikowi zarówno bezpośrednio jak i przez role SQL> SELECT * FROM user_sys_privs; USERNAME PRIVILEGE ADMIN_OPTION -------------------- ----------------------------------------- ------------------------ OLEK CREATE SESSION NO OLEK INSERT ANY TABLE NO OLEK UNLIMITED TABLESPACE YES OLEK CREATE VIEW YES Prawa wykonania określonej operacji na wskazanym obiekcie w określonym schemacie bazy danych. Przykłady: SELECT ON pracownicy ALTER ON zespoly EXECUTE ON PoliczPracownikow REFERENCES ON etaty Uwaga! UŜytkownik posiada wszystkie uprawnienia do obiektu, którego jest właścicielem! Nie moŝna mu tych przywilejów odebrać. 11 12

Przywileje obiektowe (2) Przywileje obiektowe (3) Przywilej Relacja Perspektywa Procedura/ Sekwencja funkcja/pakiet ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE Nadawanie przywilejów obiektowych: GRANT <lista_przywilejów> ALL ON <nazwa_obiektu> TO <lista_uŝytkowników> PUBLIC [WITH GRANT OPTION]; przywileje INSERT, UPDATE i REFERENCES mogą dodatkowo specyfikować kolumny relacji Odbieranie przywilejów obiektowych: REVOKE <lista_przywilejów> ALL ON <nazwa_obiektu> FROM <lista_uŝytkowników> PUBLIC [CASCADE CONSTRAINTS]; 13 14 Przywileje obiektowe (4) Informacje o przywilejach obiektowych Przykłady: GRANT SELECT ON zespoly TO OLEK; GRANT UPDATE(placa_pod, placa_dod) ON pracownicy TO ALA; REVOKE DELETE ON pracownicy FROM OLEK; USER_TAB_PRIVS USER_TAB_PRIVS_MADE USER_TAB_PRIVS_RECD USER_COL_PRIVS USER_COL_PRIVS_MADE USER_COL_PRIVS_RECD Uprawnienia do obiektów, których uŝytkownik jest właścicielem oraz uprawnienia obiektowe, które uŝytkownik otrzymał lub przyznał Uprawnienia do obiektów, będących własnością Uprawnienia obiektowe, które uŝytkownik otrzymał Uprawnienia do atrybutów, których uŝytkownik jest właścicielem oraz uprawnienia do atrybutów, które uŝytkownik otrzymał lub przyznał Uprawnienia do atrybutów będących własnością Uprawnienia do atrybutów, które uŝytkownik otrzymał SELECT * FROM user_tab_privs_made; SELECT * FROM user_tab_privs_recd; 15 16

Opcja administracyjna przywilejów Role (1) umoŝliwia uŝytkownikowi przekazanie innym uŝytkownikom otrzymanego przywileju (systemowego lub obiektowego), przywileje systemowe: ADMIN: GRANT SELECT ANY TABLE TO SCOTT WITH ADMIN OPTION; SCOTT: GRANT SELECT ANY TABLE TO JONES; odebranie przywileju systemowego uŝytkownikowi SCOTT nie powoduje odebrania przywileju uŝytkownikowi JONES przywileje obiektowe: SCOTT: GRANT INSERT ON ETATY TO JONES WITH GRANT OPTION; JONES: GRANT INSERT ON SCOTT.ETATY TO SMITH; Rola nazwany zbiór powiązanych przywilejów. Ułatwiają zarządzanie systemem przywilejów. UŜytkownik moŝe mieć nadanych wiele ról, rola moŝe zostać przyznana wielu uŝytkownikom lub rolom. Przykłady zastosowań: role aplikacyjne grupują przywileje niezbędne do działania określonej aplikacji, role uŝytkowników tworzone dla grup uŝytkowników, wymagających tych samych przywilejów. odebranie przywileju obiektowego uŝytkownikowi JONES powoduje odebranie przywileju równieŝ uŝytkownikowi SMITH 17 18 Role (2) Role (3) Predefiniowane role w SZBD Oracle: CONNECT, RESOURCE, DBA. Tworzenie roli: bez autoryzacji: Nadawanie przywilejów roli: GRANT <lista_przywilejów> [ON <nazwa_obiektu>] TO <lista_ról>; Nadawanie roli uŝytkownikowi/roli: CREATE ROLE <nazwa_roli>; autoryzowanej przez SZBD: GRANT <lista_ról> TO <lista_uŝytkowników> <lista_ról> PUBLIC [WITH ADMIN OPTION]; CREATE ROLE <nazwa_roli> IDENTIFIED BY <hasło>; autoryzowanej przez aplikację: Odbieranie przywilejów roli: CREATE ROLE <nazwa_roli> IDENTIFIED USING <nazwa_pakietu>; REVOKE <lista_przywilejów> [ON <nazwa_obiektu>] FROM <lista_ról>; Usunięcie roli: Odbieranie roli uŝytkownikowi/roli: DROP ROLE <nazwa_roli>; REVOKE <lista_ról> FROM <lista_uŝytkowników> <lista_ról> PUBLIC; 19 20

Role (4) Informacje o rolach Zablokowanie/odblokowanie roli dla bieŝącej sesji: SET ROLE [ <nazwa_roli> [ IDENTIFIED BY <hasło> ] ALL [EXCEPT <nazwa_roli> NONE ]; Przykład: USER_ROLE_PRIVS ROLE_ROLE_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS Role przyznane uŝytkownikowi Role przyznane innym rolom Uprawnienia systemowe przyznane rolom Uprawnienia obiektowe przyznane rolom CREATE ROLE KASJER IDENTIFIED BY pass123; GRANT SELECT, UPDATE, DELETE ON PRACOWNICY TO KASJER; GRANT KASJER TO KOWALSKI; SESSION_ROLES SELECT role, table_name, privilege FROM role_tab_privs; Role aktywowane w bieŝącej sesji uŝytkownik KOWALSKI włączy rolę poleceniem: SET ROLE KASJER IDENTIFIED BY pass123; SELECT * FROM session_roles; 21 22 Synonimy (1) Synonimy (2) Synonim alternatywna nazwa dla obiektu. Cele stosowania: uproszczenie konstrukcji poleceń SQL, ukrycie nazwy oryginalnego obiektu, ukrycie lokalizacji oryginalnego obiektu (np. z innego schematu, ze zdalnej bazy danych). Rodzaje synonimów: synonim prywatny jest własnością określonego, dostępny tylko dla właściciela oraz uŝytkowników, którzy uzyskają prawo dostępu, synonim publiczny dostępny dla kaŝdego bazy danych. Tworzenie: CREATE [PUBLIC] SYNONYM <synonim> FOR <nazwa_obiektu>; Usuwanie: DROP [PUBLIC] SYNONYM <synonim>; 23 24

Synonimy (3) Informacje o synonimach Przykład: uŝytkownik OLEK wykonuje: GRANT SELECT, INSERT ON pracownicy TO ALA; uŝytkownik ALA wykonuje: ALL_SYNONYMS USER_SYNONYMS Synonimy publiczne i prywatne dostępne dla Synonimy prywatne, będące własnością SELECT * FROM OLEK.pracownicy; CREATE SYNONYM prac_olek FOR OLEK.pracownicy; SELECT * FROM prac_olek; SELECT synonym_name, table_name FROM user_synonyms; 25 26 Podsumowanie UŜytkownik zostaje uwierzytelniony przed przyłączeniem do bazy danych. Autoryzacja jest procesem weryfikacji uprawnień do wykonania określonej operacji w bazie danych. Przywilej to prawo wykonywania przez określonej akcji w bazie danych lub dostępu do określonego obiektu bazy danych. Rola to nazwany zbiór przywilejów, ułatwiający zarządzanie systemem autoryzacji. Synonim jest alternatywną nazwą obiektu w bazie danych. 27