WOJSKOWA AKADEMIA TECHNICZNA
im. Jarosława Dąbrowskiego
WYDZIAŁ CYBERNETYKI
Bezpieczeństwo i Ochrona Danych
Opis projektu
Tytuł:
System zabezpieczeń bazy danych
dla organizacji farmaceutycznej.
Prowadzący: dr inż. Gustaw Konopacki
Autorzy:
Konrad Stelmach
Kamil Wawruch
Piotr Szadkowski
Józef Sroczyński
Łukasz Świerżewski
Grupa: I6B3S1
Spis treści
1.1.Opis działalności organizacji
2.Projekt i implementacja bazy danych
................................................................................................
3.Charakterystyki informacyjne i bezpieczeństwa
...............................................................................
3.1.Wykaz danych zawartych w BD
................................................................................................
3.3.Dodatkowe uwarunkowania dostępu do danych
.......................................................................
2
1 Opis organizacji
Organizacja, którą zespół wybrał do przygotowania systemu zabezpieczeń jest to
międzynarodowa firma zajmująca się handlem i logistyką związaną z farmaceutyką. System dla tej
firmy jest rozległy i doskonale nadaje się do przygotowywania na jego przykładzie kompleksowego
mechanizmu zabezpieczeń i kontroli dostępu.
1.1
Opis działalności organizacji
Organizacja zajmuje się na przechowywaniem produktów farmaceutycznych w
magazynach, rozprowadzaniem tych produktów do punktów dystrybucyjnych, reprezentowanych
przez konsultantów oraz zakupem produktów od producentów. Żeby sprostać tym zadaniom,
podzielona jest na kilka oddziałów.
Pierwszym z nich jest centrala. Zajmuje się organizacją działania, odpowiada za
koordynację pozostałych oddziałów. W jej obrębie funkcjonuje też zarząd i dyrekcja firmy. Centrala
nadzoruje funkcjonowanie całości, odpowiada za transakcje z podmiotami zewnętrznymi oraz
transfer towaru do odległych placówek dystrybucyjnych. Obsługuje też zadania związane z
zatrudnieniem w instytucji.
Drugim oddziałem są magazyny. Zajmują się logistyką i przechowywaniem towarów. Są
odpowiedzialne za wydawanie produktów placówkom handlowym i przyjmowaniem nowych od
fabryk farmaceutycznych. W obrębie magazynu działają też pracownicy odpowiedzialni za
kontakty i organizowanie transportu między firmą macierzystą a fabryką produkującą farmaceutyki.
Kolejnym oddziałem jest księgowość, zajmująca się finansami firmy. Prowadzi wszelkie
rejestry, przygotowuje raporty dla centrali. Zajmuje się też płacami dla pracowników.
Ostatnim elementem organizacji, funkcjonującym na polu działalności rynkowej jest grupa
przedstawicieli handlowych. Są oni rozrzuceni po całym świecie, i przy realizacji zamówień w
swoich okręgach kontaktują się z centralą, która koordynuje działania magazynów w celu
dostarczenia handlowcom potrzebnych towarów.
Dodatkowym pracownikiem jest administrator systemu informatycznego. Nie jest on
bezpośrednio związany z żadnym z oddziałów, współpracuje ze wszystkimi na równi. Jego
głównym zadaniem jest pielęgnowanie systemu i ustalanie uprawnień dla konkretnych
pracowników.
3
1.2
Opis funkcjonalny
W organizacji wyszczególniono następujące stanowiska (role) pracowników:
•
menedżer magazynu
Osoba odpowiedzialna za zarządzanie magazynem i jego pracownikami. Jest ona
bezpośrednim zwierzchnikiem magazynierów. Może przydzielać im zadania, weryfikować
wykonaną pracą. Powinien także dbać o prawidłowe zagospodarowanie przestrzeni magazynowej.
•
magazynier
Szeregowy pracownik magazynu. Są mu przydzielane zadania przyjmowania i wydawania
towaru oraz wykonywanie prac fizycznych na terenie magazynu.
•
menedżer fabryki
Pracownik zewnętrzny, będący emisariuszem firmy farmaceutycznej w modelowanej
organizacji. Za jego pośrednictwem realizowane są zamówienia uzupełniające stan magazynów.
Jest odpowiedzialny za przyjmowanie zgłoszeń i dostarczanie towaru.
•
menedżer księgowy
Główny księgowy, zarządzający podrzędnymi księgowymi i nadzorujący ich pracę. Ma
również uprawnienia do wykonywania operacji specjalnych, takich jak raporty, statystyki etc.
•
księgowy
Zatrudniony w firmie, podległy bezpośrednio menedżerowi księgowych. Wykonuje proste
prace polegające na księgowaniu wpłat oraz wypłat na podstawie wystawionych faktur.
•
menedżer centrali
Koordynator wszystkich placówek i działań poza obrębem firmy. Kontaktuje się z
menedżerami konkretnych fabryk i magazynów w celu uzupełniania stanów magazynowych
organizacji. Jest też odpowiedzialny za zatrudnianie wykwalifikowanej kadry, spełniającej kryteria
stawiane przez instytucję.
•
przedstawiciel handlowy
Pracownik terenowy, bądź właściciel konkretnego punktu dystrybucyjnego. Czas pracy
normowany jest przez strefę czasową, w której się znajduje. W zakresie jego obowiązków
spoczywa pozyskiwanie klientów hurtowych i detalicznych.
4
•
członek zarządu
Osoba nadzorująca pracę firmy i podejmująca decyzje na szczeblu strategicznym. Wpływa
na kierunek rozwoju organizacji. Ma wgląd do bezpośredniej działalności wszystkich placówek
dystrybucyjnych i magazynowych.
•
prezes
Przedstawiciel zarządu ze szczególnymi uprawnieniami, odpowiedzialny za podejmowane
przez zarząd decyzje.
•
administrator systemu
Informatyk odpowiedzialny za zarządzanie uprawnieniami w systemie i nadzorowanie
prawidłowego funkcjonowania całości infrastruktury informatycznej w firmie.
1.3
Założenia systemu
Projektowany system ma za zadanie wspierać procesy biznesowe organizacji. Wspomaga
zarówno działalność zarządczą odpowiednich organów, jak i podrzędne zadania i operacje na
niższych szczeblach. Ponadto pozwala na przegląd analiz i raportów dotyczących funkcjonowania
instytucji, co ma za zadanie ułatwić podejmowanie decyzji strategicznych zarządowi.
System składa się z modułów odpowiedzialnych za obsługę poszczególnych części
organizacji, między innymi magazyn, księgowość, centrala itp. Każdy komponent musi zapewnić
funkcjonalności wspierające odpowiedni organ. W związku z tym poszczególne działy firmy
dysponują następującymi narzędziami w systemie:
•
magazyn – przyjmowanie i wydawanie towaru, porządkowanie magazynu, rejestr towarów
znajdujących się na stanie, rozdzielanie zadań pracownikom
•
księgowość – rejestrowanie wpłat i wypłat,
•
centrala – zarządzanie zamówieniami (hurtowymi i detalicznymi), zarządzanie zasobami
ludzkimi, przygotowywanie raportów dla zarządu,
•
administracja systemu – zarządzanie uprawnieniami w systemie i kontrola dostępu
użytkowników.
5
2 Projekt i implementacja bazy danych
Postać bazy danych jest ściśle związana z wymaganiami na system, jakie wynikają z 1
rozdziału czyli wymagań biznesowych przedsiębiorstwa. Jednocześnie jest ona dostosowana od
pełnej kontroli dostępu, opisanej dokładniej w rozdziale 3.
2.1
Model logiczny
Model logiczny bazy danych, ze względu na jego rozmiar został załączony w pliku
graficznym o nazwie „baza_log.jpg”. Plik został dostarczony razem z dokumentacją.
2.2
Model fizyczny
Model fizyczny bazy danych, ze względu na jego rozmiar został załączony w pliku
graficznym o nazwie „baza_fiz.jpg”. Plik został dostarczony razem z dokumentacją.
2.3
Implementacja
Skrypt generujący bazę danych, ze względu na jego objętość został załączony w osobnym
pliku tekstowym pod nazwą „baza_biod.sql”. Plik został dostarczony razem z dokumentacją.
6
3 Charakterystyki informacyjne i bezpieczeństwa
Zgodnie z założeniami, dostęp do bazy danych, oprócz uwierzytelniania użytkownika na
podstawie hasła, został oparty o macierzowy model dostępu do danych, kontrolowany przy pomocy
metody RBAC-3. Na posiadane przez użytkownika hasło narzucono dodatkowe ograniczenia, do
których należą długość hasła nie krótsza niż 8 znaków oraz jego budowa składająca się
obowiązkowo z wielkich i małych liter oraz cyfr. Dla każdej z wyodrębnionych ról
określono szczegółowe zasady dostępu do poszczególnych komórek tabel bazy danych.
3.1
Wykaz danych zawartych w BD
Przechowywane dane w systemie bazodanowym można podzielić na cztery kategorie,
dotyczące kolejno:
–
danych osobowych,
–
transakcji,
–
danych magazynowych,
–
danych księgowych.
W ramach danych osobowych utrwalane są podstawowe informacje o pracownikach organizacji
takie jak imię i nazwisko pracownika, data przyjęcia do pracy czy wynagrodzenie. Dodatkowo
zapisywane są dane dotyczące aktualnego stanowiska, które zajmuje pracownik oraz związanych z
nim godziny pracy oraz strefy czasowej.
Transakcje dotyczą przede wszystkim danych związanych z liczbą (ilością) zamówionych
produktów, rodzajem (hurt, detal) czy datą złożenia zamówienia przez klienta, o którym również
przechowywane są podstawowe informacje. Ponadto zapisywane są dane o bieżącym stanie
zamówienia. Stan w jakim może znaleźć się zamówienie jest rozróżniany względem jego rodzaju.
I tak dla zamówień detalicznych wyróżnione zostały następujące stany: zamówiono, w realizacji,
wysłano, zamknięte, anulowane, zaś w przypadku produktów zamawianych hurtowo,
wyodrębniono stany takie, jak: przyjęte, przesłane, w realizacji, zamknięte czy anulowane.
1 Poszczególne role opisane zostały w podpunkcie 1.2 niniejszej dokumentacji.
7
Kolejna kategoria danych obejmuje dane magazynowe, z którymi związane są informacje o
poszczególnych produktach oraz ich lokalizacji w magazynach posiadanych przez organizację.
Głównymi informacjami o produktach są ich nazwa, cena detaliczna oraz jednostkach, w jakich są
sprzedawane. W celu odnalezienia położenia produktu w magazynach, przechowywane są dane
związane z lokalizacją samego magazynu, a także określające konkretną sekcję oraz miejsce w
sekcji, do której należy każdy z produktów. Dodatkowo w ramach informacji o magazynach
zapisane są dane informacja opisujące liczbę składowanych produktów w każdej z sekcji.
Jednocześnie, w ramach danych magazynowych, zapisywane są zadania i operacje
wykonywane w magazynach przez pracowników magazynu (magazynierów). Dane te uwzględniają
opis zadania oraz stopień jego realizacji. Informacje o przeprowadzonych operacjach
magazynowych sprowadzają się do zapisu danych o dokumentach PZ i WZ, dacie realizacji oraz
stron uwzględnionych w dokumentach.
Ostatnia z kategorii, czyli dane księgowe, w swym zakresie obejmuje jedynie dane
dotyczące wysokości wpłat bądź wypłat. Dodatkowo uwzględniana jest data wprowadzanych
zmian.
3.2
Zakresy i ograniczenia
Poszczególne zakresy i ograniczenia wynikają wprost z tabeli uprawnień zaprojektowanej
przy wykorzystaniu arkusza kalkulacyjnego Excel (Tabela_uprawnien.xls) załączonego do
dokumentacji. Poniżej przedstawione zostały jedynie objaśnienia przyjętych oznaczeń i założeń
dotyczących utworzonej tabeli uprawnień. Są one następujące:
•
kolejne kolumny to wyodrębnione role (klasy użytkowników)
•
poszczególne wiersze pierwszej kolumny to wszystkie pola kolejnych tabel bazy danych
•
w komórkach tabeli uprawnień dotyczących tzw. bitów uprawnień przypisana została jedna
z dwóch możliwych wartości:
- 0, gdy brak uprawnienia,
- 1, gdy uprawnienie jest przyznane
gdzie kolejne pola bitowe oznaczają:
_ _ _ _ _ _ _
6 5 4 3 2 1 0
8
0 - czytanie własnych [ RO - Read Own ]
1 - czytanie wszystkich [ RA - Read All ]
2 - dodawanie [ AD - Add ]
3 - edycja własnych [ EO - Edit Own ]
4 - edycja wszystkich [ EA - Edit All ]
5 - usuwanie własnych [ DO - Delete Own ]
6 - usuwanie wszystkich [ DA - Delete All ]
•
kolejne cztery rubryki nakładają dodatkowe ograniczenia dostępu do danych
poszczególnych pól w tabelach, należą do nich:
- regexp – wyrażenie regularne
- condition – warunek zmieniający zakres wartości typu pola tabeli
- enumeration – określenie podzbioru elementów typu wyliczeniowego (w skrócie enum)
- id_query – klucz obcy do tabeli zapytań składowanych w systemie. Dopuszczalne są
wyłącznie zapytania selekcji wybierające dane możliwe do wstawienia w dane pole –
wszystkie możliwości.
Z racji tego, że nie dla każdego z pól tabel w bazie danych powyższe ograniczenia są
konieczne ustalono, że brak dodatkowych ograniczeń będzie jawnie oznaczany znakiem '-'.
3.3
Dodatkowe uwarunkowania dostępu do danych
Ze względu na specyfikę przyjętej organizacji oraz rodzaju wykonywanej pracy przez
niektórych z jej pracowników (przedstawicieli handlowych), przyjęto dodatkowe uwarunkowania
dostępu do danych związanych ze strefą czasową. Ze względu na charakter pracy przedstawicieli
handlowych, pracujących na całym świecie w różnych sferach czasowych, ustalono, że będą mieli
dostęp do danych, w ramach swoich uprawnień, tylko i wyłącznie w godzinach swojej pracy czasu
lokalnego (tabela employee pole timezone).
9