{"id":55001294,"date":"2021-04-01T00:00:00","date_gmt":"2021-07-31T10:18:03","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1294"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/","title":{"rendered":"SQL Server-Security &#8211; Teil 5: Rechtevergabe auf Abteilungsebene"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Bernd Jungbluth &#8211; Horn<\/b><\/p>\n<p><b>Die aktuelle Rechtevergabe der Beispielapplikation erlaubt den Anwendern eine Anmeldung am SQL Server und den Zugang zur Datenbank WaWi_SQL. Innerhalb der Datenbank ist ihnen das Lesen und Schreiben der Daten sowie das Ausf&uuml;hren von Gespeicherten Prozeduren erlaubt. Ein solch pauschales Berechtigungskonzept beinhaltet viel zu viele Rechte. Den Anwendern stehen alle Daten zur Verf&uuml;gung &#8211; sogar die Daten, die sie besser nicht lesen oder &auml;ndern sollten. Um das zu verhindern, bedarf es einer detaillierteren Rechtevergabe. Eine m&ouml;gliche Variante zeigt Ihnen dieser Beitrag.<\/b><\/p>\n<h2>Warnung<\/h2>\n<p>Die beschriebenen Aktionen haben Auswirkungen auf Ihre SQL Server-Installation. F&uuml;hren Sie die Aktionen nur in einer Testumgebung aus. Verwenden Sie unter keinen Umst&auml;nden Ihren produktiven SQL Server!<\/p>\n<h2>Aktueller Stand<\/h2>\n<p>Das derzeitige Berechtigungskonzept basiert auf der SQL Server-Anmeldung <b>WaWiMa<\/b>. Mit dieser Anmeldung stellt die Access-Applikation <b>WaWi <\/b>die Verbindung zur SQL Server-Datenbank <b>WaWi_SQL <\/b>her. Ob nun eine Mitarbeiterin aus dem Vertrieb oder ein Mitarbeiter aus der Personalabteilung mit der Access-Applikation <b>WaWi <\/b>arbeitet, der Datenzugriff erfolgt immer &uuml;ber die gleiche Anmeldung. Die Zugriffsrechte werden folglich nicht &uuml;ber den Anwender, sondern &uuml;ber die Applikation gesteuert.<\/p>\n<p>Welcher Anwender in der Applikation mit welchen Daten arbeiten darf, wird beim Start der Applikation bestimmt. Im Start-Formular ermittelt die VBA-Funktion <b>fBerechtigungen <\/b>den aktuellen Windows-Benutzer und aktiviert entweder die Schaltfl&auml;chen f&uuml;r den Vertrieb oder die f&uuml;r die Personalverwaltung.<\/p>\n<p>Auf diese Weise wird verhindert, dass ein Mitarbeiter des Vertriebs die Funktionen der Personalverwaltung nutzen kann. Allerdings schr&auml;nkt dies nur den Zugriff auf die Funktionen ein, nicht aber den auf die Daten. Die Zugriffssteuerung findet ausschlie&szlig;lich im Start-Formular statt. Umgeht ein Anwender dieses Formular, stehen ihm alle Daten der Datenbank <b>WaWi_SQL <\/b>zur Verf&uuml;gung. Dazu geh&ouml;ren auch die Daten der Personalverwaltung.  <\/p>\n<p>Das gilt es zu vermeiden. Dazu wird das Berechtigungskonzept um eine weitere Anmeldung im SQL Server erg&auml;nzt. Das Ziel ist eine Rechtevergabe auf Abteilungsebene.<\/p>\n<h2>Pro Abteilung eine Anmeldung<\/h2>\n<p>Das neue Berechtigungskonzept enth&auml;lt zwei SQL Server-Anmeldungen, eine f&uuml;r die Installationen der Access-Applikation <b>WaWi<\/b> im Vertrieb und eine weitere f&uuml;r die Installationen in der Personalabteilung. Zur Umsetzung des neuen Berechtigungskonzepts ist zuerst eine Anmeldung im SQL Server anzulegen und der Datenbank <b>WaWi_SQL <\/b>zuzuordnen.<\/p>\n<p>Der dabei erstellte Benutzer erh&auml;lt in der Datenbank pauschale Lese- und Schreibrechte sowie das Recht zum Ausf&uuml;hren aller gespeicherten Prozeduren. Auf den Rechnern der Personalabteilung wird dann in den bestehenden ODBC-Datenquellen die neue Anmeldung eingetragen. Abschlie&szlig;end sind in der Access-Applikation die Tabellen neu einzubinden und die Verbindungseigenschaften der Pass-Through-Abfragen sowie die der ADO-Zugriffe anzupassen. <\/p>\n<p>Auf den Rechnern des Vertriebs sind keine &Auml;nderungen notwendig. Die Verbindung von der Access-Applikation zur SQL Server-Datenbank erfolgt dort weiterhin &uuml;ber die Anmeldung <b>WaWiMa<\/b>. Allerdings wird diese in ihren Rechten eingeschr&auml;nkt. Die Zugriffe auf die f&uuml;r die Personalverwaltung relevanten Tabellen und gespeicherten Prozeduren werden verweigert. Das Einschr&auml;nken dieser Rechte findet im SQL Server statt.<\/p>\n<p>Doch der Reihe nach. Als Erstes erstellen Sie die Beispielumgebung mit der SQL Server-Datenbank <b>WaWi_SQL<\/b>, der gleichnamigen ODBC-Datenquelle und der Access-Applikation <b>WaWi<\/b>. Die hierzu notwendigen Schritte sehen Sie in der Installationsanleitung am Ende dieses Beitrags.<\/p>\n<p>Danach legen Sie die neue SQL Server-Anmeldung an. &Ouml;ffnen Sie dazu das SQL Server Management Studio und verbinden Sie sich mit Ihrem SQL Server. Im Objekt-Explorer erweitern Sie den Ordner <b>Sicherheit <\/b>und w&auml;hlen im Kontextmen&uuml; des Unterordners <b>Anmeldungen <\/b>den Eintrag <b>Neue Anmeldung <\/b>(siehe Bild 1). Im Dialog <b>Anmeldung &#8211; Neu <\/b>geben Sie der Anmeldung den Namen <b>WaWiPersonal <\/b>und aktivieren die Option <b>SQL Server-Authentifizierung<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.01.png\" alt=\"Der Weg zur neuen Anmeldung\" width=\"424,7115\" height=\"446,8198\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Der Weg zur neuen Anmeldung<\/span><\/b><\/p>\n<p>Das Kennwort zur Anmeldung tragen Sie in den beiden Eingabefeldern <b>Kennwort <\/b>und <b>Kennwort best&auml;tigen <\/b>ein. Vergeben Sie ein gutes Kennwort. Eines, das nicht leicht zu erraten ist. Immerhin soll es die Daten der Personalverwaltung vor unbefugtem Zugriff sch&uuml;tzen. Stellen Sie sich nur einmal die Diskussionen vor, wenn unerlaubterweise die Geh&auml;lter der Mitarbeiter ver&ouml;ffentlicht w&uuml;rden!<\/p>\n<p>Die Option <b>Kennwortrichtline <\/b>unterst&uuml;tzt Sie bei der Vergabe des Kennworts. Ist die Option aktiviert, muss das Kennwort den in Ihrem Unternehmen g&uuml;ltigen Richtlinien zur Vergabe von Kennw&ouml;rtern entsprechen. Sollten Sie keine Kennwortrichtlinien definiert haben, k&ouml;nnen Sie das Kennwort nach einem Muster erstellen oder Sie lassen sich eines in einem Passwort-Safe generieren. Ein m&ouml;gliches Muster wie die Vor- und Nachteile beider Vorgehensweisen wurden im dritten Teil dieser Beitragsreihe beschrieben. <\/p>\n<p>Kennw&ouml;rter sollten Sie regelm&auml;&szlig;ig &auml;ndern. Bei aktivierter Option <b>Ablauf des Kennworts erzwingen <\/b>erinnert Sie der SQL Server gem&auml;&szlig; Ihrer Kennwortrichtlinien an diese Empfehlung.<\/p>\n<p>Diese Art der Erinnerung kann sich jedoch schnell kontraproduktiv auswirken. Ist das Kennwort abgelaufen, verlangt der n&auml;chste Anmeldeversuch die Vergabe eines neuen Kennworts. Ein neues Kennwort ist schnell vergeben.<\/p>\n<p>Das ist aber nur ein Teil der Aufgabe. Danach sind noch alle Client-Applikationen, die diese Anmeldung verwenden, an das neue Kennwort anzupassen. Je nach Anzahl der Client-Applikationen ist das schnell ein gr&ouml;&szlig;erer Aufwand. Am besten deaktivieren Sie die Option <b>Ablauf des Kennworts erzwingen<\/b>. Das spart Ihnen unangenehme &Uuml;berraschungen. Legen Sie sich stattdessen besser einen Termin an, der Sie an die Vergabe eines neuen Kennworts erinnert.<\/p>\n<p>Das Entfernen des H&auml;kchens in der Option <b>Ablauf des Kennworts erzwingen <\/b>deaktiviert sinnvollerweise ebenso die Option <b>Benutzer muss das Kennwort bei der n&auml;chsten Anmeldung &auml;ndern<\/b>.<\/p>\n<p>Es macht keinen Unterschied, ob das Kennwort beim Ablauf oder bei der n&auml;chsten Anmeldung ge&auml;ndert werden muss. Mit der Kennwort&auml;nderung alleine ist es nicht getan. Es hat immer eine Anpassung der abh&auml;ngigen Client-Applikationen zur Folge.<\/p>\n<p>Als N&auml;chstes legen Sie die Standarddatenbank der Anmeldung fest. Die Standarddatenbank wird verwendet, wenn beim Aufbau der Verbindung die Datenbank nicht explizit angegeben ist. W&auml;hlen Sie in der Auswahlliste <b>Standarddatenbank <\/b>den Eintrag <b>WaWi_SQL<\/b>.<\/p>\n<p>Die Konfiguration der neuen Anmeldung w&auml;re damit soweit abgeschlossen (siehe Bild 2). Dennoch sollten Sie nicht auf <b>OK <\/b>klicken. In der Seite <b>Benutzerzuordnung <\/b>k&ouml;nnen Sie jetzt n&auml;mlich direkt den zugeh&ouml;rigen Benutzer in der Datenbank <b>WaWi_SQL <\/b>anlegen und ihm die entsprechenden Rechte geben.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.02.png\" alt=\"Die Anmeldung WaWiPersonal\" width=\"649,559\" height=\"588,3685\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Die Anmeldung WaWiPersonal<\/span><\/b><\/p>\n<p>Wechseln Sie zur Seite <b>Benutzerzuordnung <\/b>und w&auml;hlen Sie im oberen Bereich die Datenbank <b>WaWi_SQL <\/b>aus. Durch diese Auswahl wird der Benutzer <b>WaWiPersonal <\/b>in der Datenbank erstellt. Im unteren Bereich geben Sie dem Benutzer die Zugriffsrechte.<\/p>\n<p>Aktivieren Sie hierzu die Systemdatenbankrollen <b>db_datareader <\/b>und <b>db_datawriter <\/b>plus die Benutzerdatenbankrolle <b>edb_execute <\/b>(siehe Bild 3). Diese Datenbankrolle wurde im vorheigen Beitrag dieser Reihe eingef&uuml;hrt (<b>SQL Server-Security, Teil 4: Schutz mit Datenbankrollen<\/b>, <b>www.access-im-unternehmen.de\/1274<\/b>).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.03.png\" alt=\"Der Benutzer WaWiPersonal\" width=\"649,559\" height=\"588,3685\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Der Benutzer WaWiPersonal<\/span><\/b><\/p>\n<p>Sie beinhaltet die Rechte zur Ausf&uuml;hrung aller gespeicherten Prozeduren. Um die Datenbankrolle <b>public <\/b>m&uuml;ssen Sie sich vorerst nicht k&uuml;mmern. Hierbei handelt es sich um eine Standardzuordnung. Die Vorteile und vor allem die Nachteile dieser Datenbankrolle lernen Sie in einem der n&auml;chsten Beitr&auml;ge kennen.<\/p>\n<p>Ein Klick auf <b>OK <\/b>erstellt zuerst die Anmeldung <b>WaWiPersonal <\/b>und dann in der Datenbank <b>WaWi_SQL <\/b>den zugeh&ouml;rigen Benutzer. Die Anmeldung sehen Sie im Unterordner <b>Anmeldungen <\/b>des Ordners <b>Sicherheit<\/b>. Den Benutzer finden Sie in der Datenbank <b>WaWi_SQL<\/b>. Dort gibt es ebenfalls einen Ordner namens <b>Sicherheit<\/b>. Dieser listet die Benutzer der Datenbank im Ordner <b>Benutzer <\/b>auf.<\/p>\n<p>Das Berechtigungskonzept ist nun um eine Anmeldung reicher. Mit dieser Anmeldung authentifiziert sich der Anwender am SQL Server. Die Anmeldung ist in der Datenbank <b>WaWi_SQL <\/b>fest mit dem gleichnamigen Benutzer verbunden.<\/p>\n<p>Diese Zuordnung autorisiert die Anmeldung und somit den Anwender f&uuml;r den Zugang zur Datenbank. Die Rechte f&uuml;r den Datenzugriff sind am Benutzer definiert. Dieser ist aktuell den Datenbankrollen <b>db_datareader<\/b>, <b>db_datawriter <\/b>und <b>edb_execute <\/b>zugeordnet. Der Anwender darf mit diesen Rechten in der Datenbank jegliche Daten lesen und schreiben sowie alle gespeicherten Prozeduren ausf&uuml;hren.<\/p>\n<p>Soweit in Kurzform die Beschreibung der Anmeldung <b>WaWiPersonal <\/b>innerhalb der mehrstufigen Sicherheitsarchitektur von SQL Server.<\/p>\n<p>Das ist aber noch nicht alles. Schlie&szlig;lich erfolgt der Anmeldevorgang am SQL Server aktuell nicht durch den Anwender, sondern automatisch in der Access-Applikation <b>WaWi<\/b>. Die muss jetzt noch an die neue Anmeldung angepasst werden.<\/p>\n<h2>Eine Anmeldung f&uuml;r die Personalabteilung<\/h2>\n<p>In der Realit&auml;t w&uuml;rden Sie nun in die Personalabteilung gehen und dort auf den einzelnen Rechnern die Access-Applikation mitsamt der ODBC-Datenquelle anpassen.<\/p>\n<p>Um dieses Szenario nachzustellen, kopieren Sie die Access-Applikation <b>WaWi <\/b>und geben der Kopie den Namen <b>WaWi Personal<\/b>. Als n&auml;chstes &auml;ndern Sie die ODBC-Datenquelle <b>WaWi_SQL<\/b>. Den ODBC-Datenquellen-Administrator starten Sie am besten &uuml;ber die Windows-Suche. Dazu dr&uuml;cken Sie die Windows-Taste und tippen <b>ODBC<\/b>. Das Suchergebnis liefert Ihnen zwei Eintr&auml;ge. W&auml;hlen Sie je nach installierter Access-Version den Eintrag <b>ODBC-Datenquellen (32-Bit) <\/b>oder <b>ODBC-Datenquellen (64-Bit)<\/b>.<\/p>\n<p>Im ODBC-Datenquellen-Administrator wechseln Sie zur Registerkarte <b>System-DSN<\/b>, markieren dort die ODBC-Datenquelle <b>WaWi_SQL <\/b>und klicken auf <b>Konfigurieren<\/b>. Den ersten Schritt des Assistenten &uuml;berspringen Sie mit der Schaltfl&auml;che <b>Weiter<\/b>.<\/p>\n<p>Im zweiten Schritt passen Sie die Anmeldedaten an. Geben Sie im Eingabefeld <b>Anmelde-ID <\/b>den Namen der neuen Anmeldung und im Feld <b>Kennwort <\/b>das zugeh&ouml;rige Kennwort ein (siehe Bild 4). Danach best&auml;tigen Sie diesen sowie den n&auml;chsten Schritt des Assistenten mit einem Klick auf <b>Weiter <\/b>und beenden die Konfiguration im letzten Schritt mit der Schaltfl&auml;che <b>Fertig stellen<\/b>. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.04.png\" alt=\"&Auml;ndern der ODBC-Datenquelle\" width=\"599,593\" height=\"490,4796\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: &Auml;ndern der ODBC-Datenquelle<\/span><\/b><\/p>\n<p>Es folgt eine Zusammenfassung der Konfiguration und die M&ouml;glichkeit, die neuen Anmeldedaten zu testen. Sollte das Ergebnis nach einem Klick auf <b>Datenquelle testen <\/b>nicht erfolgreich sein, haben Sie sich vielleicht beim Kennwort vertippt. In diesem Fall wiederholen Sie die eben beschriebenen Schritte. Nach einem erfolgreichen Test ist die &Auml;nderung der ODBC-Datenquelle abgeschlossen. <\/p>\n<p>Soweit so gut. Die ODBC-Datenquelle verwendet nun die Anmeldung <b>WaWiPersonal<\/b>. Jetzt passen Sie noch die Access-Applikation an die neue Anmeldung an. In der Realit&auml;t w&auml;re dies auf jedem Rechner der Personalabteilung erforderlich. In der Beispielumgebung &ouml;ffnen Sie dazu die eben kopierte Access-Applikation <b>WaWi Personal<\/b>. Dort sind die Tabellen noch mit der Anmeldung <b>WaWiMa <\/b>eingebunden.<\/p>\n<p>Aus diesem Grund entfernen Sie alle eingebundenen Tabellen und binden diese neu ein. Starten Sie &uuml;ber <b>Externe Daten &#8211; Neue Datenquelle &#8211; Aus Datenbank &#8211; Aus SQL Server <\/b>den Dialog <b>Externe Daten &#8211; ODBC-Datenbank <\/b>und aktivieren Sie dort die zweite Option.<\/p>\n<p>Mit einem Klick auf <b>OK <\/b>kommen Sie zum n&auml;chsten Dialog, in dem Sie in der Registerkarte <b>Computerdatenquelle <\/b>die ODBC-Datenquelle <b>WaWi_SQL <\/b>per Doppelklick ausw&auml;hlen. Nun geben Sie das Kennwort zur Anmeldung <b>WaWiPersonal <\/b>ein und schlie&szlig;en den Vorgang mit <b>OK <\/b>ab.<\/p>\n<p>Als Ergebnis sehen Sie im Dialog <b>Tabellen verkn&uuml;pfen <\/b>alle Tabellen der SQL Server-Datenbank <b>WaWi_SQL<\/b>. Aktivieren Sie die Option <b>Kennwort speichern <\/b>und markieren Sie die Tabellen mit dem Pr&auml;fix <b>dbo<\/b>.<\/p>\n<p>Ein Klick auf <b>OK <\/b>&uuml;bernimmt die Auswahl und liefert Ihnen vor dem Einbinden jeder Tabelle eine Meldung (siehe Bild 5). Best&auml;tigen Sie diese Meldungen mit der Schaltfl&auml;che <b>Kennwort speichern<\/b>, um die Anmeldedaten f&uuml;r den Datenzugriff in der Access-Datenbank zu hinterlegen. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.05.png\" alt=\"Speichern des Kennworts\" width=\"599,593\" height=\"102,6177\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Speichern des Kennworts<\/span><\/b><\/p>\n<p>Die frisch eingebundenen Tabellen sind nun im Navigationsbereich zu sehen. Allerdings enthalten die Tabellen den Pr&auml;fix <b>dbo_<\/b>, was nicht den urspr&uuml;nglich eingebundenen Tabellen entspricht. Dies korrigieren Sie mit der VBA-Funktion <b>fTabellenUmbenennen<\/b>. &Ouml;ffnen Sie mit der Tastenkombination <b>Strg + G <\/b>den VBA-Direktbereich und f&uuml;hren Sie dort die Funktion aus. <\/p>\n<p>Die zwei Pass Through-Abfragen der Access-Applikation verwenden aktuell noch die Anmeldung <b>WaWiMa<\/b>. Mit der VBA-Funktion <b>fPassThroughVerbindungen <\/b>&uuml;bertragen Sie die Anmeldedaten der eingebundenen Tabellen in die Verbindungszeichenfolgen der Pass Through-Abfragen. F&uuml;hren Sie diese VBA-Funktion ebenfalls &uuml;ber den VBA-Direktbereich aus.<\/p>\n<p>Es fehlt noch die Konfiguration f&uuml;r den Datenzugriff per ADO. Die hierzu notwendigen Daten sind in der lokalen Tabelle <b>ADO <\/b>gespeichert. Diese Tabelle ist als Systemtabelle deklariert.<\/p>\n<p>Um die Daten der Tabelle &auml;ndern zu k&ouml;nnen, m&uuml;ssen Sie die Deklaration zun&auml;chst entfernen. Dies &uuml;bernimmt die VBA-Funktion <b>fTabelleAlsSystemObjekt<\/b>, die Sie im VBA-Direktbereich wie folgt ausf&uuml;hren:<\/p>\n<pre>fTabelleAlsSystemObjekt \"ADO\", <span style=\"color:blue;\">False<\/span> <\/pre>\n<p>Der Navigationsbereich enth&auml;lt jetzt die Tabelle <b>ADO<\/b>. &Ouml;ffnen Sie die Tabelle und passen Sie die Anmeldedaten in den Feldern <b>Benutzer <\/b>und <b>Kennwort <\/b>an die Anmeldung <b>WaWiPersonal <\/b>an. Um die Tabelle wieder zu verstecken, &auml;ndern Sie im VBA-Direktbereich den Parameterwert <b>False <\/b>in <b>True <\/b>und f&uuml;hren Sie die VBA-Funktion erneut aus.<\/p>\n<p>Mit dem Formular <b>Start <\/b>k&ouml;nnen Sie die neue Anmeldung testen. Ein Klick auf die Schaltfl&auml;che <b>Mitarbeiter <\/b>liefert ein Formular mit den Personaldaten. So soll es sein. Jetzt &ouml;ffnen Sie noch das Formular <b>Ansprechpartner<\/b>. Es zeigt Ihnen wie erwartet die Kontaktinformationen der Ansprechpartner. Der Test ist erfolgreich.<\/p>\n<p>Mit den Rechten der Anmeldung <b>WaWiPersonal <\/b>d&uuml;rfen Sie in der Datenbank <b>WaWi_SQL <\/b>die Daten aller Tabellen lesen und &auml;ndern sowie alle gespeicherten Prozeduren ausf&uuml;hren. <\/p>\n<p>Somit w&auml;re es den Mitarbeitern der Personalabteilung m&ouml;glich, mit ihrer Version der Access-Applikation <b>WaWi <\/b>auf die Daten des Vertriebs zuzugreifen. Nat&uuml;rlich k&ouml;nnte man dies mit einer weiteren Rechtevergabe verhindern. Warum aber sollte man den Aufwand betreiben Es ist bestimmt kein Sicherheitsrisiko, wenn ein Mitarbeiter der Personalabteilung die Kontaktinformationen der Ansprechpartner lesen kann.<\/p>\n<p>Diese Argumentation sollten Sie mal mit Ihrem Datenschutzbeauftragten diskutieren. Er wird einige Einw&auml;nde haben. Als Stichpunkte seien hier Zweckbindung und Privacy By Default genannt. Doch das ist ein Thema f&uuml;r einen sp&auml;teren Beitrag. <\/p>\n<p><!--30percent--><\/p>\n<p>Bis jetzt bringt die Anmeldung <b>WaWiPersonal <\/b>noch keine Vorteile. Schlie&szlig;lich unterscheiden sich die Rechte dieser Anmeldung nicht von denen der Anmeldung <b>WaWiMa<\/b>. Ziel ist es, den Mitarbeitern des Vertriebs den Zugriff auf die Personaldaten zu verweigern. Dazu &auml;ndern Sie die Rechtevergabe zur Anmeldung <b>WaWiMa<\/b>.<\/p>\n<h2>Eine Anmeldung f&uuml;r den Vertrieb<\/h2>\n<p>Die jetzt anstehenden &Auml;nderungen der Rechtevergabe sind &uuml;berschaubar. Sie m&uuml;ssen weder die installierte Access-Applikation noch die ODBC-Datenquelle anpassen. Alle erforderlichen Schritte finden im SQL Server statt. &Ouml;ffnen Sie dazu das SQL Server Management Studio.<\/p>\n<p>Die Rechte f&uuml;r den Datenzugriff werden nicht an der Anmeldung <b>WaWiMa<\/b>, sondern an dem zugeh&ouml;rigen Benutzer in der Datenbank <b>WaWi_SQL <\/b>definiert. Diesen finden Sie im Objekt-Explorer unter <b>Datenbanken &#8211; WaWi_SQL &#8211; Sicherheit &#8211; Benutzer<\/b>. Mit einem Doppelklick auf den Eintrag <b>WaWiMa <\/b>&ouml;ffnen Sie den Dialog <b>Datenbankbenutzer<\/b>. <\/p>\n<p>Aktuell ist der Benutzer <b>WaWiMa <\/b>den Datenbankrollen <b>db_datareader<\/b>, <b>db_datawriter <\/b>und <b>edb_execute <\/b>zugeordnet. Dies erlaubt ihm den lesenden und schreibenden Zugriff auf alle Daten der Datenbank sowie das Ausf&uuml;hren aller gespeicherten Prozeduren.<\/p>\n<p>Sie sehen diese Rechtevergabe auf der Seite <b>Mitgliedschaft<\/b>. Um die relevanten Tabellen und gespeicherten Prozeduren f&uuml;r die Personaldaten von diesem pauschalen Zugriff auszuschlie&szlig;en, m&uuml;ssen Sie diesen Datenbankobjekten gesonderte Rechte vergeben.<\/p>\n<p>Die Rechtevergabe an einzelnen Datenbankobjekten findet in der Seite <b>Sicherungsf&auml;hige Elemente <\/b>statt. Dort legen Sie mit der Schaltfl&auml;che <b>Suchen <\/b>zun&auml;chst eine Vorauswahl fest. Ein Klick auf diese Schaltfl&auml;che liefert Ihnen den Dialog <b>Objekte hinzuf&uuml;gen<\/b>. Hier aktivieren Sie die Option <b>Alle Objekte des Typs <\/b>und klicken auf <b>OK<\/b>.<\/p>\n<p>Im n&auml;chsten Dialog entscheiden Sie sich f&uuml;r die Objekttypen <b>Tabellen <\/b>und <b>Gespeicherte Prozeduren<\/b>. Nach Best&auml;tigen dieser Auswahl sind Sie wieder zur&uuml;ck im Dialog <b>Datenbankbenutzer <\/b>und sehen im oberen Bereich alle Tabellen und gespeicherten Prozeduren der Datenbank. <\/p>\n<p>Markieren Sie die Tabelle <b>Bewerber <\/b>und aktivieren Sie im unteren Bereich die Option <b>Verweigern <\/b>in den Zeilen <b>Aktualisieren<\/b>, <b>Ausw&auml;hlen<\/b>, <b>Einf&uuml;gen <\/b>und <b>L&ouml;schen <\/b>(siehe Bild 6). Durch diese Auswahl wird dem Benutzer <b>WaWiMa <\/b>der lesende und schreibende Zugriff auf die Tabelle <b>Bewerber <\/b>verweigert.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.06.png\" alt=\"Verweigerter Zugriff auf eine Tabelle\" width=\"649,559\" height=\"570,9905\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Verweigerter Zugriff auf eine Tabelle<\/span><\/b><\/p>\n<p>Seine Mitgliedschaft in den Datenbankrollen <b>db_datareader <\/b>und <b>db_datawriter <\/b>erlaubt es dem Benutzer weiterhin alle Daten der Datenbank zu lesen und zu &auml;ndern &#8211; mit Ausnahme der Tabellen, bei denen ihm dies explizit verweigert wird. Das Recht <b>Verweigern <\/b>steht &uuml;ber allen anderen Rechten. <\/p>\n<p>Mit dieser Rechtevergabe ist sichergestellt, dass die Daten der Tabelle <b>Bewerber <\/b>vom Benutzer <b>WaWiMa <\/b>weder gelesen noch geschrieben werden k&ouml;nnen.<\/p>\n<p>Dabei ist es egal, mit welcher Konstellation in Zukunft eine Erlaubnis f&uuml;r den Datenzugriff auf diese Tabelle erteilt wird. Solange der Benutzer das Recht <b>Verweigern <\/b>in der oben beschriebenen Art und Weise besitzt, ist der Zugriff auf die Daten nicht erlaubt. <\/p>\n<p>Es sei denn, Sie ordnen die zugeh&ouml;rige Anmeldung <b>WaWiMa <\/b>der Serverrolle <b>sysadmin <\/b>zu. Mit dieser Zuordnung geben Sie der Anmeldung administrative Rechte. F&uuml;r Anmeldungen mit solchen Rechten gibt es im SQL Server keine Grenzen. Das Sie mit der Serverrolle <b>sysadmin <\/b>sehr vorsichtig umgehen sollten, haben Sie bereits im dritten Beitrag erfahren.<\/p>\n<p>Das Recht <b>Verweigern <\/b>l&auml;sst sich auch bei den gespeicherten Prozeduren anwenden. Dazu markieren Sie im oberen Bereich die gespeicherte Prozedur <b>pSelectGeburtstagsliste <\/b>und aktivieren im unteren Bereich die Option <b>Verweigern <\/b>in der Zeile Ausf&uuml;hren (siehe Bild 7). <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.07.png\" alt=\"Verweigertes Ausf&uuml;hren einer Gespeicherten Prozedur\" width=\"649,559\" height=\"588,3685\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Verweigertes Ausf&uuml;hren einer Gespeicherten Prozedur<\/span><\/b><\/p>\n<p>Bei einer Rechtevergabe an Datenbankobjekten kommen je nach Anzahl der Tabellen und gespeicherten Prozeduren recht viele Klicks auf Sie zu.<\/p>\n<p>Um diesen Aufwand zu reduzieren, best&auml;tigen Sie den Dialog jetzt nicht mit <b>OK<\/b>, sondern klicken auf die Schaltfl&auml;che <b>Skript <\/b>in der Kopfzeile des Dialogs (siehe Bild 8).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.08.png\" alt=\"Erstellen eines T-SQL-Skripts\" width=\"649,559\" height=\"167,8105\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Erstellen eines T-SQL-Skripts<\/span><\/b><\/p>\n<p>Fast alle Eintragungen in den Dialogen des SQL Server Management Studios l&ouml;sen beim Best&auml;tigen entsprechende T-SQL-Anweisungen aus. Die Schaltfl&auml;che <b>Skript <\/b>liefert Ihnen genau diese Anweisungen als SQL-Skript in einer Registerkarte. Hier k&ouml;nnen Sie die Anweisungen anpassen und erweitern. Doch vorher beenden Sie den Dialog <b>Datenbankbenutzer <\/b>mit einem Klick auf <b>Abbrechen<\/b>. <\/p>\n<p>Die Registerkarte zeigt Ihnen f&uuml;nf T-SQL-Anweisungen mit dem Befehl <b>DENY<\/b>. <b>DENY <\/b>steht f&uuml;r Verweigern. Ganz so detailliert m&uuml;ssen die T-SQL-Anweisungen allerdings nicht sein. Die vier Anweisungen zur Tabelle <b>Bewerber <\/b>lassen sich in einer zusammenfassen:<\/p>\n<pre>DENY SELECT, INSERT, UPDATE, DELETE ON dbo.Bewerber TO WaWiMa;<\/pre>\n<p>Diese T-SQL-Anweisung verweigert dem Benutzer <b>WaWiMa <\/b>an der Tabelle <b>Bewerber <\/b>das Lesen der Daten per <b>SELECT <\/b>und das &Auml;ndern der Daten per <b>INSERT<\/b>, <b>UPDATE <\/b>und <b>DELETE<\/b>. Die urspr&uuml;nglichen einzelnen Anweisungen zur Tabelle <b>Bewerber <\/b>k&ouml;nnen Sie l&ouml;schen.<\/p>\n<p>Neben der Tabelle <b>Bewerber <\/b>gibt es mit Mitarbeiter und Stellen noch zwei weitere Tabellen mit relevanten Personaldaten. Kopieren Sie die Zeile von oben und f&uuml;gen Sie diese zweimal ein. Dann &auml;ndern Sie in der einen Zeile den Tabellennamen in <b>Mitarbeiter <\/b>und in der anderen in <b>Stellen<\/b>: <\/p>\n<pre>DENY SELECT, INSERT, UPDATE, DELETE ON dbo.Mitarbeiter TO WaWiMa;\r\nDENY SELECT, INSERT, UPDATE, DELETE ON dbo.Stellen TO WaWiMa;<\/pre>\n<p>Das Skript enth&auml;lt nun mit den drei Tabellen und der gespeicherten Prozedur <b>pSelectGeburtstagsliste <\/b>alle relevanten Objekte.<\/p>\n<p>Sie k&ouml;nnen das Skript mit Kommentaren zu dieser Rechtevergabe erg&auml;nzen und es in Ihrer Dokumentation speichern. Auf diese Weise haben Sie jederzeit die Information, wann und warum Sie die Rechte vergeben haben (siehe Bild 9).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.09.png\" alt=\"T-SQL-Skript zum &Auml;ndern der Rechte\" width=\"649,559\" height=\"291,4293\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: T-SQL-Skript zum &Auml;ndern der Rechte<\/span><\/b><\/p>\n<p>Mit einem Klick auf die Schaltfl&auml;che <b>Ausf&uuml;hren <\/b>werden die Berechtigungen gem&auml;&szlig; den T-SQL-Anweisungen erweitert. Ab jetzt ist der Anmeldung <b>WaWiMa <\/b>der lesende und schreibende Zugriff auf die Daten der Tabellen <b>Bewerber<\/b>, <b>Mitarbeiter <\/b>und <b>Stellen <\/b>sowie das Ausf&uuml;hren der gespeicherten Prozedur <b>pSelectGeburtstagsliste <\/b>nicht mehr erlaubt. F&uuml;r alle anderen Tabellen und gespeicherten Prozeduren gilt diese Einschr&auml;nkung nicht. <\/p>\n<p>Testen Sie es einmal. Starten Sie die Access-Applikation <b>WaWi <\/b>und &ouml;ffnen Sie das Formular <b>Ansprechpartner<\/b>. Wie eben sehen Sie die Kontaktinformationen der Ansprechpartner. Das war zu erwarten.<\/p>\n<p>Schlie&szlig;en Sie das Formular und klicken Sie auf die Schaltfl&auml;che <b>Mitarbeiter<\/b>. Hier wird der Zugriff verweigert (siehe Bild 10). Dies entspricht den neuen Rechten. Die Mitarbeiter des Vertriebs sind nicht mehr in der Lage, die Personaldaten zu lesen oder zu &auml;ndern. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.10.png\" alt=\"Verweigerter Zugriff auf die Tabelle Mitarbeiter\" width=\"424,7115\" height=\"244,7491\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Verweigerter Zugriff auf die Tabelle Mitarbeiter<\/span><\/b><\/p>\n<p>Sie wundern sich &uuml;ber das Ergebnis Ihre ODBC-Datenquelle enth&auml;lt doch die Anmeldung <b>WaWiPersonal<\/b>. M&uuml;ssten dann nicht alle Daten lesbar sein Nein. Der Datenzugriff in der Access-Applikation <b>WaWi <\/b>erfolgt &uuml;ber die Anmeldung <b>WaWiMa<\/b>. Die Anmeldedaten dieser Anmeldung sind im Access-Frontend gespeichert.<\/p>\n<p>Doch wie kommen diese Anmeldedaten in das Access-Frontend Wenn Sie der Installationsanleitung gefolgt sind, haben Sie als erstes die ODBC-Datenquelle <b>WaWi_SQL <\/b>mit der Anmeldung <b>WaWiMa <\/b>erstellt. Anhand dieser ODBC-Datenquelle folgte das Einbinden der Tabellen in die Access-Applikation <b>WaWi<\/b>. Erinnern Sie sich an die Meldungen mit der Schaltfl&auml;che <b>Kennwort <\/b>speichern Durch Best&auml;tigen dieser Meldungen wurden die Anmeldedaten im Access-Frontend hinterlegt. Nach dem Ausf&uuml;hren der VBA-Funktionen war die Installation der Access-Applikation <b>WaWi <\/b>abgeschlossen.<\/p>\n<p>Erst danach kamen die Anpassungen f&uuml;r die Personalabteilung. In der ODBC-Datenquelle haben Sie die Anmeldung in <b>WaWiPersonal <\/b>ge&auml;ndert, um sie dann in dem kopierten Access-Frontend <b>WaWi Personal <\/b>einzusetzen.<\/p>\n<p>Das &Auml;ndern der Anmeldedaten in der ODBC-Datenquelle hat auf die bereits gespeicherten Anmeldedaten der Access-Applikation <b>WaWi <\/b>keine Auswirkung. Das ist jetzt kein Grund, die ODBC-Datenquelle zu l&ouml;schen. Sie ist weiterhin ein wichtiger Bestandteil der Verbindungszeichenfolge. Unter anderem enth&auml;lt sie den Namen des SQL Servers. <\/p>\n<p>Im ersten Moment mag das etwas verwirrend sein, aber eigentlich ist es recht einfach. Beim Zugriff auf eine eingebundene Tabelle werden die im Access-Frontend gespeicherten Anmeldedaten verwendet. Die Anmeldedaten der ODBC-Datenquelle spielen in diesem Moment keine Rolle. Das gilt ebenso f&uuml;r Pass Through-Abfragen. Auch hier erfolgt der Datenzugriff &uuml;ber die dort gespeicherten Anmeldedaten. <\/p>\n<h2>Der Fall Bienlein<\/h2>\n<p>&#8222;Es ist mal wieder Zeit f&uuml;r eine Gehaltserh&ouml;hung.&#8220; freut sich Frau Bienlein und startet ihre Access-Datenbank. Sie &ouml;ffnet die eingebundene Tabelle <b>Mitarbeiter<\/b>, erh&auml;lt aber anstelle der Daten nur eine Fehlermeldung. Das ist nicht unbedingt etwas Neues f&uuml;r Frau Bienlein. Mit Fehlermeldungen hatte sie an dieser Stelle schon &ouml;fter zu tun. Meist hat ein erneutes Einbinden der Tabelle das Problem gel&ouml;st.<\/p>\n<p>Zuversichtlich l&ouml;scht Sie die Tabelle <b>Mitarbeiter <\/b>und &ouml;ffnet &uuml;ber <b>Externe Daten &#8211; Neue Datenquelle &#8211; Aus Datenbank &#8211; Aus SQL Server <\/b>den Dialog <b>Externe Daten &#8211; ODBC-Datenquelle<\/b>. Dort aktiviert sie die zweite Option und klickt auf <b>OK<\/b>. In den n&auml;chsten beiden Dialogen w&auml;hlt sie zuerst die ODBC-Datenquelle <b>WaWi_SQL <\/b>aus und gibt dann das Kennwort zur Anmeldung <b>WaWiMa <\/b>ein.<\/p>\n<p>Als Ergebnis sieht sie im Dialog <b>Tabellen verkn&uuml;pfen <\/b>alle Tabellen der Datenbank <b>WaWi_SQL<\/b>. Alle Nein, auf den ersten Blick fehlt die Tabelle <b>Mitarbeiter<\/b>. Frau Bienlein durchsucht die gesamte Auflistung, doch sie findet weder die Tabelle <b>Mitarbeiter <\/b>noch die Tabelle <b>Bewerber <\/b>(siehe Bild 11).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.11.png\" alt=\"Fehlende Tabellen Mitarbeiter und Bewerber\" width=\"549,6265\" height=\"503,9175\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Fehlende Tabellen Mitarbeiter und Bewerber<\/span><\/b><\/p>\n<p>Ob es am Kennwort liegt Das kann nicht sein. Es gab keine Fehlermeldung bei der Eingabe des Kennworts und die Auswahl von Tabellen ist ja grunds&auml;tzlich m&ouml;glich. Aber wo sind die Tabellen <b>Mitarbeiter <\/b>und <b>Bewerber<\/b> Warum werden sie nicht aufgelistet Frau Bienlein beendet den Dialog mit <b>Abbrechen <\/b>und klickt doppelt auf die noch eingebundene Tabelle <b>Bewerber<\/b>.<\/p>\n<p>Wieder erscheint eine Fehlermeldung (siehe Bild 12). Jetzt schaut sie sich die Fehlermeldung genauer an. Sie versteht allerdings nur das letzte Wort. <b>Verweigert<\/b>. &#8222;Das war&#8220;s dann wohl mit meinen Gehaltserh&ouml;hungen.&#8220; kapituliert Frau Bienlein und schlie&szlig;t entt&auml;uscht ihre Access-Datenbank.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.12.png\" alt=\"Verweigerter Zugriff f&uuml;r Frau Bienlein\" width=\"700\" height=\"90,10641\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Verweigerter Zugriff f&uuml;r Frau Bienlein<\/span><\/b><\/p>\n<p>Als Entsch&auml;digung braucht sie erst mal einen Kaffee. In der K&uuml;che trifft sie zwei Kollegen aus der Personalabteilung. Die beiden tauschen ihren Frust &uuml;ber die Access-Applikation <b>WaWi <\/b>aus. Gestern wurde eine neue Version installiert und erst seit einer Stunde l&auml;sst sich die Applikation wieder starten.<\/p>\n<p>Angeblich lag es an einer neuen Anmeldung. Eine Anmeldung speziell f&uuml;r die Personalverwaltung. F&uuml;r die beiden Kollegen unverst&auml;ndlich, startet die Applikation doch ohne Eingabe irgendwelcher Anmeldedaten. Frau Bienlein wartet scheinbar teilnahmslos auf ihren Kaffee. Insgeheim aber h&ouml;rt sie sehr aufmerksam zu. Eine neue Version mit einer eigenen Anmeldung Ist das der Grund, warum sie die Tabelle <b>Mitarbeiter <\/b>nicht mehr findet Aber wieso hat sie die neue Version nicht erhalten <\/p>\n<p>Zur&uuml;ck an ihrem Arbeitsplatz ruft sie in der IT-Abteilung an. Sie erkl&auml;rt dem IT-Mitarbeiter, dass sie eben von den Problemen mit der neuen Version geh&ouml;rt hat und bittet ihn mit der Auslieferung dieser Version noch etwas zu warten.<\/p>\n<p>Sie h&auml;tte aktuell viel zu viel zu tun und kann sich keine Verz&ouml;gerungen erlauben. Der IT-Mitarbeiter beruhigt Frau Bienlein. Die neue Version ist nur f&uuml;r die Personalabteilung. Au&szlig;erdem hat sich in der Applikation selbst nichts ge&auml;ndert. Es gibt lediglich eine neue Anmeldung. <\/p>\n<p>Frau Bienlein bedankt sich und beendet das Gespr&auml;ch. Es scheint tats&auml;chlich an der neuen Anmeldung zu liegen. Doch wie soll sie nur an das Kennwort dieser Anmeldung kommen Die Mitarbeiter der Personalabteilung braucht sie nicht zu fragen. Deren Version der Access-Applikation verlangt ebenso wenig die Eingabe eines Kennworts wie ihre Version im Vertrieb.<\/p>\n<p>Ob die Anmeldung automatisch erfolgt Dann m&uuml;ssten die Anmeldedaten doch irgendwo gespeichert sein. Vielleicht in der Applikation selbst Es hilft alles nichts. Sie braucht diese neue Access-Applikation der Personalabteilung &#8211; und sie braucht einen Vorwand.<\/p>\n<p>Die Idee f&uuml;r einen Vorwand liefert ihr die Schaltfl&auml;che <b>Geburtstagsliste <\/b>im <b>Start<\/b>-Formular der Access-Applikation. Die Funktionen der Personalabteilung m&ouml;gen f&uuml;r Frau Bienlein zwar nicht aktiviert sein, die zugeh&ouml;rigen Schaltfl&auml;chen sind aber dennoch sichtbar (siehe Bild 13).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.13.png\" alt=\"Start-Formular f&uuml;r Frau Bienlein\" width=\"424,7115\" height=\"227,7901\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: Start-Formular f&uuml;r Frau Bienlein<\/span><\/b><\/p>\n<p>Frau Bienlein ruft in der Personalabteilung an und fragt nach einer Geburtstagsliste. Sie m&ouml;chte gerne das obligatorische Beschenken der Geburtstagskinder &uuml;bernehmen. Eine zeitaufwendige Angelegenheit, muss sie doch jeden Kollegen gegen eine kleine Spende auf einer Geburtstagskarte unterschreiben lassen und dann noch ein passendes Geschenk besorgen. Herr Stromberg von der Personalabteilung ist von der Idee begeistert, hat aber aktuell keine Zeit zum Erstellen der Liste. Frau Bienlein bietet ihre Hilfe an. Sie kommt gerne in die Personalabteilung und druckt die Liste selbst. Ein Vorschlag, den der Kollege Stromberg sehr gerne annimmt.<\/p>\n<p>In der Personalabteilung darf Frau Bienlein den Arbeitsplatz von Herrn Stromberg &uuml;bernehmen. Dieser geht derweil Kaffee f&uuml;r alle Beteiligten holen.<\/p>\n<p>Die Mitarbeiter der Personalabteilung sehen darin kein Problem. Es sind ja nur die Geburtstage der Kollegen. Die sind kein Geheimnis. Meist ist es kaum zu &uuml;berh&ouml;ren, wenn jemand Geburtstag hat. Au&szlig;erdem ist Frau Bienlein mit der Applikation <b>WaWi <\/b>vertraut. Schlie&szlig;lich arbeitet der Vertrieb ebenfalls mit dieser Access-Applikation.<\/p>\n<p>Frau Bienlein &ouml;ffnet die Access-Applikation <b>WaWi<\/b>. Die Benutzersteuerung der Funktion <b>fBerechtigungen <\/b>erkennt den immer noch am Betriebssystem angemeldeten Anwender <b>Stromberg <\/b>und bietet das <b>Start<\/b>-Formular mit den Einstellungen f&uuml;r die Personalabteilung an (siehe Bild 14).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.14.png\" alt=\"Start-Formular f&uuml;r Herrn Stromberg\" width=\"424,7115\" height=\"227,7901\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 14: Start-Formular f&uuml;r Herrn Stromberg<\/span><\/b><\/p>\n<p>Sie erstellt die Geburtstagsliste und &ouml;ffnet vorsorglich den Druckdialog. Jetzt wechselt Sie zum Desktop. Hier klickt sie die Verkn&uuml;pfung zur Access-Applikation <b>WaWi <\/b>mit der rechten Maustaste an und &ouml;ffnet den Eigenschaften-Dialog. Schnell kopiert sie mit der Tastenkombination <b>Strg + C <\/b>den bereits markierten Inhalt der Eigenschaft <b>Ziel <\/b>(siehe Bild 15) und beendet den Dialog mit der Taste <b>Esc<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.15.png\" alt=\"Eigenschaft der Desktop-Verkn&uuml;pfung\" width=\"424,7115\" height=\"595,532\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 15: Eigenschaft der Desktop-Verkn&uuml;pfung<\/span><\/b><\/p>\n<p>Die Zwischenablage enth&auml;lt nun den Pfad zur Access-Applikation. Sie &ouml;ffnet den Windows-Explorer und f&uuml;gt den Inhalt der Zwischenablage per <b>Strg + V <\/b>in die Adresszeile ein. Dort entfernt sie die Anf&uuml;hrungszeichen sowie den Namen der Access-Datenbank (siehe Bild 16) und dr&uuml;ckt die <b>Eingabe<\/b>-Taste.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.16.png\" alt=\"Der Weg zum Access-Frontend\" width=\"649,559\" height=\"288,0307\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 16: Der Weg zum Access-Frontend<\/span><\/b><\/p>\n<p>Frau Bienlein ist im Verzeichnis der Access-Applikation angekommen. Sie markiert das Access-Frontend, dr&uuml;ckt erneut <b>Strg + C <\/b>und f&uuml;gt die Kopie in das allgemein g&uuml;ltige Transfer-Verzeichnis im Netzwerk ein. Dieses Verzeichnis dient dem Austausch von Dateien im Unternehmen. Jeder Mitarbeiter hat hier volle Zugriffsrechte.<\/p>\n<p>Frau Bienlein schlie&szlig;t den Windows-Explorer und kehrt zur Access-Applikation <b>WaWi <\/b>zur&uuml;ck. Im noch offenen Druckdialog w&auml;hlt sie den Drucker der Personalabteilung aus und druckt die Geburtstagsliste. Mit gro&szlig;er Geste holt sie die Geburtstagliste vom Drucker und bedankt sich bei den Kollegen. Doch so einfach will man Frau Bienlein nicht gehen lassen. Der Kaffee ist eingetroffen. Ungeduldig trinkt Frau Bienlein mit den Kollegen der Personalabteilung ihren Kaffee.<\/p>\n<p>Zur&uuml;ck an ihrem Arbeitsplatz verschiebt Frau Bienlein das Access-Frontend auf ihr lokales Laufwerk. Mit einem Doppelklick &ouml;ffnet sie die Access-Applikation. Entt&auml;uscht sieht sie im <b>Start<\/b>-Bildschirm die deaktivierten Schaltfl&auml;chen zu den Funktionen der Personalverwaltung. Das Formular zeigt jetzt auch wieder ihren Namen.<\/p>\n<p>Eben in der Personalabteilung stand dort noch der Name <b>Stromberg<\/b>. Irgendetwas muss beim Start der Access-Applikation den Namen ermitteln. Wie war das nochmal in der Access-Schulung Wie konnte man den Navigationsbereich einblenden Frau Bienlein dr&uuml;ckt die Taste <b>F11<\/b>. Nichts. Keinerlei Auswirkung. Sie schlie&szlig;t die Access-Applikation und startet sie erneut. Dieses Mal h&auml;lt sie dabei die Umschalt-Taste gedr&uuml;ckt. Voila. Anstelle des <b>Start<\/b>-Formulars sieht sie den Navigationsbereich. Dort entdeckt sie die Tabelle <b>Mitarbeiter<\/b>. Gespannt &ouml;ffnet sie die Tabelle mit einem Doppelklick &#8211; und sieht die Personaldaten. <\/p>\n<p>Der Weg zur Gehaltserh&ouml;hung w&auml;re wieder frei. Doch Frau Bienlein m&ouml;chte das Access-Frontend der Personalabteilung so schnell wie m&ouml;glich wieder loswerden. Ihre eigene kleine Access-Datenbank ist ihr einfach lieber. Aber wo sind die Anmeldedaten zu dieser omin&ouml;sen Anmeldung Sie m&uuml;ssen doch irgendwo in dem Access-Frontend gespeichert sein.<\/p>\n<p>Frau Bienlein erinnert sich an die Meldung <b>Kennwort speichern <\/b>beim Einbinden der Tabellen. Ob das Kennwort in den Tabellen hinterlegt ist Mit einem Rechtsklick &ouml;ffnet Sie die Tabelle <b>Mitarbeiter <\/b>in der Entwurfsansicht. Die darauffolgende Meldung ignoriert sie mit einem Klick auf <b>Ja<\/b>. Im Entwurf der Tabelle aktiviert sie das Eigenschaftenblatt und schaut sich die einzelnen Einstellungen genau an. Dort f&auml;llt ihr in der Eigenschaft <b>Beschreibung <\/b>der Eintrag <b>WaWi_SQL <\/b>auf.<\/p>\n<p>Diesen Begriff kennt Frau Bienlein vom Einbinden der Tabelle <b>Mitarbeiter<\/b>. Sie liest weiter und bemerkt den Eintrag <b>UID=WaWiPersonal<\/b>. Das k&ouml;nnte eine Spur sein. Die Applikation hei&szlig;t <b>WaWi <\/b>und schlie&szlig;lich geht es hier um die Personal-Abteilung. Gespannt durchsucht sie den Rest der Beschreibung, findet aber keinen Hinweis zu einem Kennwort.<\/p>\n<p>Frau Bienlein denkt an ihre Pass Through-Abfrage zum L&ouml;schen der Tabelle Bewerber. Gab es da nicht ebenfalls eine Meldung zum Speichern des Kennworts Sie &ouml;ffnet die Pass Through-Abfrage <b>ptSelectGeburtstagsliste <\/b>in der Entwurfsansicht und geht direkt zu den Einstellungen im Eigenschaftenblatt.<\/p>\n<p>In der Eigenschaft <b>ODBC <\/b>entdeckt sie wieder den Begriff <b>WaWi_SQL<\/b>. Moment mal. Was ist das denn Direkt hinter dem Eintrag <b>UID=WaWiPersonal <\/b>steht <b>PWD=SicherIn2021!<\/b> (siehe Bild 17). Ob das die Anmeldedaten sind Aber was bedeutet <b>UID <\/b>und <b>PWD<\/b> Steht <b>PWD <\/b>m&ouml;glicherweise f&uuml;r Password Ein kurzer Blick ins Internet best&auml;tigt ihre Vermutung. <b>UID <\/b>zeigt den Anmeldenamen und <b>PWD <\/b>das Kennwort.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_02\/Abb. 5.17.png\" alt=\"Eigenschaften einer Pass Through-Abfrage\" width=\"700\" height=\"317,1429\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 17: Eigenschaften einer Pass Through-Abfrage<\/span><\/b><\/p>\n<p>Frau Bienlein &ouml;ffnet ihre eigene kleine Access-Datenbank. Routiniert klickt sie sich &uuml;ber den Men&uuml;punkt <b>Externe Daten<\/b> durch die Dialoge bis hin zur Kennworteingabe. Im Feld <b>Anmelde-ID <\/b>tr&auml;gt sie den Wert des Parameters <b>UID <\/b>und im Feld <b>Kennwort <\/b>den Wert des Parameters <b>PWD <\/b>ein.<\/p>\n<p>Gespannt klickt sie auf die Schaltfl&auml;che <b>OK <\/b>und tats&auml;chlich, der Dialog <b>Tabellen verkn&uuml;pfen <\/b>bietet wieder die Tabellen <b>Mitarbeiter <\/b>und <b>Bewerber <\/b>an. Sie markiert beide Tabellen, aktiviert die Option <b>Kennwort speichern <\/b>und &uuml;bernimmt die Auswahl mit <b>OK<\/b>. Nachdem sie die Meldungen mit der Schaltfl&auml;che <b>Kennwort speichern <\/b>best&auml;tigt hat, sieht sie im Navigationsbereich die eingebundenen Tabellen <b>dbo_Mitarbeiter <\/b>und <b>dbo_Bewerber<\/b>.<\/p>\n<p>Ein Doppelklick auf die Tabelle <b>dbo_Mitarbeiter <\/b>liefert ihr die Personaldaten. Schmunzelnd schaut sie &uuml;ber die Spalte <b>Geburtsdatum<\/b>, navigiert zu ihrem Datensatz und erh&ouml;ht den Betrag in der Spalte <b>AktuellesGehalt <\/b>um 5 Euro. Danach &ouml;ffnet sie die Tabelle <b>dbo_Bewerber<\/b>. &#8222;Rache muss sein.&#8220; denkt sich Frau Bienlein und l&ouml;scht alle Daten der Tabelle. <\/p>\n<h2>Fazit und Zusammenfassung<\/h2>\n<p>Mit der SQL Server-Anmeldung <b>WaWiPersonal <\/b>wurde das Berechtigungskonzept um eine weitere Anmeldung erg&auml;nzt. Die neue Anmeldung wird speziell auf den Rechnern der Personalabteilung eingesetzt.<\/p>\n<p>Im Vertrieb erfolgt die Verbindung zum SQL Server wie bisher &uuml;ber die Anmeldung <b>WaWiMa<\/b>. Allerdings wird dieser Anmeldung der lesende und schreibende Zugriff auf die Daten der Personalverwaltung verweigert. Das Lesen und Schreiben der Personaldaten ist nur der Anmeldung <b>WaWiPersonal <\/b>erlaubt. <\/p>\n<p>Die Verwendung unterschiedlicher Anmeldungen im Vertrieb und in der Personalverwaltung erm&ouml;glicht eine detailliertere Rechtevergabe und erh&ouml;ht somit den Grad der Sicherheit um eine weitere Stufe.<\/p>\n<p>Die Rechtevergabe ist eng mit der installierten Access-Applikation <b>WaWi <\/b>verbunden. Nicht der Anwender, sondern die Access-Applikation meldet sich am SQL Server an. Die dazu notwendigen Anmeldedaten sind im zugeh&ouml;rigen Access-Frontend gespeichert.<\/p>\n<p>Mit nur wenig M&uuml;he lassen sich dort der Name der Anmeldung und das Kennwort ermitteln. Nat&uuml;rlich k&ouml;nnen Sie noch mehr Ma&szlig;nahmen zur Absicherung des Access-Frontends treffen. Aber bereits im ersten Beitrag dieser Reihe haben Sie gesehen, dass viele dieser Ma&szlig;nahmen recht einfach zu umgehen sind. <\/p>\n<p>Eine weitere Gefahr stellt die vermeintliche Bedeutung der ODBC-Datenquelle dar. Die dort hinterlegten Anmeldedaten spielen f&uuml;r den eigentlichen Datenzugriff in der Access-Applikation keine Rolle. Sie m&uuml;ssen nicht einmal mit denen &uuml;bereinstimmen, die in der Access-Applikation gespeichert sind.<\/p>\n<p>So kann ein Blick in die ODBC-Datenquelle schnell zu einem falschen Schluss f&uuml;hren. M&ouml;glicherweise f&uuml;hlt man sich in Sicherheit, da dort eine Anmeldung mit geringen Rechten hinterlegt ist. In Wahrheit aber nutzt das Access-Frontend f&uuml;r den Datenzugriff eine andere Anmeldung mit weitaus h&ouml;heren Rechten. Aus diesem Grund sollten Sie sich nicht auf die Anmeldedaten der ODBC-Datenquelle verlassen. <\/p>\n<p>Am besten verzichten Sie auf den Einsatz der ODBC-Datenquellen und speichern die Verbindungsdaten direkt in der Access-Applikation. Diese als DSN-less bekannte Variante lernen Sie im n&auml;chsten Beitrag dieser Reihe kennen.<\/p>\n<h2>Installationsanleitung der Beispielumgebung<\/h2>\n<p>SQL Server &#8211; Wechsel in den Gemischten Modus<\/p>\n<ul>\n<li>Starten Sie das SQL Server Management Studio.<\/li>\n<li>Melden Sie sich mit einer Anmeldung mit administrativen Rechten an.<\/li>\n<li>Klicken Sie mit der rechten Maustaste auf den ersten Eintrag im Objekt-Explorer.<\/li>\n<li>W&auml;hlen Sie den Men&uuml;punkt <b>Eigenschaften <\/b>und wechseln Sie im Dialog zur Seite <b>Sicherheit<\/b>.<\/li>\n<li>Aktivieren Sie die Option <b>SQL Server- und Windows-Authentifizierung<\/b>. <\/li>\n<\/ul>\n<p>Sollte diese Option bereits aktiviert sein, k&ouml;nnen Sie die &Auml;nderung hier abbrechen. Die folgenden Schritte m&uuml;ssen Sie dann nicht ausf&uuml;hren.<\/p>\n<ul>\n<li>Speichern Sie die &Auml;nderung mit <b>OK<\/b>.<\/li>\n<li>Klicken Sie mit der rechten Maustaste auf den ersten Eintrag im Objekt-Explorer.<\/li>\n<li>W&auml;hlen Sie den Eintrag <b>Neu starten <\/b>und best&auml;tigen Sie die folgenden Meldungen.<\/li>\n<\/ul>\n<p>Installation der Beispieldatenbank <b>WaWi_SQL<\/b><\/p>\n<ul>\n<li>Starten Sie das SQL Server Management Studio.<\/li>\n<li>&Ouml;ffnen Sie &uuml;ber <b>Datei|&Ouml;ffnen|Datei <\/b>das Skript <b>WaWi_SQL.sql<\/b>.<\/li>\n<li>Klicken Sie in der Symbolleiste auf die Schaltfl&auml;che <b>Ausf&uuml;hren<\/b>.<\/li>\n<li>Das Anlegen der Datenbank ist abgeschlossen, wenn Sie im unteren Bereich die Ausgabe <b>Fertig! <\/b>sehen.<\/li>\n<\/ul>\n<p>ODBC-Datenquelle <b>WaWi_SQL<\/b><\/p>\n<ul>\n<li>&Ouml;ffnen Sie den ODBC-Datenquelleneditor 32-bit oder 64-bit je nach verwendeter Access-Version.<\/li>\n<li>Wechseln Sie zur Registerkarte <b>System-DSN <\/b>und klicken Sie auf <b>Hinzuf&uuml;gen<\/b>.<\/li>\n<li>W&auml;hlen Sie den Treiber <b>ODBC Driver 17 for SQL Server <\/b>aus.<\/li>\n<li>Wenn Sie den Treiber in der Auswahl nicht sehen, m&uuml;ssen Sie diesen zun&auml;chst installieren. Sie finden den Treiber im Microsoft-Downloadbereich unter dem Suchbegriff <b>ODBC Driver 17 for SQL Server<\/b>.<\/li>\n<li>Geben Sie im Eingabefeld <b>Name <\/b>die Bezeichnung <b>WaWi_SQL <\/b>ein.<\/li>\n<li>W&auml;hlen Sie in der Auswahlliste <b>Server <\/b>Ihren SQL Server aus oder tragen Sie den Namen direkt ein. Den Namen Ihres SQL Servers sehen Sie als ersten Eintrag im Objekt-Explorer im SQL Server Management Studio. Alternativ &ouml;ffnen Sie im SQL Server Management Studio mit einem Klick auf die Schaltfl&auml;che <b>Neue Abfrage <\/b>eine neue Registerkarte und geben dort den Befehl <b>SELECT @@Servername <\/b>ein. Nach einem Klick auf <b>Ausf&uuml;hren <\/b>sehen Sie als Ergebnis den Namen Ihres SQL Servers.<\/li>\n<li>Klicken Sie im ODBC-Datenquelleneditor auf <b>Weiter<\/b>.<\/li>\n<li>Aktivieren Sie die dritte Option mit der Bezeichnung <b>Mit SQL Server-Authentifizierung <\/b>anhand der vom Benutzer eingegebenen Anmelde-ID und des Kennworts.<\/li>\n<li>Geben Sie <b>WaWiMa <\/b>im Eingabefeld <b>Anmelde-ID <\/b>und das Kennwort <b>SicherIn2020! <\/b>im Feld <b>Kennwort <\/b>ein.<\/li>\n<li>Klicken Sie auf <b>Weiter<\/b>.<\/li>\n<li>Aktivieren Sie die Option <b>Die Standarddatenbank &auml;ndern auf <\/b>und w&auml;hlen Sie die Datenbank <b>WaWi_SQL <\/b>aus. Sollten Sie eine Fehlermeldung erhalten, haben Sie sich vielleicht beim Kennwort vertippt. Mit einem Klick auf <b>Zur&uuml;ck <\/b>k&ouml;nnen Sie die Eingabe wiederholen.<\/li>\n<li>Klicken Sie <b>Weiter <\/b>und anschlie&szlig;end auf <b>Fertig stellen<\/b>.<\/li>\n<li>Beenden Sie die Konfiguration mit einem Klick auf <b>OK<\/b>.<\/li>\n<\/ul>\n<p>Beispielapplikation <b>WaWi<\/b><\/p>\n<ul>\n<li>Starten Sie die Access-Beispielapplikation <b>WaWi<\/b>.<\/li>\n<li>Entfernen Sie alle eingebundenen Tabellen.<\/li>\n<li>&Ouml;ffnen Sie &uuml;ber <b>Externe Daten|Neue Daten-quelle|Aus Da&#8211;tenbank|Aus SQL Server <\/b>den Dialog <b>Externe Daten &#8211; ODBC-Datenbank<\/b>.<\/li>\n<li>Aktivieren Sie die zweite Option und klicken Sie auf <b>OK<\/b>.<\/li>\n<li>W&auml;hlen Sie in der Registerkarte <b>Computerdatenquelle <\/b>die ODBC-Datenquelle <b>WaWi_SQL <\/b>aus.<\/li>\n<li>Geben Sie das Kennwort <b>SicherIn2020! <\/b>zur Anmeldung <b>WaWiMa <\/b>ein.<\/li>\n<li>Markieren Sie alle Tabellen mit dem Pr&auml;fix <b>dbo<\/b>.<\/li>\n<li>Aktivieren Sie die Option <b>Kennwort speichern <\/b>und klicken Sie auf <b>OK<\/b>.<\/li>\n<li>Best&auml;tigen Sie jede der folgenden Meldungen mit <b>Kennwort speichern<\/b>.<\/li>\n<li>&Ouml;ffnen Sie mit der Tastenkombination <b>Strg + G <\/b>den Direktbereich im VBA-Editor.<\/li>\n<li>F&uuml;hren Sie im Direktbereich zuerst die Funktion <b>fTabellenUmbenennen <\/b>und dann <b>fPassThroughVerbindungen <\/b>aus. Diese Funktionen passen die Access-Objekte an Ihre Umgebung an.<\/li>\n<li>F&uuml;hren Sie im Direktbereich die Anweisung <b>fTabelleAlsSystemObjekt &#8222;ADO&#8220;, False <\/b>aus.<\/li>\n<li>Wechseln Sie zu Access und erweitern Sie den Navigationsbereich.<\/li>\n<li>&Ouml;ffnen Sie die lokale Tabelle <b>ADO<\/b>.<\/li>\n<li>Tragen Sie in der Spalte <b>Server <\/b>den Namen Ihres SQL Servers ein und in der Spalte <b>Kennwort <\/b>das Kennwort <b>sicher <\/b>und unter Anmeldung <b>WaWiMa <\/b>ein.<\/li>\n<li>Schlie&szlig;en Sie die Tabelle <b>ADO <\/b>und wechseln Sie per Tastenkombination <b>Strg + G <\/b>zum Direktbereich.<\/li>\n<li>F&uuml;hren Sie im Direktbereich die Anweisung <b>fTabelleAlsSystemObjekt &#8222;ADO&#8220;, True <\/b>aus.<\/li>\n<li>Testen Sie den Datenzugriff mit den Schaltfl&auml;chen des Formulars <b>Start<\/b>.<\/li>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Rechtevergabe &#8211; DENY f\u00fcr WaWiMa.sql<\/p>\n<p>WaWi.accdb<\/p>\n<p>WaWi_SQL.sql<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/DEC1D48E-B5EB-4C20-8595-95490D05EA72\/aiu_1294.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die aktuelle Rechtevergabe der Beispielapplikation erlaubt den Anwendern eine Anmeldung am SQL Server und den Zugang zur Datenbank WaWi_SQL. Innerhalb der Datenbank ist ihnen das Lesen und Schreiben der Daten sowie das Ausf&uuml;hren von Gespeicherten Prozeduren erlaubt. Ein solch pauschales Berechtigungskonzept beinhaltet viel zu viele Rechte. Den Anwendern stehen alle Daten zur Verf&uuml;gung &#8211; sogar die Daten, die sie besser nicht lesen oder &auml;ndern sollten. Um das zu verhindern, bedarf es einer detaillierteren Rechtevergabe. Eine m&ouml;gliche Variante zeigt Ihnen dieser Beitrag.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022021,662021,44000022],"tags":[],"class_list":["post-55001294","post","type-post","status-publish","format-standard","hentry","category-66022021","category-662021","category-SQL_Server_und_Co"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server-Security - Teil 5: Rechtevergabe auf Abteilungsebene - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server-Security - Teil 5: Rechtevergabe auf Abteilungsebene\" \/>\n<meta property=\"og:description\" content=\"Die aktuelle Rechtevergabe der Beispielapplikation erlaubt den Anwendern eine Anmeldung am SQL Server und den Zugang zur Datenbank WaWi_SQL. Innerhalb der Datenbank ist ihnen das Lesen und Schreiben der Daten sowie das Ausf&uuml;hren von Gespeicherten Prozeduren erlaubt. Ein solch pauschales Berechtigungskonzept beinhaltet viel zu viele Rechte. Den Anwendern stehen alle Daten zur Verf&uuml;gung - sogar die Daten, die sie besser nicht lesen oder &auml;ndern sollten. Um das zu verhindern, bedarf es einer detaillierteren Rechtevergabe. Eine m&ouml;gliche Variante zeigt Ihnen dieser Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-31T10:18:03+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"32\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"SQL Server-Security &#8211; Teil 5: Rechtevergabe auf Abteilungsebene\",\"datePublished\":\"2021-07-31T10:18:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/\"},\"wordCount\":6359,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/0edc23f74d8246fca9e4da405bcac389\",\"articleSection\":[\"2\\\/2021\",\"2021\",\"SQL Server und Co.\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/\",\"name\":\"SQL Server-Security - Teil 5: Rechtevergabe auf Abteilungsebene - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/0edc23f74d8246fca9e4da405bcac389\",\"datePublished\":\"2021-07-31T10:18:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/0edc23f74d8246fca9e4da405bcac389\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/0edc23f74d8246fca9e4da405bcac389\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server-Security &#8211; Teil 5: Rechtevergabe auf Abteilungsebene\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server-Security - Teil 5: Rechtevergabe auf Abteilungsebene - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/","og_locale":"de_DE","og_type":"article","og_title":"SQL Server-Security - Teil 5: Rechtevergabe auf Abteilungsebene","og_description":"Die aktuelle Rechtevergabe der Beispielapplikation erlaubt den Anwendern eine Anmeldung am SQL Server und den Zugang zur Datenbank WaWi_SQL. Innerhalb der Datenbank ist ihnen das Lesen und Schreiben der Daten sowie das Ausf&uuml;hren von Gespeicherten Prozeduren erlaubt. Ein solch pauschales Berechtigungskonzept beinhaltet viel zu viele Rechte. Den Anwendern stehen alle Daten zur Verf&uuml;gung - sogar die Daten, die sie besser nicht lesen oder &auml;ndern sollten. Um das zu verhindern, bedarf es einer detaillierteren Rechtevergabe. Eine m&ouml;gliche Variante zeigt Ihnen dieser Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-07-31T10:18:03+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"32\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"SQL Server-Security &#8211; Teil 5: Rechtevergabe auf Abteilungsebene","datePublished":"2021-07-31T10:18:03+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/"},"wordCount":6359,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389","articleSection":["2\/2021","2021","SQL Server und Co."],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/","url":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/","name":"SQL Server-Security - Teil 5: Rechtevergabe auf Abteilungsebene - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389","datePublished":"2021-07-31T10:18:03+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/0edc23f74d8246fca9e4da405bcac389"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/SQL_ServerSecurity__Teil_5_Rechtevergabe_auf_Abteilungsebene\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"SQL Server-Security &#8211; Teil 5: Rechtevergabe auf Abteilungsebene"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001294"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001294\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}