<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Problem z uprawnieniami]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=300</link>
		<description><![CDATA[Najświeższe odpowiedzi w Problem z uprawnieniami.]]></description>
		<lastBuildDate>Tue, 20 Oct 2009 20:18:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Problem z uprawnieniami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1457#p1457</link>
			<description><![CDATA[Witam.
[quote=sulavix]selecty nie sa niebezpieczne dla bazy; insert moze;[/quote]
Nie twierdziłem, że SELECT'y są niebezpieczne dla bazy. Jednak dla zachowania poufności - jak najbardziej.
[quote=sulavix]jezeli kos ma uprawnienia do insert dla danej tabeli to uprawnienia do wykonania funkcji, ktora taki insert zawiera ma sena; w przeciwnym razie uprawnienia do takiej funkcji nie maja sensu poniewaz silnik bazy i tak insertu nie wykona; musisz sie na cos zdecydowac;[/quote]
Tu się nie zgodzę z sulavix'em
Wyjątek od w/w stanowi sytuacja (wiele można ich przytoczyć z życia, ot choćby np. chcemy, żeby nauczyciel nie mógł podejrzeć ocen ucznia z innego przedmiotu i nie mógł wstawić oceny z nie-swojego przedmiotu - więc zachowanie Mike Drako chcącego pozbawić użytkowników praw do SELECT'a i INSERT'a (ew. UPDATE'a) jest jak najbardziej chwalebne). Czyli w sytuacji, kiedy admin nie chce, aby np. dane z jakiejś [b] kolumny[/b]  mogłyby zostać oglądane przez określoną grupę użytkowników (chyba dopiero od Postgresa 8.4 można dawać uprawnienia na pojedyncze kolumny). Wówczas można posłużyć się widokiem. Można (a nawet trzeba) użytkownikom nadać uprawnienia INSERT, ale nie do tabeli, lecz do w/w widoku (oczywiście poprzez regułę - 'rule'). Zachowamy wtedy pożądany poziom izolacji danych i pozwolimy insert'ować użytkownikom w [b]dozwolone[/b] miejsca.]]></description>
			<author><![CDATA[dummy@example.com (marek)]]></author>
			<pubDate>Tue, 20 Oct 2009 20:18:28 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1457#p1457</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Problem z uprawnieniami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1428#p1428</link>
			<description><![CDATA[Witam serdecznie;
[quote=Mike Drako]... napisałem funkcję (język plpgsql), w której wykonują się ze 2 selekty i insert. .....[/quote]
selecty nie sa niebezpieczne dla bazy; insert moze; 
[quote]...Co mam zrobić jeśli chcę nadać użytkownikowi uprawnienia tylko do funkcji lecz nie do tabel?.[/quote]
jezeli kos ma uprawnienia do insert dla danej tabeli to uprawnienia do wykonania funkcji, ktora taki insert zawiera ma sena; w przeciwnym razie uprawnienia do takiej funkcji nie maja sensu poniewaz silnik bazy i tak insertu nie wykona; musisz sie na cos zdecydowac;
pozdrawiam]]></description>
			<author><![CDATA[dummy@example.com (sulavix)]]></author>
			<pubDate>Fri, 16 Oct 2009 09:14:01 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1428#p1428</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Problem z uprawnieniami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1427#p1427</link>
			<description><![CDATA[Marek ma jak najbardziej racje, ze SECURITY DEFINER moze okazac sie niebezpieczne (swego czasu byly nawet bug'i zwiazane z SECURITY DEFINER). Jakkolwiek jesli funkcja robi INSERT albo SELECT, to wydaje sie ze poziom bezpieczenstwa jest taki sam jak w przypadku widokow i reguł (no chyba ze sa jakies jeszcze nie poprawione dziury w silniki bazodanowym).]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Fri, 16 Oct 2009 06:28:42 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1427#p1427</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Problem z uprawnieniami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1425#p1425</link>
			<description><![CDATA[Witam.
Według mnie SECURITY DEFINER jest opcją niebezpieczną i należy ją stosować po absolutnym upewnieniu się, że użytkownik nie-administrator niczego nam - przez nadanie tak wysokiego uprawnienia - nie popsuje.
Ja w takich przypadkach używam widoków i poprzez zdefiniowane na nich reguły (rules) korzystam do woli z poleceń DML.
Uważam to za znacznie bezpieczniejszy, choć bardziej pracochłonny pomysł od pomysłu mojego szanownego przedmówcy rski'ego
Pozdrawiam.

P.S. Zagadnienia bazodanowe zacząłem zgłębiać od marca 2009, więc przepraszam za ewentualny niski poziom porad.]]></description>
			<author><![CDATA[dummy@example.com (marek)]]></author>
			<pubDate>Thu, 15 Oct 2009 21:00:37 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1425#p1425</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Problem z uprawnieniami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1328#p1328</link>
			<description><![CDATA[Przy tworzeniu funkcji dodaj opecję
[code]
SECURITY DEFINER
[/code]
wtedy zawsze będzie wykonywana na prawach użytkownika, który stworzył funkcję.

Wiecej znajdziesz na [url]http://postgresql.org[/url]]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Sat, 26 Sep 2009 19:55:48 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1328#p1328</guid>
		</item>
		<item>
			<title><![CDATA[Problem z uprawnieniami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1327#p1327</link>
			<description><![CDATA[Witam, napisałem funkcję (język plpgsql), w której wykonują się ze 2 selekty i insert. Operacje wykonywane są na różnych tabelach. Funkcja działa jeśli ją wykonuje jako administrator lecz gdy nadam prawa do jej wykonania innemu użytkownikowi (który nie powinien mieć innych uprawnień do bazy) funkcja nie działa. Serwer wskazuje, że powinienem nadać dodatkowe uprawnienia do tabel z których funkcja korzysta.

Uprawnienia nadaje w następujący sposób:
GRANT EXECUTE ON „Nazwa_Funkcji”(...) TO „Nazwa_Użytkownika”;

Co mam zrobić jeśli chcę nadać użytkownikowi uprawnienia tylko do funkcji lecz nie do tabel?.]]></description>
			<author><![CDATA[dummy@example.com (Mike Drako)]]></author>
			<pubDate>Sat, 26 Sep 2009 19:34:29 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1327#p1327</guid>
		</item>
	</channel>
</rss>
