[Postgre]Schema
Kos - 03-04-2007 00:08
[Postgre]Schema
Witam,
Probuje zrozumiec czym schematy sa, ale jakos ciezko mi to idzie. Powiedzcie prosze, czy uzytkownikom mozna nadawac uprawienia do danego schematu (niby Grant na schemacie dziala,ale jakie ma to praktyczne implikacje)? I czy w takim razie, tabele w nim zawarte dziedzicza dana liste dostepu?
Czy domyslny schemat "Public" oznacza dostep dla wszystkich i w pierwszym kroku nalezy Revoke'iem zabrac grupie Public wszystkie uprawnienia i nadac je swojemu uzytkownikowi, aby tym samym ograniczyc dostep do schematu i jego tabel?
Pozdrawiam, Kosmaty
Cezio Statkiewicz - 03-04-2007 00:08
A znacie ten, jak Kos przyjeżdża furmanką i mówi:
> Witam, > > Probuje zrozumiec czym schematy sa, ale jakos ciezko mi to idzie. > Powiedzcie prosze, czy uzytkownikom mozna nadawac uprawienia do danego > schematu (niby Grant na schemacie dziala,ale jakie ma to praktyczne > implikacje)? I czy w takim razie, tabele w nim zawarte dziedzicza dana > liste dostepu?
Schematy to dodatkowy poziom, dzięki któremu można uporządkować logicznie strukturę bazy:
http://www.postgresql.org/docs/8.2/i...l-schemas.html
Można użytkownikowi nadać prawa do używania schematu (grant usage), podobiekty nie dziedziczą uprawnień i musisz je ustawić 'z palca' (bądź innym automatem).
http://www.postgresql.org/docs/8.2/i...ser-manag.html i http://www.postgresql.org/docs/8.2/i...sql-grant.html
> Czy domyslny schemat "Public" oznacza dostep dla wszystkich i w > pierwszym kroku nalezy Revoke'iem zabrac grupie Public wszystkie > uprawnienia i nadac je swojemu uzytkownikowi, aby tym samym ograniczyc > dostep do schematu i jego tabel?
nie koniecznie (patrz: grant connect). Public schema to domyślny schemat (przeszukiwany w pierwszej kolejności, ale to można ustawić przez set search_path). Domyślnie do obiektu może dostać się tylko jego właściciel (i superuser).
CS
-- Cezio Statkiewicz - http://thelirium.net rlu#280280 gg#5223219 jabber://koophel@jabber.wp.pl
sw - 03-04-2007 00:08
>> Probuje zrozumiec czym schematy sa, ale jakos ciezko mi to idzie. >> Powiedzcie prosze, czy uzytkownikom mozna nadawac uprawienia do >> danego schematu (niby Grant na schemacie dziala,ale jakie ma to >> praktyczne implikacje)? I czy w takim razie, tabele w nim zawarte >> dziedzicza dana liste dostepu?
pozwole sie podpiąc do pytanie czy podobnie jest w ms sql 2005
Kos - 03-04-2007 00:08
Cezio Statkiewicz napisał(a): > Można użytkownikowi nadać prawa do używania schematu (grant usage), > podobiekty nie dziedziczą uprawnień i musisz je ustawić 'z palca' (bądź > innym automatem). > Dzieki za linki. Powiedz jeszcze tylko prosze czy jesli z bazy i schematu public wyrzuce grupe Public, a zostawie tylko swojego uzytkownika, to nie musze sie juz obawiac o to ze zawartosc tabel tego schematu, bedzie dostepna dla innych poza moim uzytkownikiem?
> nie koniecznie (patrz: grant connect). Public schema to domyślny schemat > (przeszukiwany w pierwszej kolejności, ale to można ustawić przez set > search_path). Domyślnie do obiektu może dostać się tylko jego właściciel (i > superuser).
Brak uprawinien = brak dostepu? Innymi slowy: jak wyrzuce grupe Public, to nikt inny poza wybranymi przeze mnie uzytkownikami, nie bedzie mial dostepu?
Pozdrawiam, kosmaty
Sylwester Lewandowski - 03-04-2007 00:08
sw napisał(a): >>> Probuje zrozumiec czym schematy sa, ale jakos ciezko mi to idzie. >>> Powiedzcie prosze, czy uzytkownikom mozna nadawac uprawienia do >>> danego schematu (niby Grant na schemacie dziala,ale jakie ma to >>> praktyczne implikacje)? I czy w takim razie, tabele w nim zawarte >>> dziedzicza dana liste dostepu? > > pozwole sie podpiąc do pytanie > czy podobnie jest w ms sql 2005 > >
W MSSQL2005 schemat pozwala grupować obiekty w bazie (tabele, procedury, itd.). Mozna także nadawać uprawnienia do schematu, a nie do poszczegolnych obiektow.
Wiecej info:
http://msdn2.microsoft.com/en-us/library/ms190387.aspx http://msdn2.microsoft.com/en-us/library/ms187648.aspx
Pozdr.
Cezio Statkiewicz - 03-04-2007 00:08
A znacie ten, jak Kos przyjeżdża furmanką i mówi:
> Cezio Statkiewicz napisał(a): >> Można użytkownikowi nadać prawa do używania schematu (grant usage), >> podobiekty nie dziedziczą uprawnień i musisz je ustawić 'z palca' (bądź >> innym automatem). >> > Dzieki za linki. Powiedz jeszcze tylko prosze czy jesli z bazy i > schematu public wyrzuce grupe Public, a zostawie tylko swojego > uzytkownika, to nie musze sie juz obawiac o to ze zawartosc tabel tego > schematu, bedzie dostepna dla innych poza moim uzytkownikiem?
zasadniczo tak. ale z tego co opisujesz, to wygląda na jakiś podejrzany przypadek (żeby nie powiedzieć bałaganiarskie przyznawanie uprawnień;). napisz coś więcej, bo może to, co chcesz zrobić nie jest najlepszym rozwiązaniem.
>> nie koniecznie (patrz: grant connect). Public schema to domyślny schemat >> (przeszukiwany w pierwszej kolejności, ale to można ustawić przez set >> search_path). Domyślnie do obiektu może dostać się tylko jego właściciel >> (i superuser). > > Brak uprawinien = brak dostepu? Innymi slowy: jak wyrzuce grupe Public, > to nikt inny poza wybranymi przeze mnie uzytkownikami, nie bedzie mial > dostepu?
Jeśli usuniesz Public z uprawionych grup do obiektu - tak. Samej grupy Public z bazy nie usuniesz (w sensie z listy grup).
CS
-- Cezio Statkiewicz - http://thelirium.net rlu#280280 gg#5223219 jabber://koophel@jabber.wp.pl
Kos - 03-04-2007 00:08
Cezio Statkiewicz napisał(a): > > zasadniczo tak. ale z tego co opisujesz, to wygląda na jakiś podejrzany > przypadek (żeby nie powiedzieć bałaganiarskie przyznawanie uprawnień;). > napisz coś więcej, bo może to, co chcesz zrobić nie jest najlepszym > rozwiązaniem. >
Mam u swojego dostawcy dostep do bazy. Przez phpPGadmina widze bazy innych (choc wylistowac tabel nie moge). Chcialbym, aby moja baza lub/i schemat public, nie byly dostepne dla innych. W uprawnieniach mam tylko wymienionych "user'ow" - bez grupy Public. No i teraz sie zastanawiam, czy to oznacza, ze rzeczywiscie inni nie beda widziec zawartosci mojej bazy, czy po prostu grupa Public domyslnie sie nie wyswietla w phpPGadminie. BTW: gdzie sa przetrzymywane uprawnienia do bazy? Czy moge je jakims zapytaniem SQLowym sprawdzic?
Dzieki za poswiecony czas. Choc z programowaniem mam juz od jakiego czasu do czynienia, to temat baz i SQL jest mi kompletnie obcy. Dzieki raz jeszcze za odpowiedzi.
Pozdrawiam, kosmaty
Cezio Statkiewicz - 04-04-2007 00:02
A znacie ten, jak Kos przyjeżdża furmanką i mówi:
> Cezio Statkiewicz napisał(a): >> >> zasadniczo tak. ale z tego co opisujesz, to wygląda na jakiś podejrzany >> przypadek (żeby nie powiedzieć bałaganiarskie przyznawanie uprawnień;). >> napisz coś więcej, bo może to, co chcesz zrobić nie jest najlepszym >> rozwiązaniem. >> > > Mam u swojego dostawcy dostep do bazy. Przez phpPGadmina widze bazy > innych (choc wylistowac tabel nie moge). Chcialbym, aby moja baza lub/i > schemat public, nie byly dostepne dla innych. W uprawnieniach mam tylko > wymienionych "user'ow" - bez grupy Public. No i teraz sie zastanawiam, > czy to oznacza, ze rzeczywiscie inni nie beda widziec zawartosci mojej > bazy, czy po prostu grupa Public domyslnie sie nie wyswietla w > phpPGadminie. BTW: gdzie sa przetrzymywane uprawnienia do bazy? Czy moge > je jakims zapytaniem SQLowym sprawdzic?
*To, że widzą Twoją bazę, nie oznacza, że mogą się do niej podłączyć (sprawdź, czy sam możesz się podłączyć do innych baz). Zawsze możesz się spytać pomocy technicznej prowajdera:) * *Uprawnienia są trzymane w kilku miejscach. Po pierwsze w pg_hba.conf, gdzie trzymane są globalne uprawnienia do połączeń (trochę anachroniczny sposób, bo po zmianie wymaga restartu serwera), poza tym w każdej bazie jest schemat systemowy pg_catalog, gdzie jest informacja o użytkownikach, tabelach i uprawnieniach (miedzy innymi). Ładnie podana informacja o uprawnieniach znajduje się w innym schemacie systemowym, information_schema, w widokach *_privileges.
*Domyślnie klienty postgresa nie wyświetlają schematów systemowych i ręcznie nie należy tych schematów modyfikować (inna sprawa, że bez superusera się nie da ;).
> Dzieki za poswiecony czas. Choc z programowaniem mam juz od jakiego > czasu do czynienia, to temat baz i SQL jest mi kompletnie obcy. Dzieki > raz jeszcze za odpowiedzi. > > Pozdrawiam, > kosmaty
CS
-- Cezio Statkiewicz - http://thelirium.net rlu#280280 gg#5223219 jabber://koophel@jabber.wp.pl
Kos - 04-04-2007 00:02
Cezio Statkiewicz napisał(a):
> > To, że widzą Twoją bazę, nie oznacza, że mogą się do niej podłączyć > (sprawdź, czy sam możesz się podłączyć do innych baz). Zawsze możesz się > spytać pomocy technicznej prowajdera:) > > Uprawnienia są trzymane w kilku miejscach. Po pierwsze w pg_hba.conf, gdzie > trzymane są globalne uprawnienia do połączeń (trochę anachroniczny sposób, > bo po zmianie wymaga restartu serwera), poza tym w każdej bazie jest > schemat systemowy pg_catalog, gdzie jest informacja o użytkownikach, > tabelach i uprawnieniach (miedzy innymi). Ładnie podana informacja o > uprawnieniach znajduje się w innym schemacie systemowym, > information_schema, w widokach *_privileges. > > Domyślnie klienty postgresa nie wyświetlają schematów systemowych i ręcznie > nie należy tych schematów modyfikować (inna sprawa, że bez superusera się > nie da ;). >
No to wszystko jasne. Dzieki wielkie!
Pozdrawiam, kosmaty
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.plmelooonka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|