Ich glaube, ich brauche einige Hinweise zur Sicherheit in SQL Server. Ich versuche, einige unserer Endbenutzer daran zu hindern, auf bestimmte Spalten (z. B. SSN) in einer Tabelle zuzugreifen.
Ich dachte, ich könnte nur die Sicherheit auf Spaltenebene verwenden, um den Zugriff auf die Spalten einzuschränken. Dies verhinderte erfolgreich, dass Benutzer direkt auf die Tabelle zugreifen konnten, aber ich war überrascht, dass sie über eine Ansicht, die auf diese Tabelle zugegriffen hat, immer noch zu diesen Spalten gelangen konnten.
Ich habe die Tipps hier befolgt: http://www.mssqltips.com/sqlservertip/2124/filtering-sql-server-columns-using-column-level-permissions/ Diese waren sehr hilfreich, aber als ich am Ende eine Ansicht erstellte Der Praktikant konnte standardmäßig auf diese Spalte zugreifen
Ich habe gelesen, dass Ansichten der beste Weg sind, um dies zu erreichen, aber ich möchte wirklich nicht alle Ansichten und die ältere Front-End-Anwendung ändern. Ich würde es lieber nur einmal auf die Tabelle beschränken und wenn eine Ansicht versucht, auf diese Spalte zuzugreifen, würde es einfach fehlschlagen.
Ist das möglich oder verstehe ich falsch, wie Sicherheit in SQL Server funktioniert?
SELECT
Berechtigung für die Ansicht, verweigern Sie ihnen jedoch die Berechtigung für die zugrunde liegende Tabelle