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
Dabei 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
Dabei seit
22.11.2004
Beiträge
553
Kommt schon, wo sind denn hier die ganzen Datenbank progger???
 
stpe

stpe

Dabei 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
Dabei 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

Dabei 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
Dabei 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
Dabei seit
22.11.2004
Beiträge
553
Aber danke für deine Hilfe, dass wird mir weiterhelfen.
 
Thema:

SQL

SQL - Ähnliche Themen

  • SQL Express 2019 Probleme Installation

    SQL Express 2019 Probleme Installation: Guten Abend! Ich habe einen PC mit WIN10 Prof. auf diesem würde ich gerne SQL Express 2019 installieren. Wenn ich das heruntergeladene...
  • (PowerShell) Loop through get-aduser and insert to sql-table

    (PowerShell) Loop through get-aduser and insert to sql-table: Hello, I try to insert all Results from Get-Aduser into a SQL Table / Database I already did it with a variable, like $u = get-aduser... and so...
  • Version of SQL Server - how to find?

    Version of SQL Server - how to find?: Windows 10 - how to find the version of the installed SQL-Server?
  • SQL Datenbank Pfad

    SQL Datenbank Pfad: Hallo Com Haben einen SQL Express 2017 Installiert jedoch haben wir den SQL Datenbank Pfad nicht. Wie kann dieser am schnellsten herausgefunden...
  • Ähnliche Themen
  • SQL Express 2019 Probleme Installation

    SQL Express 2019 Probleme Installation: Guten Abend! Ich habe einen PC mit WIN10 Prof. auf diesem würde ich gerne SQL Express 2019 installieren. Wenn ich das heruntergeladene...
  • (PowerShell) Loop through get-aduser and insert to sql-table

    (PowerShell) Loop through get-aduser and insert to sql-table: Hello, I try to insert all Results from Get-Aduser into a SQL Table / Database I already did it with a variable, like $u = get-aduser... and so...
  • Version of SQL Server - how to find?

    Version of SQL Server - how to find?: Windows 10 - how to find the version of the installed SQL-Server?
  • SQL Datenbank Pfad

    SQL Datenbank Pfad: Hallo Com Haben einen SQL Express 2017 Installiert jedoch haben wir den SQL Datenbank Pfad nicht. Wie kann dieser am schnellsten herausgefunden...
  • Oben