2011-10-18 83 views
1

我有一個用戶,其角色是db_datareader需要能夠執行存儲過程,使用我們的對稱密鑰和證書解密一些數據。我已授予此用戶的存儲過程本身的執行燙髮,但現在它要訪問對稱密鑰和證書。我不知道如何授予密鑰和證書的權限,同時仍然將此用戶保留在選擇只讀模式。這可能嗎?SQL Server 2008 R2用戶權限

回答

2

在存儲過程的標題中使用WITH EXECUTE AS 'somePrincipal',其中somePrincipal具有訪問對稱密鑰和證書所需的權限。

+0

因此,通過標頭,您的意思是'ALTER PROCEDURE [dbo]。[SomeStoredProc] WITH EXECUTE AS [somePrincipal]'? –

+0

@Scott是的,如果你對這些安全對象擁有權限,就把'WITH EXECUTE AS SELF'放在一起。當那個SP被執行時,它將作爲你的登錄/用戶的上下文執行。合理? – 2011-10-18 15:55:12

+0

是的......它像一個魅力一樣工作。非常感謝。 –