Sql server 2008 SQL Server 2008 R2用户权限

Sql server 2008 SQL Server 2008 R2用户权限,sql-server-2008,permissions,certificate,symmetric-key,Sql Server 2008,Permissions,Certificate,Symmetric Key,我有一个角色为db_datareader的用户,需要能够执行一个存储过程,使用我们的对称密钥和证书对一些数据进行解密。我已经为该用户在存储过程本身上授予了EXECUTEperms,但现在它希望访问对称密钥和证书。我不确定如何为密钥和证书授予PERM,同时仍将此用户保持在选择或只读模式下。这是可能的吗?在存储过程的头中使用和执行为'somePrincipal',其中somePrincipal具有访问对称密钥和证书的必要权限。因此,头的意思是ALTER procedure[dbo].[SomeSto

我有一个角色为db_datareader的用户,需要能够执行一个存储过程,使用我们的对称密钥和证书对一些数据进行解密。我已经为该用户在存储过程本身上授予了EXECUTEperms,但现在它希望访问对称密钥和证书。我不确定如何为密钥和证书授予PERM,同时仍将此用户保持在选择只读模式下。这是可能的吗?

在存储过程的头中使用
和执行为'somePrincipal'
,其中
somePrincipal
具有访问对称密钥和证书的必要权限。

因此,头的意思是
ALTER procedure[dbo].[SomeStoredProc]和执行为[somePrincipal]
,如果您对这些安全对象有权限,只需将
与EXECUTE AS SELF
放在一起。当执行该SP时,它将作为登录/用户的上下文执行。有道理?