授予SELECT用户并将其添加到db_datareader角色之间有区别吗?


9

我被要求为数据库中的所有表授予SELECTINSERT并授予UPDATE给定的用户。我最终将用户添加到db_datareader,并给予他们INSERTUPDATE在数据库级别。

但这让我思考,SELECT在数据库级别授予用户权限或将其添加到db_datareader角色之间有什么区别(如果有)?是否有任何一种最佳实践或另一种最佳实践?

Answers:


7

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(例如)是一个很难改掉的习惯。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.