SQL Server - 单个数据库上的多用户授权
Posted
技术标签:
【中文标题】SQL Server - 单个数据库上的多用户授权【英文标题】:SQL Server - multiuser authorization on single Database 【发布时间】:2021-11-29 01:54:33 【问题描述】:我们的 SQL 服务器有 2 个 SQL 用户,如下:
用户A,包含以下规则
拒绝查看任何数据库 10 个数据库中只有两个数据库 A1 和 A2 的授权用户 B,包含与用户 A 相同的规则
拒绝查看任何数据库 10 个数据库中只有两个数据库 B1 和 B2 的授权根据我使用用户 A 登录时分配的规则,仅显示 A1 和 A2 数据库, 并使用用户 B 仅显示 B1 和 B2 数据库。
我想创建一个有权合并用户 A 和 B 的新用户(用户 C), 在不改变现有用户 A 和 B 的当前授权或特权的情况下。
即用户 A 拥有数据库 A1 和 A2 的授权。 用户 B 拥有数据库 B1 和 B2 的权限。 新用户 C 拥有数据库 A1、A2、B1 和 B2 的授权。
有人可以建议这是否可能或其他方式来实现这种新的用户授权方案?
【问题讨论】:
User A
和 User B
是 Sql Server 登录,不是吗?您可以使用一组适当的权限创建服务器角色,并为角色添加登录名。
即使是windows认证,也可以为A1A2B1B2组一个组,在AD组之间移动用户。
【参考方案1】:
新用户 C 拥有两个数据库 A1、A2、B1 和 B2 的授权。
Create a Login 用于 C,并在 A1、A2、B1 和 B2 中为 C 创建一个Database User。但是无法声明登录 C 具有 A 和 B 的所有数据库访问权限。
【讨论】:
以上是关于SQL Server - 单个数据库上的多用户授权的主要内容,如果未能解决你的问题,请参考以下文章