Marcin Lewandowski

Marcin Lewandowski Programista
PHP/MySQL,
poszukuję...

Temat: Dostęp do danych wrażliwych w aplikacjach webowych

Witam,

Chciałem się spytać kogoś to ma większe doświadczenie jak rozwiązujecie problem z dostępem do danych wrażliwych dla firmy. Mianowicie załóżmy, że mamy aplikację typu SAP, w której znajdują się wszystkie dane firmy, faktury, umowy cenniki itd. Chcielibyśmy teraz dać jakiemuś naszemu klientowi dostęp do np. faktur które dla niego wystawiamy. Jednak istnieje duże ryzyko, że przez jakikolwiek błąd może uzyskać dostęp do danych, których nie powinien widzieć. Czy tego typu panele wystawiać jako osobne aplikacje, które są zasilane przez serwer czy też macie jakieś inne sprawdzone rozwiązania ?

Temat: Dostęp do danych wrażliwych w aplikacjach webowych

Aż tak sie nie znam ale na logikęe wystawiaj widok z danymi których potrzebuje na nowego uzytkownika bez dostepu do niczego innego, albo tworzysz nowa baze któa jest zasilania poprzez jakieś zadania kilka razy dziennie/ raz w nocy i zawiera tylko faktury, fizycznie nie ma możliwości mieć jakiekogolwiek dostępu gdzie indziej :)
Grzegorz Kot

Grzegorz Kot Programista .NET

Temat: Dostęp do danych wrażliwych w aplikacjach webowych

Nic nie napisałeś w jakim formacie klient chce uzyskać informację.
Czy ba być jedynie interfejs i klient sam zasili tym np. swoją aplikację ?
Czy ma być to 'user friendly' już gotowa aplikacja, interfejs waszej aplikacji etc. ?

a) Serwer usług (nie wnikam w jakiej formie - WS, WCF, WebApi.. REST Full)
- wystawiasz metodę która zwraca potrzebne dane w formacie (xml, json)
plusy: klientowi przekazujesz dane w różnym formacie, lub sam prosto tworzysz dla niej prezentacje, warstwa pośrednicząca zabezpiecza bazę klient nie ma z nią styku.
Dla bezpieczeństwa dla metody pobierającej dane wystawiasz tylko "widok" z bazy i po problemie.Ten post został edytowany przez Autora dnia 08.04.16 o godzinie 17:23
Marcin Lewandowski

Marcin Lewandowski Programista
PHP/MySQL,
poszukuję...

Temat: Dostęp do danych wrażliwych w aplikacjach webowych

Klient ma mieć panel klienta tak jak jest to zrobione np. u operatorów komórkowych. Do tej pory system był wewnętrzną aplikacją z której korzystali pracownicy teraz powstała potrzeba udostępniania części informacji na zewnątrz poprzez panel klienta.

I właśnie pytanie czy:

a) aplikacja główna wystawia API poprzez które inna aplikacja będzie pobierała dane i prezentowała je klientowi,
b) całkowicie osobna aplikacja zasilana cyklicznie w dane przez główną aplikację
c) ... jakaś inna opcja ;)
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Dostęp do danych wrażliwych w aplikacjach webowych

Marcin L.:
I właśnie pytanie czy:

a) aplikacja główna wystawia API poprzez które inna aplikacja będzie pobierała dane i
prezentowała je klientowi,

API jak najbardziej tak. Trzeba tylko pamiętać aby zaszyć po stronie API czy dany zalogowany user ma prawo otrzymać dane dla danego wywołania. Też się teraz nad tym głowię trochę.
b) całkowicie osobna aplikacja zasilana cyklicznie w dane przez główną aplikację

Tak. Duży plus, że jak padnie wewnętrzna aplikacja to klient tego nawet nie zauważy. Minus jest taki, że jeżeli w planach jest możliwość zamawiania usług przez klienta to trzeba zaprojektować synchronizację w oba kierunki a nie zasilanie. API w tym wypadku wydaje się lepsze.

Tak jak pisał kolega Grzegorz można zaimplementować system w modelu trójwarstowym. Aplikacja (Warstwa I), jakakolwiek by ona nie była, prosi o coś usługę (Warstwa II) , która sprawdza czy dla danego usera można się wykonać i czy user ma prawo do danych o które prosi. Jeżeli user ma prawo/może korzystać to usługa (Warstwa II) pobiera dane z jakiegokolwiek źródła (Warstwa III), przetwarza i zwraca określonym formacie jakikolwiek by on nie był.

Rozwiązanie bardzo bezpieczne posiadające ogromną strukturę uprawnień. Nie ma możliwości aby aplikacja/klient odwoływały się bezpośrednio do źródeł danych. Tu dane mogą być przechowywane w różnych źródłach a architektura może być zmieniana w sposób transparentny dla aplikacji. Przy aplikacjach z danymi za których wyciek grozi prokuratura to chyba najbezpieczniejsze wyjście.

Sam jestem ciekawy czy są jeszcze jakieś rozwiązania serwowania danych z wysokim poziomem bezpieczeństwa dostępu do nich.Ten post został edytowany przez Autora dnia 08.04.16 o godzinie 20:22
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Dostęp do danych wrażliwych w aplikacjach webowych

Robert G.:
Aż tak sie nie znam ale na logikęe wystawiaj widok z danymi których potrzebuje na nowego uzytkownika bez dostepu do niczego innego, albo tworzysz nowa baze któa jest zasilania poprzez jakieś zadania kilka razy dziennie/ raz w nocy i zawiera tylko faktury, fizycznie nie ma możliwości mieć jakiekogolwiek dostępu gdzie indziej :)

Dostęp do obiektów bazy danych konfiguruje przy pomocy uprawnień na poziomie bazy danych. Tworzysz sobie nowego user'a w db i dajesz mu uprawnienia do wybranych obiektów w db. Nie ma potrzeby tworzenia kolejnych baz danych dla serwowania danych.



Wyślij zaproszenie do