Warszawa dn. 03.12.2009
WOJSKOWA AKADEMIA TECHNICZNA
Dokumentacja projektowa z
przedmiotu: Ochrona i Bezpieczeństwo
Danych
Wykonujący :
Michał Werner
Bartosz Wiśniewski
Kamil Kurek
Tomasz Talewicz
gr. I6B3S1
1.
Treść zadania
Dla wybranej przez siebie dowolnej organizacji opracować system
dostępu do bazy danych o party na macierzowym modelu dostępu do
danych z uwzględnieniem uwierzytelniania użytkownika na podstawie
hasła i jednej z następujących (do wyboru) metod kontroli dostępu do
danych: uznaniowej (DAC), obowiązkowej (MAC) lub opartej na rolach
(RBAC). W ramach rozwiązania zadania należy:
•
opracować koncepcję systemu,
•
wykonać projekt systemu,
•
zaimplementować w dowolnym języku oraz przetestować utworzony
system dostępu do bazy danych.
1.
Opis organizacji
W ramach realizacji projektu będziemy zajmować się tworzeniem
Akademickiego Systemu Obsługi Studentów (ASOS). System ma za
zadanie ułatwić użytkownikowi realizację jego najczęstszych zadań –
zarówno jeżeli chodzi o studenta, pracownika dydaktycznego czy też
pracownika dziekanatu. Może to być np. planowanie planu zajęć przez
studenta, zamieszczanie prezentacji z wykładów przez wykładowcę czy
też sprawdzanie stanu zaległych opłat przez pracownika księgowości.
Wszystko to ma się naturalnie odbywać zgodnie z określonymi zasadami
bezpieczeństwa dostępu do danych.
W ramach organizacji jaką jest uczelnia wyższa, wyróżniamy
następujące stanowiska, które będą miały istotne znaczenie z punktu
widzenia tworzonego systemu bezpieczeństwa danych:
lp.
Stanowisko
1
Kandydat
2
Student
3
Pracownik naukowo-dydaktyczny
4
Pracownik inżynieryjno-techniczny
5
Pracownik dziekanatu
6
Dziekan
7
Pracownik działu finansowego
8
Pracownik biura przepustek
9
Portier
ASOS będzie wykorzystywał metodę kontroli dostępu do danych opartą
na rolach (RBAC). Wszystkie zdefiniowane role jakie mogą zostać
przypisane użytkownikom systemu zostaną przedstawione w punkcie 4.
2.
Projekt bazy danych
Projekt bazy danych został wykonany przy użyciu darmowego narzędzia
jakim jest MySQL Workbench 5.1.
Rys. 1. Projekt bazy danych dla systemu ASOS
Również za pomocą MySQL Workbench 5.1 wygenerowany został
skrypt tworzący wszystkie tabele, wraz z przykładowymi danymi. W
związku z tym, iż objętość skryptu jest stosunkowo duża, jego treść nie
została zamieszczona w dokumentacji. Ponadto aplikacja ASOS jest w
budowie, przez co dane w bazie danych są na chwilę obecną niepełne.
Obsługa bazy danych odbywa się poprzez wykorzystanie innego, także
darmowego narzędzia – SQL Developer.
Rys. 2. Zrzut ekranu z programu SQL Developer. Po prawej stronie widoczne jest
połączenie z bazą danych MySQL wraz z listą utworzonych tabel przy pomocy
wygenerowanego wcześniej skryptu.
W prezentowanym rozwiązaniu przyjęliśmy, że wszystkie dane
występujące w systemie ASOS, które mają podlegać prawom dostępu,
będą reprezentowane przez usługi funkcjonalne jakie użytkownik, o
określonej roli, może wykonać bądź też nie.
Prawa dostępu do wykonania usług są definiowane w tabeli Access.
Dostęp do określonych zasobów jest uzależniony od tego czy dana rola
ma prawo do wykonania danej usługi systemowej - tabela Services.
3.
Charakterystyka informacyjna stanowisk
Poniżej zaprezentowano tabelę z wykazem stanowisk oraz ról jakie
mogą
zostać
przypisane
użytkownikom
pełniącym
określone
stanowiska:
Stanowisko
Role
Kandydat
Kandydat
Student
Student
Pracownik naukowo-dydaktyczny
Wykładowca
Asystent
Pracownik inżynieryjno techniczny
Administrator systemu
Konserwator systemu
Programista
Pracownik dziekanatu
Kierownik dziekanatu
Referent
Planista
Referent ds. studenckich
Dziekan
Dziekan wydziału
Prodziekan ds. studenckich
Pracownik działu finansowego
Kierownik działu finansowego
Referent księgowy
Pracownik biura przepustek
Pracownik biura przepustek
Portier
Portier
Dane jakie są niezbędne do wykonywania określonych zadań przez
użytkowników przedstawia kolejna tabela, zawierająca już nie wykaz
stanowisk lecz wykaz ról jakie mogą zostać przypisane użytkownikom
systemu pełniącym różne stanowiska.
Przyjmujemy następujące oznaczenia:
•
- gdy użytkownik nie ma jakichkolwiek praw dostępu do określonych
danych
•
0 gdy użytkownik ma prawa odczytu danych
•
1 gdy użytkownik ma prawa odczytu z zapisem danych
Materiały
do
wykładów
Wiadomości
Oceny z
zaliczeń
Oceny ze
sprawozdań
Plan
zajęć
Zaliczenia Opłaty
Materiały
z zajęć
Aktualności
Pisma do
dziekanatu
Przypomnienia
Dane
osobiste
Ogłoszenia
Kandydat
-
-
-
-
0
-
0
-
0
0
1
1
-
Student
0
1
0
0
1
0
0
0
0
0
1
1
1
Pracownik
naukowo-
dydaktyczny
Wykładowca
1
1
1
-
0
1
-
-
0
0
1
1
-
Asystent
-
1
-
1
0
-
-
1
0
0
1
1
-
Pracownik
inżynieryjno-
techniczny
Adm.
Systemu
1
1
1
1
1
1
1
1
1
1
1
1
1
Kons.
Systemu
1
1
-
-
1
-
-
1
1
-
1
1
1
Programista
0
1
0
0
1
0
0
0
1
0
1
1
0
Pracownik
dziekanatu
Kierownik
dziekanatu
-
1
1
-
0
0
0
-
0
0
1
1
0
Referent
-
1
-
-
0
-
-
-
1
1
1
1
-
Planista
-
1
-
-
1
-
-
-
0
-
1
1
-
Referent ds.
studenckich
-
1
0
-
0
-
-
-
1
1
1
1
-
Pracownik
działu
finansowego
Kierownik
działu
finansowego
-
1
-
-
0
-
0
-
0
0
1
1
-
Referent
księgowy
-
1
-
-
0
-
1
-
1
1
1
1
-
Pracownik biura
przepustek
-
1
-
-
0
-
-
-
1
-
1
1
-
Portier
-
-
-
-
0
-
-
-
0
-
1
1
-
Dodatkowe założenia dotyczące np. czasu w jakim użytkownik o danej roli może
wykonać wybraną usługę, są definiowane przez dodatkową kolumnę w tabeli
Access
o nazwie assertion. W kolumnie assertion będą umieszczane wywołania
dodatkowych procedur np. takiej, która sprawdzi czas odwołania się do danej
usługi. Na podstawie tego prawo dostępu danej roli zostanie przyznane bądź też
nie.