Uprawnienia, role, synonimy



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

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

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

Ćwiczenie 14 autoryzacja

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

CREATE USER

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

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

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

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

Zarządzanie użytkownikami bazy danych Oracle11g

Instrukcja instalacji aplikacji PlanSoft.org

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

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

Instrukcja instalacji aplikacji Plansoft.org

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

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

Zarzdzanie uytkownikami Uytkownicy, przywileje, role, audyt

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

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

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

SQL 4 Structured Query Lenguage

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

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

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

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

Zaawansowane bazy danych i hurtownie danych semestr I

Oracle11g: Wprowadzenie do SQL

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

Ćwiczenie 4. Użytkownicy

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

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

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

Podnoszenie poziomu bezpieczeństwa instalacji i baz danych Oracle

1. Wyzwalacze BD (ang. triggers)

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

Wykład 8. SQL praca z tabelami 5

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

Projektowanie systemów baz danych

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

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

Administracja i programowanie pod Microsoft SQL Server 2000

Oracle PL/SQL. Paweł Rajba.

Bazy danych - Materiały do laboratoriów VIII

Rozproszone i obiektowe systemy baz danych Charakterystyka rozproszonego systemu baz danych

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

Zarządzanie obiektami bazy danych Oracle11g

Instalacja Oracle Designera ( )

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

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

Język SQL, zajęcia nr 1

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

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

Zadania do wykonania na laboratorium

Widok Connections po utworzeniu połączenia. Obszar roboczy

Bazy danych i usługi sieciowe

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

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

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

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.

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

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

System Oracle podstawowe czynności administracyjne

Programowanie obiektów

Systemowe aspekty baz

Bazy danych i usługi sieciowe

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

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

Rozproszone bazy danych 1

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

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

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

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

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

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

JSystems. Administracja Oracle. Kompendium wiedzy

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Składowane procedury i funkcje

Oracle PL/SQL. Paweł Rajba.

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Autor: Joanna Karwowska

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

1. Administrowanie bazą danych Oracle

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

Bazy Danych i Usługi Sieciowe

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Spis treści. Przedmowa

Wykład 05 Bazy danych

Transkrypt:

Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy

Schematy i użytkownicy Każda baza danych Oracle składa się ze schematów. Schemat jest zbiorem obiektów, takich jak: tabele, perspektywy, procedury PL/SQL, pakiety, należących do jednego użytkownika. W celu przyłączenia się do bazy danych, użytkownik musi podać swoją nazwę i hasło dostępu. Schematy tworzone są automatycznie dla każdego użytkownika. Nazwa schematu jest identyczna z nazwą użytkownika. Hasło dostępu może być zmieniane przez użytkownika Podczas instalacji bazy danych tworzonych jest dwóch wyróżnionych użytkowników: SYS i SYSTEM

Schematy i użytkownicy c.d. baza danych: LAB81 schemat: SCOTT T: PRACOWNICY T: ZESPOLY V: PRAC_ZESP schemat: DEMO T: PRACOWNICY T: ETATY V: PRAC_ZESP użytkownik: DEMO użytkownik: SCOTT SCOTT.PRACOWNICY.NAZWISKO@LAB81

Informacje o użytkownikach ALL_USERS DBA_USERS USER_USERS USER_TS_QUOTAS DBA_TS_QUOTAS 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 użytkownika bazy danych Zawiera nazwę, identyfikator, domyślną przestrzeń tabel, tymczasową przestrzeń tabel i datę utworzenia aktualnego użytkownika Zawiera nazwę przestrzeni tabel, liczbę bajtów użytych, wymiar kwoty w bajtach lub UNLIMITED, liczbę bloków użytych i wymiar kwoty użytkownika podany w blokach lub UNLIMITED To samo co USER_TS_QUOTAS dla wszystkich użytkowników w bazie danych SELECT ** FROM user_ts_quotas; SELECT ** FROM all_users;

Autoryzacja użytkowników Autoryzacja przez bazę danych Oracle - w celu przyłączenia się do bazy danych wymagane jest wprowadzenie nazwy i hasła użytkownika Oracle Autoryzacja przez system operacyjny - użytkownicy przyłączają się do bazy danych bez wprowadzania swoich nazw i haseł, użytkownik jest identyfikowany na podstawie konta w systemie operacyjnym Autoryzacja za pomocą usługi sieciowej DCE, Kerberos, SESAME Autoryzacja wielowarstwowa za pomocą serwera aplikacji (np. Oracle Wallet) Autoryzacja za pomocą protokołu Secure Socket Layer (SSL) Autoryzacja administratora bazy danych (przez system operacyjny albo za pomocą plików z hasłami)

