Jump to content
Jona1341

User Lese Berechtigung über "Schema" steuren

Recommended Posts

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

Share this post


Link to post

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

 

Share this post


Link to post

Hallo Nils,

 

vielen Dank für die schnelle Antwort!

 

Ich muss leider die Anforderung mit einem "Schema" lösen. Wie sieht die Lösung mit einem Schema aus ?

 

Gruß,Jona

 

 

Share this post


Link to post

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

Share this post


Link to post

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

 

Share this post


Link to post

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

Share this post


Link to post

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

 

Share this post


Link to post

Hallo,

 

wie würdest du die Anforderung lösen? Über Rollen?

Es wäre mir auch helfen, wenn du mir ein paar Hinweise über die Umsetzung schreiben würdest.

 

Gruß, Jona

  • Confused 1

Share this post


Link to post

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

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...