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

Geschrieben

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

Geschrieben

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

 

Geschrieben

Hallo,

 

nein. das ist keine Schulaufgabe. Ich bekomme keine *admin Berechtigungen auf dem SQL Server. Das ist unglaublich, aber das ist wahr.

Deshalb muss ich die Anforderung über die Möglichkeit "Schema" lösen.

 

Gruß, Jona

Geschrieben

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

 

Geschrieben

Hallo Nils,

 

ich habe ein Schema mit dem Namen: "AR_Gruppe"  angelegt.

image.png.8532617cdaee976681459020b6cefc70.png

 

In Section "Permissions" kann doch kein View zugeordnet oder angelegt werden. Oder habe ich deine Aussage nicht richtig verstanden?

 

image.png.5411f388555f8f364ab58d1217c844e3.png

 

Gruß, Jona

Geschrieben

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

 

Geschrieben

Moin,

 

Hab ich doch schon mehrfach gesagt. Ich würde einfach direkt den Gruppen die Berechtigungen auf die vorhandenen Views geben. In dem kleinen Umfang, den du beschreibst, reicht das doch völlig aus.

 

Dazu dient das Kommando GRANT, wie auch schon gesagt.

 

Gruß, Nils

 

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...