首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许用户“授予选择”,而不让他们进行管理员或授予他们控制权限。

允许用户“授予选择”,而不让他们进行管理员或授予他们控制权限。
EN

Stack Overflow用户
提问于 2020-08-17 08:30:18
回答 1查看 31关注 0票数 0

背景信息:我在SSMS中管理一个数据库。我是唯一的管理员。我让用户创建表,然后他们希望将对这些表的选择权限授予其他用户。但不允许他们这样做,因为他们不是管理员或对架构拥有控制权限。

问:作为SSMS数据库管理员,我如何允许用户将他们创建的表的选择授予其他用户,而不让他们管理或授予他们控制权限?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-17 08:46:33

我只想让用户按照以下方式(SSMS语法可能不同,这只是为了说明情况)在他们自己的模式中创建一个表:

代码语言:javascript
复制
create table select_access (
    table_name varchar[50],
    user_name varchar[50],
    is_active varchar
)

然后定期运行管理作业(例如,每五到十分钟),并对每个适用的用户检查该表中的条目。

如果存在当前没有权限的表的条目(将is_active设置为Y),则授予该权限。如果存在当前具有该权限的表的条目(将is_active设置为N),则删除该权限。

这样,他们就可以完全控制表上的select权限,而不会牵扯到您。

要共享一个表,他们只需创建它,为每个想要与其共享表的用户添加条目到select_access,然后等待您的作业运行。

要禁用,他们只需将is_active字段设置为N,用于他们要撤销访问权限的用户,并再次等待您的作业运行。

使用is_active只是为了让您的生活更轻松,因为您唯一必要的信息来源就是那个表。

您可以让他们删除给定用户/表的行,从而使其变得更聪明,但随后您必须处理表和所有可能具有访问权限但在select_access中不再有条目的表。

只需确保他们授予权限的任何表都是他们模式中的表,而不是系统表中的一个:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63447264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档