Database
 sql >> Baza danych >  >> RDS >> Database

Podejścia do bezpieczeństwa w modelowaniu danych. Część 4

Jest to czwarta z naszej wieloczęściowej serii poświęconej modelowaniu danych pod kątem bezpieczeństwa informacji oraz charakterystyk danych. Prosty model danych dla fikcyjnej witryny internetowej obsługującej organizacje o wspólnych zainteresowaniach (kluby obserwacji ptaków itp.) dostarczył nam treści do badania modelowania danych z punktu widzenia bezpieczeństwa.

W sztuce Oscara Wilde'a Fan Lady Windermere Lord Darlington określa cynika jako „kogoś, kto zna cenę wszystkiego i wartość niczego”. Niestety informacje w naszych bazach mogą być nieświadomie traktowane w ten sam sposób. Czy konto klienta jest warte sumy jego zakupów? Co ucierpimy, jeśli stracimy cztery godziny danych marketingowych w okresie świątecznych zakupów?

My, zajmujący się modelowaniem danych, nie będziemy dokonywać tych ocen, ale musimy przechowywać ich odpowiednie dane w imieniu osób, które to zrobią. Będziemy musieli wypełnić luki w niejawnej strukturze danych. W tym artykule zobaczymy, jak dodać ten ważny element bezpieczeństwa do naszej bazy danych.

Pokaż mi pieniądze!

Jak bardzo powinniśmy chronić każdy obiekt danych? Rozważ je w świetle Poufności , Uczciwość i Dostępność — kluczowe cechy decydujące o bezpieczeństwie systemu informatycznego. Musimy również uwzględnić różnicę między tymi środkami na zasadzie „wewnętrznej” i tego, jak bardzo te dane mogą wpływać na bezpieczeństwo.

Są dwa powody, aby to zrobić. Po pierwsze, pomoże nam zobaczyć, jak chronić dane w naszej klubowej bazie danych. Czy niektóre tabele powinny być szyfrowane? Wstawić inne schematy? Być może w dalszej części dołączymy kontrolki wirtualnej prywatnej bazy danych? Informacje te pomogą nam wybrać odpowiednie zabezpieczenia.

Po drugie, rozważymy dane z surowej perspektywy księgowej:jaka jest ich całkowita wartość? Co możemy stracić w przypadku uszkodzenia danych? Jaka jest nasza odpowiedzialność w przypadku ujawnienia danych osobowych? Kiedy dodajemy te informacje do naszego schematu, do naszych przechowywanych danych dodajemy krytyczną metrykę:dolary i centy. Pozwala to osobom płacącym rachunki określić, na ile mogą sobie pozwolić na bezpieczeństwo – i, w ujęciu pieniężnym, ile to jest warte.

Wszystkie relacje są określone

Przypomnijmy stan naszego modelu. Od ostatniego artykułu struktura danych została wypełniona. Znajdują się tam osoby, kluby, członkostwo, zdjęcia, albumy i treści. Jak się ze sobą wiążą. Ten schemat jest gotowy do przechowywania danych z wyraźnie przechwyconymi relacjami, podczas gdy niejawne relacje zostały wyeliminowane w miarę możliwości.



Przypisywanie wartości i wrażliwości

Teraz dowiemy się, jak umieścić liczby w danych. Naprawdę nie możemy dołączyć singla wartość do elementu danych, który informuje nas, jak bardzo go chronić. Nie możemy jednak – i nie musimy – wchodzić w zbiór metryk. Skoncentrujemy się na tym, ile dany fragment danych może dla nas zarobić i ile może nas kosztować utrata lub ujawnienie tych danych.

Używamy w tym celu terminów „wartość” i „wrażliwość” – miara dodatnia i ujemna, jeśli wolisz. Wartość jest często rozważana w kategoriach przyszłej wartości lub szansy. Wrażliwość jest bardzo defensywna; odnosi się do ryzyka na poziomie finansowym (kary regulacyjne lub prawne) oraz utraty reputacji lub wartości firmy.

Wycena odnosi się bezpośrednio do uczciwości i Dostępność . Ocenimy to pod kątem korzyści, jakie mogą wygenerować dane lub jakie szkody zostaną wyrządzone, jeśli dostęp do nich zostanie utracony. Zajmujemy się wrażliwością głównie w kategoriach poufności , który musi być mierzony szkodą lub odpowiedzialnością, jeśli zostanie ujawniona.

Wspólna struktura wyceny i wrażliwości

