我们使用的是 SQL Server 2008,并在 Active Directory (AD) 中设置了权限。核心表中的每一行只需要那些有权查看每一行的人才能查看。我可以在每一行上设置行级安全性(每一行包含一个与 AD 组对齐的角色),但是我有以下问题:-
- 因为这些角色代表国家,所以我有 100 个角色。此外,我有一些用户可以访问多个角色......并且给定用户可以访问的几个角色没有一致地分组(即存在重叠):因此用户角色是多对多关系
在这种情况下(为了启用灵活的模型),我的第一反应是为每个国家创建一个 AD 组,然后在数据库角色中创建分组(对每个国家进行分组)。但是,这将是维护开销 - 例如,有许多工作人员可以访问所有组,因此当一个国家/地区上线时,会创建一个新的 AD 组,这意味着我必须请求将这些用户作为成员添加到新的 AD 组(以及需要将新的全局用户添加到所有组) - 我宁愿有一个可以全面访问的全局组。
有没有人遇到过这种问题。基本上,如果我只有非常精细的 AD 组,我可以在数据库角色级别内容纳多对多,但是我宁愿拥有精细的 AD 组(对于那些需要精细权限的用户)以及用于那些的全局 AD 组需要访问所有行的用户(我只需要添加具有全局访问权限的用户)