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



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

Uprawnienia, role, synonimy

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

CREATE USER

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

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

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

Baza danych inside. Biologiczne Aplikacje Baz Danych

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

SQL 4 Structured Query Lenguage

Oracle11g: Wprowadzenie do SQL

Ćwiczenie 14 autoryzacja

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

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

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

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

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

PHP: bazy danych, SQL, AJAX i JSON

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

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

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

Bazy danych i usługi sieciowe

Projektowanie systemów baz danych

Oracle PL/SQL. Paweł Rajba.

Wykład 8. SQL praca z tabelami 5

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

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

Oracle PL/SQL. Paweł Rajba.

Język SQL, zajęcia nr 1

Przestrzenne bazy danych Podstawy języka SQL

Bazy Danych i Usługi Sieciowe

Bazy danych 10. SQL Widoki

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

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

Bazy danych 6. Klucze obce. P. F. Góra

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

Database Connectivity

Składowane procedury i funkcje

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

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

Wykład 05 Bazy danych

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

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

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

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

Administracja i programowanie pod Microsoft SQL Server 2000

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Systemowe aspekty baz

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Systemowe aspekty baz danych

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Ref. 7 - Język SQL - polecenia DDL i DML

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

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

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

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

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

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

Paweł Rajba

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

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

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

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

Programowanie w Ruby

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

Relacyjne bazy danych. Podstawy SQL

Język SQL, zajęcia nr 2

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Aspekty aktywne baz danych

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Internetowe bazy danych

SIECI KOMPUTEROWE I BAZY DANYCH

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

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Microsoft SQL Server Podstawy T-SQL

Baza danych. Modele danych

SIECI KOMPUTEROWE I BAZY DANYCH

Podstawowe informacje o bazach danych. Technologie Informacyjne

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

Zarządzanie użytkownikami bazy danych Oracle11g

Bazy danych. Polecenia SQL

Administracja i programowanie pod Microsoft SQL Server 2000

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

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

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

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

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

Wykład 2. SQL 1 Structured Query Lenguage

Transkrypt:

PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika lub ich grupy, Ograniczenia co do możliwości modyfikowania tabel, Ograniczenia dostępu do wybranych kolumn lub wierszy. PODSTAWOWE KWESTIE BEZPIECZEŃSTWA użytkownicy osoby lub programy podejmujące działania na obiektach bazy danych, posiadają uprawnienia przyznawane przez SZBD, użytkownik jest właścicielem utworzonych przez siebie obiektów, obiekty konkretne obiekty przetwarzane przez użytkowników, początkowo tabele i perspektywy, później pojedyncze kolumny, dziedziny i zbiory znaków, uprawnienia (przywileje) umożliwiają użytkownikom manipulowanie obiektami. 1

TWORZENIE KONT UŻYTKOWNIKÓW Niektóre SZBD udostępniają rozszerzenia standardu SQL pozwalające na tworzenie kont użytkowników, GRANT Autoryzuje użytkowników i role przed umożliwieniem dostępu do obiektów danych i pozwoli na ich używanie, składnia MySQL CREATE USER nazwa [IDENTIFIED BY [PASSWORD] password ] GRANT {lista_przywilejów ALL} [ON obiekt] TO {lista_użytkowników PUBLIC} [WITH GRANT OPTION]; ALTER USER nazwa ; DROP USER nazwa; GRANT - UPRAWNIENIA Uprawnienia (przywileje) które mogą być nadane użytkownikom dzielone są na: systemowe - prawo do wykonania operacji na bazie danych, np.: połączenia, manipulacji danymi czy obiektami, eksportu, etc., obiektowe - stosuje się do określonych obiektów bazodanowych. GRANT UPRAWNIENIA SYSTEMOWE GRANT CREATE TABLE TO U1; GRANT CREATE USER TO PUBLIC; GRANT DROP ANY VIEW TO U1 WITH GRANT OPTION; 2

Użytkownicy mogą otrzymać m.in. następujące uprawnienia do obiektów: SELECT, INSERT, UPDATE, DELETE, REFERENCES, REFERENCES umożliwia użycie tabel w więzach lub kluczach obcych, Jeśli chcemy nadać wszystkie przywileje charakterystyczne dla danego obiektu możemy użyć słowa ALL, Uprawnienia INSERT, UPDATE i REFERENCES mogą być nadawane dla konkretnej kolumny, jeśli brak kolumny dotyczy wszystkich, ON definiuje konkretną tabelę, bazę lub inny obiekt (np. dziedzinę), po słowie TO umieszczamy listę użytkowników, którym przyznane zostaną przywileje, ewentualnie słowo PUBLIC, jeśli przywileje mają być przyznane wszystkim użytkownikom bazy danych (nawet tym, którzy jeszcze nie zostali stworzeni), GRANT SELECT ON tabela1 TO U1; GRANT SELECT ON tabela1 TO PUBLIC; GRANT INSERT ON tabela2 TO U1 WITH GRANT OPTION; GRANT UPDATE (k1, k2) ON pracownicy TO U2; Odbiera uprawnienia do konkretnych obiektów lub poleceń systemowych nadane użytkownikom, grupom czy rolom, [GRANT OPTION FOR] {lista_uprawnień ALL} [ON obiekt] FROM {lista_użytkowników PUBLIC} {CASCADE RESTRICT}; GRANT SELECT, INSERT, UPDATE, DELETE ON tabela1 TO PUBLIC; 3

Opcja GRANT OPTION FOR cofa autoryzację do przekazywania uprawnień, Opcja RESTRICT odbiera tylko wymienione uprawnienie, Opcja CASCADE odbiera podane uprawnienia i wszystkie od nich zależne, ALTER ANY TABLE FROM U1; SELECT ON tabela1 TO U3; ALL ON tabela1 TO PUBLIC; ALL ON tabela2 TO U2 CASCADE; ROLE rozwinięcie idei użytkowników, grupy uprawnień w ramach jednego nazwanego zbioru, standard SQL nie obsługuje bezpośrednio grup użytkowników, wiele SZBD rozwiązuje ten problem rozszerzając standard SQL), Składnia PostgreSQL CREATE ROLE nazwa [ [ WITH ] option [... ] ]; ROLE CREATE ROLE abc; GRANT SELECT, UPDATE ON tab1 TO abc; GRANT abc TO U2; - przypisanie roli użytkownikowi U2 CREATE ROLE mmm WITH LOGIN PASSWORD 'jw8s0f4' VALID UNTIL '2010-01-01'; DROP ROLE abc; 4

PERSPEKTYWY Perspektywy uznawane są za jeden z mechanizmów zapewniania bezpieczeństwa i sposobów kontroli dostępu, Ograniczają bowiem dostęp do istotnych danych dla nieuprawnionych użytkowników poprzez ich ukrywanie, Utworzone perspektywy są następnie poddawane procesowi autoryzacji za pomocą instrukcji GRANT. WYKŁAD PRZYGOTOWANO NA PODSTAWIE K. Kline, D. Kline, SQL. Almanach. Opis poleceń języka, Helion, 2004, P. Wilton, J. Colby, SQL od podstaw, Helion, 2006, http://wazniak.mimuw.edu.pl/index.php?title=bazy_ danych. 5