Oracle, uzytkownicy i ich prawa
slawek - 27-10-2005 23:55
Oracle, uzytkownicy i ich prawa
Procuje z Oraclem 9i i mam nastapujacy problem. Mam uzytkownika, ktory ma pelen dostep do swoich tabel. Chcialbym stworzyc drugiego uzytkownika, ktory moze tabele pierwszego przegladac i do czesci z nich pisac. Nie bardzo wiem jak zrobic, zebym mogl sie dostac drugim uzytkownikiem z innymi prawami do tabel pierwszego. Zalezy mi rowniez zeby nie uzywac w zapytaniach skladni typu select * from user1.tabela dla drugiego usera ... czyli zeby rozwiazanie bylo w miare przezroczyste ... A po co mi to? Chce miec kilka poziomow administratowow w swojej aplikacji webowej i chce miec maksymalny poziom zabezpieczenia. Dzieki za wszelkie sugestie!
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Morff - 27-10-2005 23:56
slawek napisał(a): > Procuje z Oraclem 9i i mam nastapujacy problem.
procujesz .. uuu ...
> Mam uzytkownika, ktory ma pelen dostep do swoich tabel.
ooo ..
Chcialbym stworzyc > drugiego uzytkownika, ktory moze tabele pierwszego przegladac i do czesci z > nich pisac. Nie bardzo wiem jak zrobic, zebym mogl sie dostac drugim > uzytkownikiem z innymi prawami do tabel pierwszego. Zalezy mi rowniez zeby > nie uzywac w zapytaniach skladni typu > select * from user1.tabela > dla drugiego usera ... czyli zeby rozwiazanie bylo w miare przezroczyste ... > A po co mi to? > Chce miec kilka poziomow administratowow w swojej aplikacji webowej i chce > miec maksymalny poziom zabezpieczenia. > Dzieki za wszelkie sugestie!
moze granty (role) + widoki .. moze synonimy ...
ja stosuje przeglądanie danych przez widoki , a modyfikacje danych przez procedury .. W końcu oracle to baza danych zorientowana obiektowo ..
-- Pozdrawiam Morff ---------- AQQ 141151
slawek - 27-10-2005 23:56
Morff <morff1@wp.pl> napisał(a):
> slawek napisał(a): > > Procuje z Oraclem 9i i mam nastapujacy problem. > > procujesz .. uuu ... > > > Mam uzytkownika, ktory ma pelen dostep do swoich tabel. > > ooo .. > > Chcialbym stworzyc ... > moze granty (role) + widoki .. moze synonimy ... > > ja stosuje przeglądanie danych przez widoki , a modyfikacje danych przez > procedury .. W końcu oracle to baza danych zorientowana obiektowo .. > > Dzieki za odpowiedz ... chociaz nie bardzo rozumiem, czemu sie czepiasz slowa 'pracuje' - hmmm, no coz, nie jest to jednak istotne. Nie wiem czy dobrze wyjasnilem o co mi biega. Gdy w obiektach pierwszego usera bede mial widoki to logujac sie do bazy drugim userem bede sie dostawac do nich w ten sposob select * from user1.widok1 ... no chyba, ze chodzilo Ci o to zeby drugi user mial zdefiniowane widoki na tabelach usera pierwszego. Podobnie jak Ty modyfikuje dane przez procedury skladowane. Przesiadam sie jednak na Oracle z mysqla i hmmm inna filozofia daje mi troche w kosc.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Morff - 27-10-2005 23:56
slawek napisał(a):
> Dzieki za odpowiedz ... chociaz nie bardzo rozumiem, czemu sie czepiasz > slowa 'pracuje' -
bo ty nie pracujesz tylko robisz proce w oracle (procujesz)
> no chyba, ze chodzilo Ci o to zeby drugi user mial zdefiniowane widoki na tabelach usera pierwszego.
o to mi chodziło .. bo myślałem ze tobie o to chodziło :)
> Podobnie jak Ty modyfikuje dane przez procedury skladowane. Przesiadam sie > jednak na Oracle z mysqla i hmmm inna filozofia daje mi troche w kosc.
jest mnóstwo dokumentacji do oracle w necie , no i ta grupa napewno ci pomoze w przejściu .
-- Pozdrawiam Morff ---------- AQQ 141151
slawek - 27-10-2005 23:56
... > jest mnóstwo dokumentacji do oracle w necie , no i ta grupa napewno ci > pomoze w przejściu . > ;) nie ukrywam, ze dlatego wyslalem tutaj zapytanie.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
colin - 27-10-2005 23:56
Użytkownik " slawek" <sziolkow@gazeta.SKASUJ-TO.pl> napisał w wiadomości news:djo2v0$sq6$1@inews.gazeta.pl... > Procuje z Oraclem 9i i mam nastapujacy problem. > Mam uzytkownika, ktory ma pelen dostep do swoich tabel. Chcialbym stworzyc > drugiego uzytkownika, ktory moze tabele pierwszego przegladac i do czesci z > nich pisac. Nie bardzo wiem jak zrobic, zebym mogl sie dostac drugim > uzytkownikiem z innymi prawami do tabel pierwszego. Zalezy mi rowniez zeby > nie uzywac w zapytaniach skladni typu > select * from user1.tabela > dla drugiego usera ... czyli zeby rozwiazanie bylo w miare przezroczyste .... > A po co mi to? > Chce miec kilka poziomow administratowow w swojej aplikacji webowej i chce > miec maksymalny poziom zabezpieczenia. > Dzieki za wszelkie sugestie! > > -- > Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Witam
Możesz zrobić to na wiele sposobów, jednym z nich może być utworzenie uprawnień bezpośrednio dla drugiego (użytkownik PIERWSZY daje uprawnienia dla użytkownika DRUGI) użytkownika poprzez:
GRANT SELECT, INSERT, UPDATE, DELETE ON PIERWSZY.nazwa_tablicy TO DRUGI;
Następnie na użytkowniku DRUGI tworzysz synonimy, dzięki którym będziesz widział bezpośrednio obiekty użytkownika PIERWSZY bez potrzeby dopisywania nazwy schematu:
CREATE SYNONYM nazwa_tablicy FOR PIERWSZY.nazwa_tablicy;
Więcej możesz dowiedzieć się w książce SQL REFERENCE z dostępnej na stronie ORACLE dokumentacji lub zakupić jedną z książek o ORACLE z wydawnictwa HELION.
pozdrawiam colin
PS: oczywiście sposób, który podaję jest dobry tylko na krótką metę i właściwie robi się to inaczej, jak już wspomniał Morff - tworzy się ROLE z dostępem do procedur, które modyfikują dane w tablicach bez nadawania uprawnień do tych tablic (wówczas aplikacja klincka od razu musi być pisana tak, by korzystała z procedur zamiast robić standardowe INSERT, UPDATE ... itd.). Poza tym, tworzenie drugiego użytkownika który ma jednakowy dostęp do tablic pierwszego użytkownika nie ma większego sensu (poza tym, że ktoś będzie się logował na inny login/pass).
fibolg - 27-10-2005 23:56
> ;) nie ukrywam, ze dlatego wyslalem tutaj zapytanie. Nie lepiej tworzyć rolę dla tego sera z tych wszystkich procedur i selectów i przyznać mu tylko rolę? Jakoś nie bardzo czaję o co Ci chodzi :/
3.14 - 27-10-2005 23:56
Użytkownik " slawek" <sziolkow@gazeta.SKASUJ-TO.pl> napisał w wiadomości news:djo2v0$sq6$1@inews.gazeta.pl...
> uzytkownikiem z innymi prawami do tabel pierwszego. Zalezy mi rowniez zeby > nie uzywac w zapytaniach skladni typu > select * from user1.tabela > dla drugiego usera ... czyli zeby rozwiazanie bylo w miare przezroczyste > ...
1. logujesz się na user1 2. ALTER SESSION SET CURRENT_SCHEMA = user 3. masz dostęp do obiektów użytkownika "user" bez konieczności umieszczania nazwy właściciela obiektu przed nazwą obiektu, czyli wystarczy: select * from tabela
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.plbajkomoda.xlx.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 |
|