虽然我理解将权限应用于角色然后将用户添加到角色的目的,但我想知道如果已知每个角色和每个用户之间存在一对一的关系,这样做是否有任何价值。
即如果您知道一个角色中永远不会有多个用户,那么这是否会使角色变得多余,而您最好直接将权限应用于用户。
答案1
如果该用户发生变化(退休、被解雇等)怎么办?如果时代变了,你不得不将相同的权限授予另一个用户怎么办?
这就是为什么建议是:
Windows 用户 -> Windows 安全组 -> SQL Server 登录 -> 数据库用户 -> 数据库角色 -> 权限。
答案2
如果您的用户帐户实际上是角色帐户(即它们具有“管理员”或“更新者”等通用名称,并且不与真实人员相关联),那么您可能能够做到这一点。但是,在任何组织中,总会有人因为某种原因(无论是暂时的还是永久的)四处流动,使用角色来管理权限会容易得多。
答案3
在 SQL Server 数据库上使用角色的一个优点是,它们会保留在数据库中。如果您必须在缺少某些用户的其他服务器上恢复数据库备份,您将遇到权限问题。可以将角色分配给新服务器上的现有用户。
答案4
“角色”是为了方便。应用规则一次,然后添加/删除用户将变得更容易。1:1 角色-用户场景才不是存在于现实世界。