2016-07-12 17 views
0

documentationによれば、資格情報を表示するには、VIEW ANY DEFINITIONまたはALTER ANY CREDENTIALのいずれかが必要です。問題は、この権限を与えると、ユーザーはすべての資格情報を見ることができます。ユーザーがSQL Server 2014で1つの資格情報のみを表示できるように制限する方法はありますか?SQL Server sys.credentialsアクセス許可

+0

あなたはモジュールの署名を見ましたか?つまり、ストアドプロシージャを作成し、それに署名するために 'create signature'を使用します(署名した証明書に基づいて権限を付与します)。 –

答えて

0

現在のユーザーログインに基づいてsys.credentialsテーブルを参照する新しいビューオブジェクトを作成します。

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(); 

必要に応じてこのビューに権限を適用できます。

関連する問題