SQL Server 登录名和用户——将多个登录名分配给单个用户?

3 security sql-server permissions ssms

在 中SSMS,由于我不能将多个分配login objects给单个user object,那么实现等效安全模型的最佳实践是什么?

例如,我拥有20 logins并希望在单个数据库上为他们提供所有相同的权限:

  • 我是否必须在该数据库中创建 20 个用户对象?
  • 我是否必须触摸所有 20 个登录对象?

RLF*_*RLF 5

由于您使用的是 SQL Server 本地登录名,因此无法对它们进行分组。每次登录都是独立的,每次登录都需要数据库中的一个用户

在这里您可以在指定的权利得到一些储蓄是创建角色,给你grantrevoke或者deny权利。(请注意,deny权限优先于grant权限。)然后使用这些角色向用户授予权限。

通过这种方式,角色包含权限规范,而不是将这些规范单独应用于每个用户

在此之后,您可以将用户添加到用户需要的角色中。例如:

  • 艾伦 - 只读角色
  • Sally - ReadOnly 角色,MaintainAccounts 角色
  • Zenubia - UpdateNonSecureData 角色
  • 等等。

这会在角色级别保留您的安全设置,因此您不需要重复这些授权。只需在需要时从角色中添加或删除用户。