Uprawnienia (przywileje), role, profile Uprawnienia systemowe zezwalają użytkownikowi na wykonywanie w bazie danych operacji określonego typu. Uprawnienia obiektowe zezwalają użytkownikowi na wykonanie określonych operacji na konkretnym obiekcie bazy danych. Uprawnienia mogą być kontrolowane przy pomocy ról, które stanowią nazwane zbiory uprawnień. Uprawnienia do wykorzystania konkretnych zasobów fizycznych systemu (procesor, pamięć, itp.) mogą być kontrolowane za pomocą profili.

Uprawnienia systemowe - przykłady CREATE TABLE DROP ANY VIEW EXECUTE ANY PROCEDURE CREATE SESSION zezwala użytkownikowi na tworzenie relacji w jego własnym schemacie zezwala użytkownikowi na usuwanie dowolnych perspektyw zezwala użytkownikowi na wykonywanie dowolnych procedur PL/SQL zezwala użytkownikowi na przyłączenie się do bazy danych ALTER SYSTEM zezwala użytkownikowi na wydawanie poleceń ALTER SYSTEM

Informacje o aktualnych uprawnieniach systemowych Perspektywy słownika bazy danych USER_SYS_PRIVS SESSION_PRIVS SQL> SELECT ** FROM USER_SYS_PRIVS; GRANTEE PRIVILEGE ADM -------------------------- -------------------------------------------- ---------- SYS SYS DELETE ANY TABLE NO NO SYS SYS INSERT ANY TABLE NO NO SYS SYS SELECT ANY TABLE YES YES SYS SYS UNLIMITED TABLESPACE YES YES SYS SYS UPDATE ANY TABLE NO NO SYSTEM UNLIMITED TABLESPACE YES YES

Typy uprawnień obiektowych SELECT UPDATE INSERT ALTER DELETE EXECUTE INDEX zezwala na wydawanie poleceń SELECT FROM dla obiektu (relacja, perspektywa, migawka, sekwencer) zezwala na wydawanie poleceń UPDATE dla obiektu (relacja, perspektywa) zezwala na wydawanie poleceń INSERT dla obiektu (relacja, perspektywa) zezwala na wydawanie poleceń ALTER dla obiektu (relacja, perspektywa, sekwencer) i CREATE TRIGGER dla obiektu (relacja) zezwala na wydawanie poleceń DELETE FROM dla obiektu (relacja, perspektywa) lub TRUNCATE (relacja) zezwala na wydawanie poleceń EXECUTE dla obiektu (procedura, funkcja) zezwala na wydawanie poleceń CREATE INDEX dla obiektu (relacja) REFERENCES ALL zezwala na wydawanie poleceń CREATE i ALTER TABLE definiujących klucz obcy dla obiektu (relacje) wszystkie przywileje dla danego obiektu

Nadawanie uprawnień obiektowych Polecenie GRANT GRANT ALL ALL uprawnienie [[,, uprawnienie,......]] ON ON obiekt TO TO PUBLIC rola rola [[,, rola,......]] użytkownik [[,, użytkownik,......]] [[ WITH GRANT OPTION ]; ]; GRANT SELECT ON ON pracownicy TO TO DEMO, SCOTT; GRANT SELECT, INSERT, UPDATE (PLACA_POD) ON ON pracownicy TO TO PUBLIC;

Informacje o aktualnych uprawnieniach DBA_TAB_PRIVS DBA_COL_PRIVS USER_TAB_PRIVS USER_TAB_PRIVS_MADE USER_TAB_PRIVS_RECD USER_COL_PRIVS USER_COL_PRIVS_MADE USER_COL_PRIVS_RECD Wszystkie uprawnienia obiektowe Wszystkie uprawnienia do poszcz. atrybutów Uprawnienia obiektowe, których użytkownik jest właścicielem, nadającym lub uprawnionym Uprawnienia obiektowe do obiektów będących własnością użytkownika Uprawnienia obiektowe, które użytkownik otrzymał Uprawnienia dla atrybutów, których użytkownik jest właścicielem, nadającym lub uprawnionym Uprawnienia do atrybutów będących własnością użytkownika Uprawnienia do atrybutów, które użytkownik otrzymał SELECT ** FROM USER_TAB_PRIVS; DESC USER_COL_PRIVS

