ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
826
826
EMPFEHLEN
-
Hallo allerseits,
ich habe eine Oracledatenbank angelegt und das zugehörige Schema hat weitreichende Privilegien (CREATE TABLE, VIEWS etc.)
Nun möchte ich einen zweiten, stark eingeschränkten User für diese DB erstellen.
Dieser zweite User soll nur lesende Rechte auf alle Tabellen haben.
Irgendwie bekomme ich dasnicht hin.
Klingt ja aber gar nicht so schwierig.
Wer kann mir helfen ?
Danke schon mal im voraus !
Ciao
André
-
29.11.04 20:53 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Was war denn deine bisherige Vorgehensweise zum anlegen eines read only users?
Hast du schon folgendes Versucht:
1) CREATE SESSION Recht gewähren
2) SELECT Privilegien auf die Benötigten Tabellen, Views etc.
3) Keine Create Privilegien vergeben
4) Keine Quotas auf einen Tablespaces
5) ... and last but not least, kein SELECT ANY Table vergeben! Das führt nur zu Seiteneffekten, die du nun noch nciht absehen kannst.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
29.11.04 22:05 #3
Die gängige Vorgehensweise in der Praxis ist folgende:
Einen Schemaeigner mit hohen Privilegien anlegen, z.B. DBA.
Die Applikation erstellen.
Eine Rolle z.B. "APP_USER" erstellen.
Der Rolle alle gewünschten Rechte für die User gewähren (SELECT)
Den Account des Schemaeigners sperren.
Als SYS neue User anlegen.
Diesen die Rolle APP_USER und CREATE SESSION granten.
Ein kurzes Beispiel:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
CONNECT sys/oracle AS SYSDBA; CREATE USER APP_ADMIN IDENTIFIED BY appadmin DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; GRANT DBA TO APP_ADMIN; CONNECT APP_ADMIN/appadmin; CREATE TABLE test ( ID NUMBER(3) ); CREATE ROLE APP_USER NOT IDENTIFIED; GRANT SELECT ON test TO APP_USER; CONNECT sys/oracle AS SYSDBA; ALTER USER APP_ADMIN ACCOUNT LOCK; CREATE USER app_usr IDENTIFIED BY appuser TEMPORARY TABLESPACE temp DEFAULT TABLESPACE users; GRANT CREATE SESSION TO app_usr; GRANT APP_USER TO app_usr; CONNECT app_usr/appuser; SELECT * FROM APP_ADMIN.test;
Geändert von Exceptionfault (29.11.04 um 22:07 Uhr)
liebe Grüße
Exceptionfault (http://exceptionfault.de)
Never say: "Always"! Always say: "Never say never"! - Tom Kyte @ Ask Tom Live in Berlin 2008
-
Klasse, danke, so funktioniert's !
Ciao
André
Ähnliche Themen
-
Trial aus bestehender Software erzeugen
Von DerRestDerWelt im Forum Sonstige SprachenAntworten: 6Letzter Beitrag: 27.08.10, 10:18 -
blätterfunktion bei bestehender suchfunktion
Von newbie_php im Forum PHPAntworten: 3Letzter Beitrag: 16.04.08, 13:26 -
User in Oracle kann sich nicht anmelden
Von AKST im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 21.12.04, 15:57 -
TV-Schnee mit bestehender Grafik
Von DREAMEAGLE im Forum Flash PlattformAntworten: 4Letzter Beitrag: 07.12.04, 17:16 -
Fehlermeldung auf bestehender Seite ausgeben
Von helga im Forum Javascript & AjaxAntworten: 8Letzter Beitrag: 31.07.03, 14:02





Zitieren

Login





