Authentifizierung/Autorisierung an SQL-Server via MS-ACCESS

31/07/2008 - 08:37 von fnem | Report spam
Hallo miteinander!

Ich sitze vor einer Access-Altanwendung die Microsoft Access 2003 als
Frontend und SQL Server 2005 als Datenbank verwendet.
Die Servertabellen sind in das Accessfrontend eingebunden. Die
Authentifizierung erfolgt über einen SQL-Server-User der über die
notwendigen Rechte auf die Servertabellen verfügt. Benutzername und
Paßwort sind verschlüsselt in der Anwendung verspeichert.

Es liegt nun eine Anforderung vor den Zugriff auf den SQL-Server über
Windows-Authentifizierung abzuwickeln. Dies wàre kein Problem, würde
man die über ODBC-Datenquellen eingebundenen Tabellen auf
Trusted_connections umstellen und die Windows-User mit entsprechenden
Rechten auf die
Tabellen versehen.

Dies hat die nicht wünschenswerte Folge, dass der Benutzer direkt auf
die Datenbank zugreifen kann. Dies kann durch die Einrichtung einer
Applikationsrolle auf der
Datenbank unterbunden werden, die mit einem eigenen Passwort versehen
ist. Es ist nun leider so, dass in der vorliegenden Implementierung
mittels eingebundener Tabellen
die Anwendungsrolle nicht zum tragen gebracht werden kann. Dies wàre,
meinem Verstàndnis nach, nur bei einer ADP-Anwendung möglich.
Eine Umstellung auf ein Access Project kommt jedoch nicht in Frage, da
der Änderungsaufwand an der bestehenden Anwendung zu hoch wàre.

Eine andere Methode die Anwendungsrollen, bei gleichzeitiger
Windowsauthentifizierung, zur Anwendung zu bringen fàllt mir leider
nicht ein.
Gibt es jemanden der mir helfen könnte das zu bewerkstelligen? Oder
gibt es eine alternative Möglichkeit die beiden Anforderungen:

1) Windowsauthentifizierung
2) Zusàtzliche Absicherung des Datenzugriffs über eine Passwortabfrage

zu realisieren?

Vielen Dank im voraus.

Franz. Nemeth
 

Lesen sie die antworten

#1 Henry Habermacher
31/07/2008 - 09:38 | Warnen spam
Hallo fnem

"fnem" wrote in message
news:

Ich sitze vor einer Access-Altanwendung die Microsoft Access 2003 als
Frontend und SQL Server 2005 als Datenbank verwendet.

==> So allt kann diese Altanwendung gar nicht sein. Ist alles noch ziemlich
aktuell ;-)

Die Servertabellen sind in das Accessfrontend eingebunden. Die
Authentifizierung erfolgt über einen SQL-Server-User der über die
notwendigen Rechte auf die Servertabellen verfügt. Benutzername und
Paßwort sind verschlüsselt in der Anwendung verspeichert.

==> Ja, wer's glaubt, wird seelig. Gib mal im Direktfenster

? currentdb.Tabledefs("EineEingebundeneTAbelle").Connect

ein und das Passwort liegt offen vor Dir! Das geht übrigens sogar in der
MDE, wo der VBA Code sogar nicht mal mehr direkt verfügbar ist.

Es liegt nun eine Anforderung vor den Zugriff auf den SQL-Server über
Windows-Authentifizierung abzuwickeln. Dies wàre kein Problem, würde
man die über ODBC-Datenquellen eingebundenen Tabellen auf
Trusted_connections umstellen und die Windows-User mit entsprechenden
Rechten auf die
Tabellen versehen.

==> Ja, scheint vernünftig zu sein. Habt ihr ein Active Directory im
Einsatz?

Dies hat die nicht wünschenswerte Folge, dass der Benutzer direkt auf
die Datenbank zugreifen kann. Dies kann durch die Einrichtung einer

==> Wo liegt da ein Problem vor? Der Anwender benötigt ja hoffenlich nur
Lese/Schreibrechte, oder? Wieso soll er denn denn nicht auf die Datenbank
zugreifen dürfen?!?

Applikationsrolle auf der
Datenbank unterbunden werden, die mit einem eigenen Passwort versehen
ist. Es ist nun leider so, dass in der vorliegenden Implementierung
mittels eingebundener Tabellen
die Anwendungsrolle nicht zum tragen gebracht werden kann. Dies wàre,
meinem Verstàndnis nach, nur bei einer ADP-Anwendung möglich.

==> Da würde ich nicht hin wechseln (wollen). Dieser Ast ist zwar in Access
2007 noch drin, seit 3 Versionen aber ziemlich stiefmütterlich behandelt.
MDBs mit DAO/ODBC sind eigentlich das, was Microsoft als strategisch
bezeichnet, ab Version 2007.

Eine Umstellung auf ein Access Project kommt jedoch nicht in Frage, da
der Änderungsaufwand an der bestehenden Anwendung zu hoch wàre.

==> das ist richtig, der Aufwand dafür dürfte erheblich sein. In diesem Fall
noch eher eine .NET Anwendung (ASP.NET oder eine Windows Forms Anwendung).

Eine andere Methode die Anwendungsrollen, bei gleichzeitiger
Windowsauthentifizierung, zur Anwendung zu bringen fàllt mir leider
nicht ein.
Gibt es jemanden der mir helfen könnte das zu bewerkstelligen? Oder
gibt es eine alternative Möglichkeit die beiden Anforderungen:

1) Windowsauthentifizierung
2) Zusàtzliche Absicherung des Datenzugriffs über eine Passwortabfrage

zu realisieren?

==> Kannst Du bei einer Windows Authentification über das Active Directory
nicht steuern, welche Berechtigung ein Benutzer, rsp. eine Gruppe auf einen
SQL Server haben soll?
Was willst Du mit einer zusàtzlichen Absicherung des DAtenzugriffs über eine
Passwortabfrage erreichen? Wenn Du beim Einbinden der TAbellen das Passwort
nicht angibst und dieses nicht abspeicherst, solltest Du eigentlich nach
einem PAsswort gefragt werden. Nur mit diesem Passwort kann er dann halt
auch sonst auf die Daten zugreifen, das ist ja der Sinn des Passwortes.

Gruss
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen