2016-07-12 15 views
0

Entsprechend der documentation sollte der Benutzer entweder VIEW ANY DEFINITION oder ALTER ANY CREDENTIAL zum Anzeigen der Anmeldeinformationen haben. Wenn ich diese Berechtigung erteile, kann der Benutzer alle Anmeldeinformationen sehen. Gibt es eine Möglichkeit, den Benutzer zu beschränken, kann nur eine Berechtigung in SQL Server 2014 angezeigt werden?SQL Server sys.credentials Berechtigungen

+0

Haben Sie sich das Modul Signieren angesehen? Erstellen Sie eine gespeicherte Prozedur und verwenden Sie dann "Signatur erstellen", um sie zu signieren (und gewähren Sie Berechtigungen basierend auf dem Zertifikat, das sie signiert hat). –

Antwort

0

Sie erstellen ein neues Ansichtsobjekt, das die Tabelle sys.credentials basierend auf der aktuellen Benutzeranmeldung, z.

CREATE VIEW dbo.GetAllowedCredentials 
AS 
SELECT c.credential_id, 
     c.name, 
     c.credential_identity, 
     c.create_date, 
     c.modify_date, 
     c.target_type, 
     c.target_id 
FROM sys.credentials AS c 
INNER JOIN sys.server_principals AS sp ON sp.credential_id = c.credential_id 
WHERE sp.name = ORIGINAL_LOGIN(); 

Sie können Berechtigungen für diese Ansicht nach Bedarf zuweisen.

Verwandte Themen