Jump to content

User Lese Berechtigung über "Schema" steuren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich habe auf dem SQL Server 2016 eine Datenbank: DB_Kunden

In dieser Datenbank gibt es 4 Views : View_01, View_02, View_03, View_04

Es gibt auch 3 Aktive Directory Gruppen : AD_01 , AD_02 , AD_ 03. 

Die Gruppe AD_01 soll nur für die View_01 und View_02 Leseberechtigung bekommen.

Die Gruppe AD_02 soll nur für den View_03  Leseberechtigung bekommen.

Die Gruppe AD_03 soll nur für den View_04  Leseberechtigung bekommen.

Kann man diese Berechtigung Konstruktion mit der Erstellung eines „Schema“ lösen?

Wenn die Antwort ja ist, bitte ich mir die Lösung schrittweise mitteilen.

 

Vielen Dank schon im voraus.

Gruß Jona

Link zu diesem Kommentar

Moin,

 

das könnte man, aber wenn in deinem Szenario nur die genannten Anforderungen bestehen, wäre die Definition eines Schemas wahrscheinlich zu hoch gegriffen. Bei dir gibt es ja nur wenige einfache Berechtigungen. Da würde man innerhalb des Standardschemas "dbo" bleiben (was auch den Vorteil hat, dass man die Objekte der Datenbank, z.B. die Views, mit einfacherer Syntax ansprechen kann).

 

Ein Schema ist vor allem in komplexeren Situationen interessant, wenn man auch noch Feinheiten wie den Owner-Zugriff steuern möchte oder wenn man auf hoher Ebene sehr unterschiedliche Berechtigungsrollen umsetzen muss.

 

Also, streng genommen ist die Antwort: Ja, man kann die Anforderung mit einem Schema lösen. Aber, wie gesagt, wenn die Anforderung schon vollständig beschrieben ist, dann ist ein Schema unnötig aufwändig. 

 

Gruß, Nils

 

Link zu diesem Kommentar

Moin,

 

das versteh ich nicht. Wie willst du denn ein Schema erzeugen und Berechtigungen vergeben, wenn dir die Rechte dazu fehlen? Und falls das jemand anders für dich tun muss, liegt die Aufgabe doch bei ihm.

 

Also grob gesagt: Wenn es denn mit einem Schema laufen soll, dann erzeugst du ein neues Schema in der Datenbank. Innerhalb dieses Schemas legst du dann deine vier Views an. Falls diese bereits existieren, verschiebst du sie in das neue Schema. Und dann erteilst du eben die Berechtigungen.

 

Oder du sparst dir den Umstand und erteilst die Berechtigungen einfach direkt innerhalb des bestehenden Schemas. Dafür ist die Anweisung GRANT zuständig.

 

Wie ich schon sagte, ein (zusätzliches) Schema ist nicht erforderlich, um Berechtigungen zu vergeben. Es macht die Dinge auch nicht einfacher - jedenfalls nicht, solange wir nicht über ganz andere Größenordnungen sprechen.

 

Gruß, Nils

 

Link zu diesem Kommentar

Moin,

 

eine Anleitung kann ich dir nicht geben. Konkrete Umsetzungserfahrung habe ich mit Schemas im SQL Server nicht - weil, wie ich vielleicht schon andeutete, nur selten Bedarf daran besteht. Als nächstes müsstest du jedenfalls deine Views in das Schema verschieben (mit ALTER SCHEMA sollte das gehen) oder diese dort anlegen, falls sie noch gar nicht existieren. Erst danach kannst du Berechtigungen vergeben.

 

Oder, wie gesagt, du lässt den Umweg mit dem Schema einfach bleiben ...

 

Gruß, Nils

 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...