Ken*_*her 10 security sql-server permissions role
我被要求为数据库中的所有表授予SELECT,INSERT和UPDATE给定用户。我最终将用户添加到db_datareader,并给予他们INSERT与UPDATE在数据库级别。
但这让我想到,SELECT在数据库级别授予用户权限或将它们添加到db_datareader角色之间有什么区别(如果有)?是否有任何一种或另一种最佳实践?
Rick Byham 有一篇 WIKI 帖子,展示了固定服务器和固定数据库角色以及它们如何映射。您可以在这里查看:http : //social.technet.microsoft.com/wiki/contents/articles/database-engine-fixed-server-and-fixed-database-roles.aspx
该图表显示 db_datareader 角色与GRANT SELECT ON [database] 相同。所以它仍然可以使用,但建议从这些角色转移到更细粒度的命令。对于大多数人来说,其他一些固定数据库角色的定义不太明确。使用显式命令可以在报告权限时更加清晰。
显然,您知道如何授予更细粒度的权限。我试图尽可能摆脱旧角色,但 db_owner(例如)是一个很难打破的习惯。