-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!new
s.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-ex
c-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!
not-for-mail
Date: Tue, 28 Jun 2011 23:17:17 +0200
From: Lukasz <k...@a...pl[usun]>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428
Fedora/3.1.10-1.fc13 Thunderbird/3.1.10
MIME-Version: 1.0
Newsgroups: pl.comp.programming
Subject: Re: Aplikacje bazodanowe - bezpieczeństwo
References: <4e09cf5c$0$2438$65785112@news.neostrada.pl> <iuck48$ijr$1@news.onet.pl>
<iucmsh$ue8$4@solani.org> <iucnvv$1hp$1@news.onet.pl>
<iucp8s$83e$1@solani.org> <iucq9m$ake$1@news.onet.pl>
<qtrn2yav8xs.1n3xvs8cc6ljm$.dlg@40tude.net>
In-Reply-To: <qtrn2yav8xs.1n3xvs8cc6ljm$.dlg@40tude.net>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 90
Message-ID: <4e0a44dd$0$2446$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.26.78.149
X-Trace: 1309295837 unt-rea-a-01.news.neostrada.pl 2446 83.26.78.149:41227
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:191221
[ ukryj nagłówki ]W dniu 28.06.2011 22:25, Zbigniew Malec pisze:
> On Tue, 28 Jun 2011 17:00:07 +0200, Michal Kleczek wrote:
>
>>> Bo granulacja kontroli dostępu w DBMS często nie przystaje do granulacji
>>> potrzebnej do implementacji kontroli dostępu.
>>
>> I to jest czesto dobry argument.
>> Z drugiej strony mozna sie zastanawiac, czy moze inny (oferujacy odpowiednie
>> narzedzia/granulacje) DBMS jest lepszym rozwiazaniem?
>> Oraz czy przypadkiem _rzeczywiscie_ nie przystaje.
>
> Nie ma co tego na DBMSa zwalać, bo zwyczajnie nie jesteś w stanie osiągnąć
> wystarczającej elastyczności. Moduł zarządzania użytkownikami DBMS jest
> projektowany pod zupełnie inne zastosowania i jako taki nie nadaje się do
> wykorzystania w aplikacji. Użytkownicy aplikacji to są "dane", a nie
> element funkcjonalny bazy. Podstawowym kryterium wyboru DBMS na pewno nie
> jest to, czy można użyć jego modułu zarządzania użytkownikami w swojej
> aplikacji.
>
>>> Jak chcesz zorganizować
>>> prawo do odczytu danych (np. faktur czy zamówień) związanych z jednym
>>> tylko klientem dla opiekuna tego klienta?
>>>
>>
>> Chocby widoki?
>
> Można, ale po co? Żeby osiągnąć odpowiednią elastyczność i tak będziesz
> musiał dobudować tyle infrastruktury, że dodatkowa tabelka z użytkownikami
> nie robi żadnej różnicy.
>
>>>> Wielokrotnie uzywalem narzedzi w rodzaju np. SQL Navigator lub Crystal
>>>> Reports do dostepu do danych w srodowiskach gdzie nie do wszystkich
>>>> danych w bazie danych moglem miec dostep. Mialem swoje konto w DBMS z
>>>> przypisanymi uprawnieniami i tyle.
>>>
>>> Nie rozumiem. Miałeś nie mieć dostępu w aplikacji FooBarBaz do pewnych
>>> danych, ale uzyskiwałeś go bo łączyłeś się z bazą ręcznie zamiast używać
>>> FooBarBaz?
>>>
>>
>> Mialem nie miec dostepu do pewnych danych _niezaleznie_ od tego jakiej
>> aplikacji uzywam do dostepu.
>> Podobnie jak mam nie miec dostepu do danych w katalogu /home/iksinski
>> niezaleznie od aplikacji jakiej uzywam.
>
> W przypadku osób generujących raporty z bazy, albo w inny sposób
> korzystających bezpośrednio z danych zawartych w bazie danych naturalne
> jest korzystanie z użytkowników bazodanowych. W przypadku aplikacji
> korzystającej z tych danych za pośrednictwem serwera aplikacji (albo
> grubego klienta) już takie naturalne to nie jest, bo użytkownik jest od tej
> bazy odseparowany i jego tożsamość, to jest tylko kojelny parametr w
> wykonywanych zapytaniach, a nie element funkcjonalny aplikacji.
>
>> W wiekszosci zastosowan komputerow przedmiotem ochrony sa _dane_ (pomijam
>> przypadki, gdzie chroni sie dostep np. do zewnetrznych urzadzen).
>> Z punktu widzenia bezpieczenstwa danych zezwolenie na to, zeby kazda
>> aplikacja definiowala _swoj wlasny_ model ochrony danych jest ryzykowny.
>
> Rezygnację całkowitą z uprawnień nadawanych przez DB można uznać za
> nierozsądną, ale nie można też popadać w przesadę. Typowy wzorzec ich
> wykorzystania to tworzenie użytkowników pod dane aplikacje i udostępnianie
> tym użytkownikom pewnego podzbioru obiektów w bazie. Pozdbiór ten w
> założeniach ma tworzyć spójne API dostępu do danych z punktu widzenia danej
> aplikacji.
> Ja bym wręcz zaryzykował twierdzenie, że utożsamianie użytkowników
> aplikacji z użytkownikami DB zmniejsza bezpieczeństwo, bo zamiast mieć
> jednego dobrze opisanego użytkownika na poziomie bazy danych (a więc w
> warstwie dostępu do danych), trzeba dbać o poprawne opisanie wszystkich jej
> (aplikacji) użytkowników. W opisanym przeze mnie typowym przypadku
> uprawnienia użytkowników aplikacji są odseparowane od uprawnień samej
> aplikacji a co za tym idzie łatwiej jest postawić wyraźną granicę, co
> aplikacji wolno a czego jej nie wolno.
>
Z góry przepraszam za brak cięcia ale ciężko mi było coś wywalić by nie
zagubić kontekstu poprzedniej wypowiedzi do której chcę nawiązać.
W takim razie dobrze rozumiem że jest sensowne stosowanie serwera a nie
cienkiego klienta. Motywuję to tym że w grubym kliencie ktoś z dużą
dawką cierpliwości i zaciekłości może dojść np. do zmiennej trzymającej
uprawnienie przez co można by było zmienić dane bez upoważnienia. W
przypadku połączenia z serwerem, który zapytuje bazę, byłaby możliwość
przy każdej operacji sprawdzanie użytkownika i hasła, które oczywiście
byłyby w tabeli z użytkownikami.
Użytkownicy z bazy danych z kolei posłużyć by mogli do zawężenia dostępu
do konkretnych tabel, procedur, schematów lecz nie są w stanie zastąpić
użytkowników aplikacji.
Trzyma się to kupy?
Następne wpisy z tego wątku
- 28.06.11 22:10 Przemek O.
- 28.06.11 23:11 Lukasz
- 29.06.11 06:09 Mariusz Kruk
- 29.06.11 06:19 Jacek
- 29.06.11 06:35 Mariusz Kruk
- 29.06.11 07:11 Andrzej Jarzabek
- 29.06.11 07:48 Przemek O.
- 29.06.11 07:49 Michal Kleczek
- 29.06.11 08:01 Stachu 'Dozzie' K.
- 29.06.11 08:40 Mariusz Kruk
- 29.06.11 08:24 Michal Kleczek
- 29.06.11 08:37 Mariusz Kruk
- 29.06.11 08:42 Michal Kleczek
- 29.06.11 08:52 Mariusz Kruk
- 29.06.11 09:13 Michal Kleczek
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-17 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 2024-11-18 Gdynia => Spedytor Międzynarodowy <=
- 2024-11-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-18 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-18 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-11-18 Kraków => Business Development Manager - Network and Network Security
- 2024-11-18 Kraków => Network Systems Administrator (IT Expert) <=
- 2024-11-18 Kraków => Administrator Systemów Sieciowych (Ekspert IT) <=
- 2024-11-18 Zdunowo => Senior PHP Symfony Developer <=
- 2024-11-18 Łódź => QA Inżynier <=
- 2024-11-18 Lublin => Senior PHP Developer <=
- 2024-11-18 Gliwice => Specjalista ds. public relations <=
- 2024-11-18 Gdynia => Front-End Developer (React/Three.js) <=
- 2024-11-18 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-18 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=