Bodo's Dynamics NAV Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet. In diesem Blog veröffentlicht Bodo von Zeit zu Zeit technische Kabinettstückchen aus der Welt von Dynamics NAV und .NET.Der Unterschied zwischen den Sicherheitsmodellen Standard und Enhanced
In meinen Schulungen für angehende Dynamics NAV Entwickler wird regelmäßig die Frage gestellt, worin der Unterschied zwischen den Sicherheitsmodellen Standard und Enhanced der Datenbank besteht. Antwort:
Zunächst grundsätzliches. Der NAV Client nutzt für den Zugriff auf die SQL Server Datenbank das Konzept der Anwendungsrollen (siehe dazu http://msdn.microsoft.com/de-de/library/ms190998.aspx). Die in NAV eingerichteten Datenbank- und Windows-Anmeldungen haben keine Berechtigungen für die Datenbanktabellen, sondern tragen lediglich die SQL Server Rolle Public. D.h. nach erfolgreicher Anmeldung des NAV Clients über einen Datenbank- bzw. Windows-Benutzer, erfolgt der Zugriff auf die Datenbanktabellen über die Anwendungsrolle. Das Kennwort der Anwendungsrolle kennt nur der NAV Client, so dass die Anwendungsrolle nicht von anderen Anwendungen genutzt werden kann. Gleichzeitig können die Benutzer mit ihrer Benutzerkennung über ein externes Tool nicht auf die NAV Tabellen zugreifen.
Die Anwendungsrollen finden wir im SQL Server Management Studio unter Datenbanken -> [Name der Datenbank] -> Sicherheit -> Rollen -> Anwendungsrollen.
Und nun zum Unterschied zwischen den Sicherheitsmodellen Standard und Enhanced. Wenn wir Standard einstellen, gibt es genau eine einzige Anwendungsrolle und diese wird von allen Benutzern verwendet. Wenn wir Enhanced einstellen, verwendet jeder Benutzer eine eigene Anwendungsrolle.
Das bedeutet für das Sicherheitsmodell Standard:
- Die eine Anwendungsrolle hat die Berechtigungen zum Lesen, Einfügen, Ändern und Löschen von Datensätzen für alle Datenbanktabellen.
- Die tatsächlichen Berechtigungen eines Benutzers gemäß seiner NAV Rollen werden vom NAV Client geprüft.
- Wenn wir eine neue Datenbanktabelle anlegen, wird diese automatisch der Anwendungsrolle hinzugefügt. Das gilt sowohl für das Anlegen über den Table Designer als auch bei Importieren von Tabellen über das Import Worksheet (.fob und .txt).
- Synchronisieren (Extras -> Zugriffsrechte -> Synchronisieren im NAV Client) löscht die Anwendungsrolle und baut diese neu auf.
- Wir können unsere Active Directory Gruppen als Windows-Anmeldungen verwenden.
Das bedeutet für das Sicherheitsmodell Enhanced:
- Jede Anwendungsrolle bildet genau die Berechtigungen eines Benutzers gemäß der Zugriffsrechte seiner NAV Rollen ab.
- Die Prüfung der Berechtigungen kann daher vom SQL Server übernommen werden und muss nicht durch den NAV Client erfolgen.
- Wenn wir eine neue Datenbanktabelle anlegen, wird diese nicht automatisch den Anwendungsrollen hinzugefügt. D.h., wir müssen anschließend alle Benutzerkennungen synchronisieren. Damit werden alle Anwendungsrollen gelöscht und neu aufgebaut.
- Wenn wir die Zugriffsrechte einer NAV Rolle ändern, müssen wir alle Benutzerkennungen synchronisieren, die diese NAV Rolle verwenden.
- Wenn wir die NAV Rollenzuordnung einer einzelnen Benutzerkennung ändern, müssen wir diese Benutzerkennung synchronisieren.
- Um einzelne Benutzerkennungen zu synchronisieren, können wir „Einfache Anmeldung synchronisieren“ wählen. Dazu die Datenbank- bzw. Windows-Anmeldungen öffnen und die gewünschte Benutzerkennung auswählen.
- Wir können nicht mit Active Directory Gruppen arbeiten. Es ist zwingend notwendig, für jede Benutzerkennung eine eigene Windows-Anmeldung zu haben.
Fazit: Der administrative Aufwand ist mit dem Sicherheitsmodell Enhanced deutlich höher. Und wir haben gegenüber dem Sicherheitsmodell Standard keine Vorteile, sondern eher Nachteile, da wir auch keine Active Directory Gruppen verwenden können. Ich rate daher jedem zur Verwendung des Sicherheitsmodells Standard. Und bitte daran denken, dass bei einer neuen Datenbank die Standardeinstellung Enhanced und nicht Standard ist…
PS: Es würde mich nicht wundern, wenn Microsoft mit NAV „7“ das Konzept der Anwendungsrollen nicht mehr verwenden wird.
Neueste Einträge
- Dynamics NAV und das Ausdrucken externer Dateien
- Fehlende Icons in der Toolbar der Seitenansicht für die Berichte
- Dynamics NAV Web Services und die Reihenfolge der Ereignistrigger
- Der Unterschied zwischen den Sicherheitsmodellen Standard und Enhanced
- NAV 2009 R2 – Login-Dialog für den Role Tailored Client
- [UPDATE] NAV 2009 – Kritischer Fehler in Berichten für den Role Tailored Client
- NAV 2009 – Kritischer Fehler in Berichten für den Role Tailored Client
- NAV 2009 – Security Filter, Buchungsdatum und Rec.READPERMISSION
- NAV 2009 – Funktion FORMAT, Datentyp OPTION und unterschiedliches Verhalten von Classic Client und Role Tailored Client
- NAV 2009 – Quellcode des Transformation Tools veröffentlicht
- NAV 2009 – Copy & Paste und böse Zeichen in Text- und Code-Feldern
- NAV 2009 – Unerwartetes Verhalten von Codeunit.RUN
- NAV 2009 – Notizen und Benachrichtigungen an Active Directory Gruppen
- NAV 2009 – Interner Fehler 12 in Modul 40
- NAV 2009 Form Transformation – Wo sind die deutschen (DEU) Captions hin?
- NAV 2009 und die Frage, warum die Anzahl der Inforegister PAGE.RUNMODAL beeinflusst
- NAV 2009 Web Services und das Geheimnis der Extension Codeunits
- Der NAV-Client zeigt in der Übersicht der aktiven Sessions nur die eigene Session an
- Der NAV-Client versucht, eine externe Komponente auszuführen
Nach Datum
Tag Cloud
2009 active directory add-in addin ascii bericht buchungsdatum caption classic codeunit copy drucken enhanced export extension form format gdpdu icons inforegister ldap login nav option page paste pdf r2 readpermission reihenfolge report rtc run runmodal securtiy service princial name session sicherheit sicherheitsmodelle spn sqlserver standard toolbar transformation transformation tool trigger webservices übersicht

