welches Recht für ODBC-Zugriff

18. November 2009 12:12

Hallo zusammen,

ich bin dabei diverse Tools zu entwickeln, welche Daten via ODBC aus Navision ziehen und dann weiterverarbeiten.

Ich habe auch bereits alles am laufen und die ADO-Connections laufen einwandfrei. Allerdings nur, wenn ich den Zugriff mit einem User mache, der als Super-User angelegt ist. Bei Zugangsdaten eines "normalen" MA kommt aber leider "no permission".

Die Tools sollen aber künftig von diversen MA verwendet werden, welche natürlich keine Möglichkeit haben sollen auf alle Tabellen oder Daten zugreifen zu können, weshalb ich natürlich keinen Super-User zur Verfügung stellen will.

Wie kann ich es realisieren, dass ich entweder bei den MA einen ODBC-Zugriff einrichte, bei dem die eigentliche Rechtestruktur des MA greift (nur die Tabellen, Mandanten, Kostenstellen die er im Live-Betrieb auch hat)? Also sprich, welches Recht muss ich dem MA geben? Idealerweise auch nur lesender Zugriff per ODBC und nur auf bestimmte Tabellen.

Andere Alternative wäre, einen seperaten ODBC-User einzurichten, welcher dann aber eben nur Zugriff auf ausgewählte Tabellen hat. Das wäre insofern nicht problematisch, da die MA in der Regel über alle Mandanten die gleichen Rechte haben. Jedoch muss in jedem Fall vermieden werden, dass z.B. Tabellen aus dem HR-Bereich gelesen werden können. Da wir hier über ca. 6-8 Tabellen sprechen, die ausgelesen werden sollen, könnte man die schön vorher selektieren. Doch wie stelle ich diese Berechtigungen für ODBC ein?

Ich glaube zwar nicht, dass einer von denen in der Lage wäre eine ODBC-Connection selber aufzubauen, aber Vorsicht ist die Mutter der Porzellankiste. Falls doch ein Crack dabei ist, darf eben nur an die Daten kommen, die auch im Live-Betrieb zu erreichen wären. Ich schreibe den ganzen Code zwar in VBA und dieser wird auch geschützt, so dass die Zugangsdaten im Normalfall auch nicht gesehen werden können, aber ein Spezi könnte eben auch den VBA-Schutz aushebeln und so an den Code kommen. Ich weiß nämlich wie einfach das ist :mrgreen: , wenn man weiß wie...

Re: welches Recht für ODBC-Zugriff

18. November 2009 12:20

Wow, darüber konnte ich tatsächlich eine Antwort finden in KB861705.
Des Rätsels Lösung: Die Benutzer brauchen die Systemberechtigung 9130. Hierfür kannst du ja eine extra "ODBC"-Rolle erstellen und den passenden Benutzern hinzufügen.

Re: welches Recht für ODBC-Zugriff

18. November 2009 12:30

Hi Natalie,

das hatte ich schon probiert. Ich habe eine Rolle definiert und dieser Rolle genau dieses Recht gegeben. Leider bekommt dann damit aber via ODBC Zugriff auf alle Tabellen. So konnte ich zum Beispiel sogar Zugriff auf die Tabelle mit den Benutzern mit den Kennwörtern nehmen. Die eigentlichen Zugriffsrechte greifen hiermit scheinbar nicht. Hinzu kommt dass man dieses Recht nicht auf "lesend" einschränken kann. Ich habe auch schon versucht diese Rolle mit "Tabellendaten" lesen auf bestimmte Tabellen zu ergänzen. Leider keine Wirkung :-(

Hast Du da noch eine Idee?

Gruß
Olli

Re: welches Recht für ODBC-Zugriff

18. November 2009 12:58

Hi Natalie,

ich gerade noch mal was getestet. Ich hatte die Befürchtung, dass vielleicht irgend ein Rollenrecht (z.B. Tabelle 0) ist allen Usern zugeordnet hier übersteuern könnte. Ich habe einen eigenen User namens ODBC eingerichtet, welcher nur die Rolle _ODBC mit dem Recht 9130 und Zugriff auf eine einzige Tabelle bekommen hat. Selbst hier kam ich per Abfrage auf alle Tabellen. Kann es sein, dass sich ODBC gar nicht einschränken läßt?

Gruß
Olli

Re: welches Recht für ODBC-Zugriff

18. November 2009 13:03

Nur lesen, kannst du, glaube ich, im ODBC- Treiber einstellen. Die Benutzer-Datei enthält die Kennworte verschlüsselt.

Re: welches Recht für ODBC-Zugriff

18. November 2009 13:05

Hallo ExcelSpezi,

vielen Dank für deinen Beitrag, leider mussten wir feststellen, dass du das Thema durch eine Antwort auf deinen eigenen Beitrag wieder nach oben geschoben hast.

Wir bitten dich, zukünftig mindestens 24 Stunden zwischen zwei Antworten zu warten.
Falls du deinem Beitrag weitere Informationen hinzufügen möchtest, nutze hierzu bitte die [Ändern]-Funktion (rechts oben in jedem deiner Beiträge zu finden).


Vielen Dank für dein Verständnis.

Gruß, Timo Lässer
MSDynamics.de-Team