Rozważmy teraz wycenę i wrażliwość na naszą bazę danych. Kiedy ponownie przyglądamy się modelowi danych, okazuje się, że te cechy odnoszą się tylko do klubu lub osoby. Klub lub osoba korzysta z wartości czegoś i cierpi, gdy coś wrażliwego zostanie upublicznione. Dlatego każda z tych ocen jest uchwycona w odniesieniu do klubu lub osoby. patrząc na nasze jednostki danych, upewnimy się, że każdy z nich, który ma wartość (korzyść), niesie ze sobą również wrażliwość (ryzyko) i odwrotnie. Tak więc każdy zaangażowany podmiot będzie miał oba, oddzielne pola Wyceny i Wrażliwości. W większości przypadków będą one opcjonalne lub niewykonane. Oba będą również ważone w kategoriach pieniężnych:wartość waluty, z dokładnością do setnych części dolara amerykańskiego. (Dla jasności użyjemy tylko jednej waluty.) Świętuj to lub opłakuj, pieniądze są naszym jedynym użytecznym wskaźnikiem dla obu. Aby wykorzystać tę cechę wspólną, nazwiemy je „Ważnością”.

Jako osoby zajmujące się modelowaniem danych, nie możemy sami stawiać na to liczb. Nawet jako operator witryny lub bazy danych nie wiemy wystarczająco dużo, aby przypisać te wartości; poza tym dane nie są całkowicie nasze. W przypadku danych specyficznych dla klubu musimy pozwolić temu klubowi przypisać swoje poziomy ważności i zasady korzystania z tych poziomów. Następnie stosujemy ich reguły do ​​ich danych.

Zacznijmy od typów podmiotów, które kluby mogą przypisać.

Dane klubu

Podmiotami Klubu są:

  • Klub
  • Klub_Biuro
  • Oficer
  • Członek
  • Album
  • Zdjęcie_albumu
  • Zdjęcie

Dodamy Valuation i Sensitivity kolumny do każdego z nich. Ponieważ te kolumny są dołączone do Klubu , ich nazwy są specyficzne – m.in. club_sensitivity .

Oto nasz zestaw tabel fokusowych dla Klubu , w tym Osoba :



Dane osobowe

Teraz musimy zwrócić się do Person podmiot. Znowu nie przypisujemy tutaj wartości – to jest prerogatywa osoby. Oczywiście musimy dodać kolumny Ważność do Osoby . Ale aby lepiej wspierać prywatność osobistą, zamierzamy dokładniej pokroić ten podmiot. W końcu prywatność jest kluczem do wrażliwości danych.

Najpierw dodamy nową kolumnę o nazwie monicker to jest jak nazwa użytkownika lub alias. Członkowie klubu mogą używać go do identyfikacji zamiast swoich prawdziwych nazwisk. Dostarczymy parę kolumn wyceny/wrażliwości dla powiązania nazwa-monikarz. Będą to person_name_valuation i person_name_sensitivity . Reszta pól jest kontrolowana przez te dwie pary.

Osoba działalność klubowa jest tak samo interesująca jak Klub 's. Dlatego dodamy te same pola ważności do członka i Oficer .

Teraz możemy dodać person_importance pola do Zdjęcia podmiot, ale spójrz na treść_zdjęciowa kolumna. Zdjęcie może obejmować wiele osób i jest to część tego, co przechowujemy w photo_content Dlatego umieścimy pola ważności na treści_zdjęć. zamiast na zdjęciu.

Model „uwrażliwiony”

Zmodyfikowaliśmy nasz model danych, aby przypisać wartość i wrażliwość danych wszędzie tam, gdzie jest to potrzebne. Oto nasz ostateczny schemat.

Staraliśmy się unikać zniekształcania oryginalnego schematu dodatkowymi relacjami lub ograniczeniami. Jest to krytyczne, ponieważ traktujemy ten schemat jako dokładną analizę rzeczywistych danych z rzeczywistymi regułami biznesowymi.




Trudno jest przywiązać do danych jakiekolwiek nieodłączne znaczenie. Gorzej, jeśli próbujesz zastosować go do bazy danych bez wsparcia w modelu lub schemacie. W tym artykule przedstawiono technikę dołączania tych informacji w sposób, który nie zakłóca wewnętrznych części biznesowych modelu.

Elastyczność i możliwość modyfikacji Wartości i Wrażliwość są tutaj kluczowe cele. Gdy zaczniesz stosować rzeczywiste wartości do tych atrybutów, odkryjesz, że musisz je zmodyfikować i zrewidować swoje podejście. To jeden z powodów, dla których warto indywidualnie przypisywać te wartości do samych tabel, zamiast je wykluczać. Minusem jest to, że staje się to dość skomplikowane ze względu na wiele lokalizacji tych wartości. Może to nawet pokazać się w sposobie użytkowania modelu. W naszym następnym artykule podejmiemy wieloaspektową kwestię zarządzania złożonością w zakresie bezpieczeństwa informacji.

Prosimy o pozostawienie wszelkich komentarzy lub krytyki w naszym polu combox.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolejny powód, aby unikać sp_updatestats

  2. SQL Wybierz Wyraźne

  3. Niespodzianki dotyczące wydajności i założenia:DATADODANO

  4. Podłączanie Talend w systemie Windows do bazy danych ODBC

  5. Jak automatyczne aktualizacje statystyk mogą wpływać na wydajność zapytań