【问题标题】:Restrict stored procedure to only perform SELECT operations将存储过程限制为仅执行 SELECT 操作
【发布时间】:2010-02-11 08:36:26
【问题描述】:

可以将存储过程限制为仅来自数据库的SELECT

我想要一个只选择数据以正确执行的存储过程,以及一个带有UPDATECREATEDELETE 操作的存储过程,以返回指示权限不足的错误。

我使用的是 Sybase 12.5

【问题讨论】:

    标签: stored-procedures sybase database-permissions


    【解决方案1】:

    我认为您以错误的方式看待问题。本质上,一旦您授予用户执行存储过程的权限,他们就可以执行该存储过程,无论它做什么。

    我认为您想要做的是为您的数据库分配一个“只读”客户端角色,并仅授予从数据库读取数据的存储过程的 SELECT 权限以及执行权限。将用户添加到该角色,而不是授予他们对数据库的 SELECT 访问权限。

    【讨论】:

      【解决方案2】:

      为不同的程序分别编写和选择动作。然后允许选择用户执行选择程序和编写用户执行选择程序和编写程序。这个技巧适用于 PostgreSQL。

      【讨论】:

      • 我没有修改现有存储过程的选项。
      猜你喜欢
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多