SQL

Diskutiere SQL im Programmierung Forum im Bereich Software Forum; Moinsen, weis jemand wie ich mit Hilfe von SQL Benutzerrechtlinien vergeben?? Speziell hift einem vielleicht das weiter meine Frage zu...
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Moinsen,

weis jemand wie ich mit Hilfe von SQL Benutzerrechtlinien vergeben??

Speziell hift einem vielleicht das weiter meine Frage zu verstehen!!



Data Control Language: GRANT and REVOKE

Die DCL enthält Befehle zur Vergabe von Rechten. Die Befehle manipulieren Access Control Lists auf Datenbankobjekten. Syntax:

GRANT (Operation)+ ON Relation TO (PUBLIC|Benutzer) [WITH GRANT OPTION]
REVOKE (Operation)+ ON Relation FROM (PUBLIC|Benutzer)
Relation kann insbesondere auch eine Sicht sein.
WITH GRANT OPTION erlaubt es den neuen Rechteinhabern, das Recht weiter zu geben.
PUBLIC bezeichnet alle Benutzer.
Der Datenbankadministrator (DBA) hat alle Rechte. Der Besitzer eines Objektes hat auch alle Rechte an diesem Objekt.
Die Kommandos zur Rechteverwaltung sind in SQL spezifiziert, nicht jedoch die zur Benutzerverwaltung. Daher implementiert jedes DBMS seine eigene Benutzerverwaltung, die Rollennamen und/oder Benutzergruppen kennen mag oder auch nicht.
In modernen DBMS können Rechte auf alles mögliche vergeben werden, nicht nur auf einzelne Tabellen.

Beispiele:

grant select,update on table Adressen to groupx;
Gestattet dem Benutzer bzw. der Gruppe groupx einen lesenden und ändernden Zugriff auf die Tabelle Adressen.

revoke execute on procedure DSN8ED6 from public;
Entzieht allen nicht explizit berechtigten Benutzern das Recht, die Stored-Procedure DSN8ED6 auszuführen. Berechtigungen, die einem Benutzer oder einer Gruppe erteilt wurden, bleiben bestehen.


Quelle: Link
 
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Kommt schon, wo sind denn hier die ganzen Datenbank progger???
 
stpe

stpe

Mitglied seit
14.11.2001
Beiträge
2.729
verstehe Dein problem nicht. Du beantwortest Deine frage doch quasi selbst.

ganz kurzes beispiel:

ich weiss nicht, mit welchem dbms Du arbeitest. aber man vergibt z.b. unter mysql einem lokalen benutzer zugriffsrechte auf alle tabellen der datenbank "test" auf folgende weise:

Code:
grant usage on test.* to 'benutzer'@'localhost';
flush privileges;
ansonsten: :rtfm oder stell' genauere fragen.

gruss
stefan
 
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Der erste Post sollte eigentliuch dazu sein, dass mir jemand erklärt, wofür die einzelnen Sachen beim grant ... und revoke ... gut sind und was sie bewirken. Brauche das für eine Präsentation.
 
msueper

msueper

Mitglied seit
20.01.2005
Beiträge
1.634
Hallo Alokat,
warst Du nicht mit Oracle befasst?

grant {select|update|delete|insert} on table to user;
grant execute on prozedur to user;
Das versteht sich von selbst!

grant {select any|update any...} table to user;
grant execute any ...
Irgendwie auch noch klar, der User kann alle Tabelle anstelle nur einer, bzw. alles ausführen (insbesondere auch die Pakete anderer User!!).

grant unlimited tablespace to user;
Der User kann bel. viele Daten eingeben

grant ... with admin option;
Der Benutzer kann das Recht an andere seines Vertrauens weitergeben.

grant {dba|sysdba|sysoper} to user;
DBA ist eine Rolle mit Rechten auf dem Catalog, sysdba und sysoper sind spezielle Rechte für Shutdown/Restart und Backups.

Mit Revoke wird das jeweils vergebene Recht wieder entzogen. Hat man ein Recht von zwei Usern bekommen und einer entzieht es, hat man das Recht noch vom anderen. Also: revoke muß immer reverse zu grant benutzt werden. Ausnahme: dba-Rechte, da reichts, wenn sie einer entzieht.

Oracle hat noch ca. 1000 andere Rechte, z.B. grant create {synonym|trigger|table|...} to user; Es gibt auch grant create pubic synonym to user; damit der User einen "Link" auf etwas anlegen kann, den alle User sehen.

Interessant sind in diesem Zusammenhang auch Database Links (hier gibts welche mit festverdrateten Usern, solche mit den Rechten des aktuellen User (der muß dann in beiden DBen existieren) und welche, wo nix spezifiziert ist.

Ach Rechte sind einfach zu viele, such mal im technet. Dort ist die Doku. eingestellt. Den Link technet.oracle.com hatte ich ja mal genannt. Die Mitgliedschaft dort ist übrigens kostenlos.
Grüße, Martin
 
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Ja war ich auch! Aber das ist jetzt out! Kurz mein Cheffe hat gesagt, das Oracle nicht mehr benötigt wird. :kopfklatsch
Erst die ganze Arbeit und jetzt das!!! :knall

Aber egal!

Ich mache jetzt MySQL nur so zum testen und zum rumdaddeln. weil ich eh nur noch bis Freitag in dem Betrieb bin und dann komme ich woanders hin!
 
A

Alokat

Threadstarter
Mitglied seit
22.11.2004
Beiträge
553
Aber danke für deine Hilfe, dass wird mir weiterhelfen.
 
Thema:

SQL

SQL - Ähnliche Themen

  • sqlservr.exe SQL Server Windows NT - 64 Bit very high memory usage

    sqlservr.exe SQL Server Windows NT - 64 Bit very high memory usage: Der Systemprozess sqlservr.exe hat mitunter eine CPU Auslatung von bis zu 60%. Erkennbare Anwendungen werden zu dessen Spitzenauslastungen...
  • Fehlermeldung 3414 SQL Startet nicht mehr

    Fehlermeldung 3414 SQL Startet nicht mehr: Hallo, leider habe bis jetzt keine Lösung gefunden. Siehe Foto Ich kann momentan keine Backups machen oder SQL Server starten. Funktioniert...
  • SQL-Server ist mit Windows 10 schneller als mit Windows Server 2016

    SQL-Server ist mit Windows 10 schneller als mit Windows Server 2016: Hallo, ich habe eine Frage, warum ist ein SQL-Server Standard 2017 der auf einem Windows 10 installiert ist schneller als wenn ich ihn auf...
  • Fehlermeldung SQL Local DB 11.0 ID 528 wie beheben?

    Fehlermeldung SQL Local DB 11.0 ID 528 wie beheben?: Fehlermeldung SQL Local DB 11.0 ID 528 wie beheben?
  • Microsoft SQL Server 2017 Reporting Services aktivieren

    Microsoft SQL Server 2017 Reporting Services aktivieren: Hallo liebe Community, ich erhalte folgende Fehlermeldung, wenn ich Microsoft SQL Server 2017 Reporting Services mit unserem Productkey...
  • Ähnliche Themen

    Oben