Odbieranie uprawnień obiektowych Polecenie REVOKE REVOKE ALL ALL uprawnienie [[,, uprawnienie,......]] ON ON obiekt FROM PUBLIC rola rola [[,, rola,......]] użytkownik [[,, użytkownik,......]] [[ CASCADE CONSTRAINTS ]; ]; REVOKE SELECT ON ON pracownicy FROM SCOTT; REVOKE ALL ALL ON ON pracownicy FROM PUBLIC; Klauzula CASCADE CONSTRAINTS usuwa wszystkie ograniczenia integralnościowe, zdefiniowane przy pomocy odbieranego przywileju REFERENCES

Role Rola jest nazwanym zbiorem uprawnień zarówno systemowych, jak i obiektowych. Role upraszczają zarządzanie uprawnieniami dla dużych zbiorów użytkowników o podobnej charakterystyce (np. pracownicy działu kadr, zarząd, dział marketingu). Zmieniając uprawnienia należące do roli, zmienia się uprawnienia wszystkich użytkowników do niej przypisanych. W bazie danych zdefiniowane są zawsze role standardowe: CONNECT, RESOURCE, DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE, SELECT_CATALOG_ROLE, DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE Praktycznie każdemu tworzonemu użytkownikowi przydziela się role CONNECT i RESOURCE.

Korzystanie z ról Utworzenie roli CREATE ROLE nazwa_roli [[ IDENTIFIED BY BY hasło ]; ]; Włączenie i wyłączenie roli SET SET ROLE nazwa_roli [[ IDENTIFIED BY BY hasło ]] ALL ALL [[ EXCEPT nazwa_roli,......]] NONE; Nadanie roli użytkownikowi GRANT nazwa_roli TO TO użytkownik [[ WITH ADMIN OPTION ]; ]; CREATE ROLE KIEROWNIK IDENTIFIED BY BY trudne_haslo; GRANT ALL ALL ON ON PRACOWNICY TO TO KIEROWNIK; GRANT KIEROWNIK TO TO Kowalski WITH ADMIN OPTION;

Informacje o rolach i uprawnieniach USER_ROLE_PRIVS ROLE_ROLE_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS SESSION_ROLES Role przyznane użytkownikowi Role przyznane innym rolom Uprawnienia systemowe przyznane rolom Uprawnienia obiektowe przyznane rolom Role użytkownika aktywowane w bieżącej sesji SELECT ROLE, TABLE_NAME, PRIVILEGE FROM ROLE_TAB_PRIVS; SELECT ** FROM SESSION_ROLES;

Profile Profile są wykorzystywane do kontroli użytkowania zasobów systemowych i fizycznych. Zasobami systemowymi są: czas procesora, operacje I/O, czas bezczynności, czas trwania sesji, równoczesne sesje. Kiedy przekroczony zostanie limit zasobów określony przez profil, wtedy: aktualne polecenie jest wycofywane, dozwolone jest COMMIT i ROLLBACK, sesja zostaje zakończona. Profile służą również do zarządzania hasłami: pozwalają administratorowi na ustalanie czasu życia haseł, czasu blokowania konta, liczby nieudanych prób zalogowania przed zablokowaniem konta, itp.

Synonimy Synonim to alternatywna nazwa dla obiektu bazy danych Synonimy prywatne - obowiązują tylko jednego użytkownika, mogą być tworzone przez każdego użytkownika. Synonimy publiczne - obowiązują członków grupy PUBLIC, czyli wszystkich użytkowników. Tylko użytkownicy dysponujący odpowiednimi prawami mogą tworzyć synonimy publiczne. CREATE [[ PUBLIC ]] SYNONYM [[ użytkownik ].nazwa_synonimu FOR [[ użytkownik ].nazwa_obiektu; DROP [[ PUBLIC ]] SYNONYM [użytkownik].nazwa_synonimu; CREATE SYNONYM EMP FOR SCOTT.EMP;