【问题标题】:Add signature to stored procedure by certificate after alter更改后通过证书为存储过程添加签名
【发布时间】:2020-04-07 03:36:59
【问题描述】:

我有一个使用证书签名的存储过程。改成ALTER后,好像丢了签名。我必须重新运行ADD SIGNATURE TO 才能找回它。

有什么方法可以防止这种情况发生吗?否则,我必须记住在更改过程时重新运行ADD SIGNATURE 脚本。

【问题讨论】:

  • 这就是签名的全部意义所在。签名验证存储过程在签名后没有被修改过,并且只有有权访问证书的人才能修改它。如果您不想要这种保证,请不要使用签名。如果你,你必须辞职。如果您无权访问证书,则必须请具有签名权限的人为您执行此操作

标签: sql-server certificate code-signing


【解决方案1】:

不,这是设计使然。 每次更改 SP 时,您都必须重新签名。

否则,任何拥有ALTER SP 权限但无权访问证书的人都可以更改定义并将证书的隐含权限用于他们应该能够执行的任务。这将是一个重大的安全漏洞。

【讨论】:

    【解决方案2】:

    MSDN 文档指出,更改模块时会删除签名。

    https://docs.microsoft.com/en-us/sql/t-sql/statements/add-signature-transact-sql?view=sql-server-ver15

    当然,当某些东西发生变化时,它的签名也会发生变化。否则,签名将毫无用处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      • 2016-03-13
      • 2010-10-01
      • 2021-05-08
      • 1970-01-01
      相关资源
      最近更新 更多