SQL Server Integrated Security

Ich habe mich intensiv mit sicherheitsrelevanten Problemen in einem SQL Server befasst. Wir entwickeln eine .NET-Anwendung für SQL Server 2008 und möchten FileStream verwenden.

Jetzt habe ich herausgefunden, dass SQL Server FileStream nur über die Win32-API zulässt, wenn Sie Integrated Security verwenden. Das Problem ist, dass wir ungefähr 80% unserer Anwendung fertig haben, diese jedoch vollständig auf der SQL-Authentifizierung basiert. Wir machen also INSERT direkt aus unserer Anwendung und verwenden gespeicherte Prozeduren nicht für jede CRUD-Operation.

Dies ist relativ sicher, da ich den SQL-Benutzernamen und das Kennwort verschlüsselt speichern kann. Ich weiß, dass das Passwort in Klartext übertragen wird, aber ich bin bereit, das zu akzeptieren.

Wir möchten, dass Endbenutzer mithilfe von Tools wie Crystal Reports eine Verbindung zur Datenbank herstellen können. Dazu benötigen wir eine zusätzliche SQL-Anmeldung, für die nur SELECT-Rechte gewährt werden.

Wenn wir nun zu Integrierter Sicherheit wechseln, müssten wir einzelnen Benutzern (über AD-Gruppen usw.) die Rechte erteilen, die von der Anwendung möglichen Aktionen auszuführen. Andernfalls kann die Anwendung ihre Arbeit nicht ausführen. Der Endbenutzer hätte diese Rechte jedoch auch, wenn er sich direkt mit der Datenbank verbindet.

Ich sehe Leute sagen, dass Sie gespeicherte Prozeduren für jede CRUD-Operation verwenden und die EXEC-Rechte nur der AD-Gruppe gewähren sollten, aber wie würde ich das tun? Ich sehe nicht, wie ein Benutzer unterschiedliche Berechtigungen haben würde, wenn er sich direkt oder über die Anwendung verbindet ... Kann mich jemand aufklären.

Eine zusätzliche Frage für Bonuspunkte: Die integrierte Sicherheit funktioniert meines Wissens nicht in einer Arbeitsgruppe. Wie kann FileStream dann in einer Arbeitsgruppe verwendet werden? Oder ist das eine Unmöglichkeit?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage