Ich muss eine App in der Produktion bereitstellen, die die Sicherheit des Ehrensystems verwendet. Das heißt, alle Benutzer stellen mit einem SQL-Benutzer / passwd-Berechtigungsnachweis eine Verbindung zur Datenbank her, und die App verwaltet die Berechtigungen selbst. Der letzte Teil stört mich weniger als die Tatsache, dass das Verbindungsobjekt eingebettete Anmeldeinformationen enthält und frei kopiert werden kann. Ich versuche, eine Möglichkeit zu finden, um die Verbindungen auf eine begrenzte Anzahl von Clients zu beschränken. Ich kann natürlich Firewall-Regeln erstellen, um die IP zu begrenzen. Gibt es eine Möglichkeit, SQL-Anmeldungen entweder nach Computerkonto oder nach Domänenmitgliedschaft vorab zu qualifizieren?
sql-server
sql-server-2012
security
Jeff Sacksteder
quelle
quelle
Antworten:
Sie können dies durch einen Logon-Trigger erreichen . In Ihrem Anmelde-Trigger können Sie über die Logik verfügen, um die erforderlichen Prüfungen durchzuführen, nach denen Sie suchen (z. B. den Computernamen). Leider glaube ich nicht, dass es eine Möglichkeit gibt, die Domänenmitgliedschaft des Benutzers zu ermitteln, wenn Sie die SQL Server-Authentifizierung verwenden.
Mit der EVENTDATA- Funktion können Sie prüfen , ob Sie andere Informationen extrahieren können, um festzustellen, ob die Verbindung zugelassen werden soll oder nicht. Wenn Sie nicht möchten, dass diese bestimmte Anmeldung erfolgreich ist, können Sie einfach eine Bedingung testen und ausstellen
ROLLBACK
.quelle
Wie Thomas bereits erwähnt hat, kann dies mit dem LOGON-Trigger geschehen. Unten ist das Skript, das Ihnen helfen wird
quelle
Host_Name()
ist nicht sicher und kann leicht von so gut wie jedem gefälscht werden. Excel ist besonders einfach zu bedienen. Sie@IPAddress
wären für diesen Zweck viel zuverlässiger.