为特定数据库创建只读用户的最佳做法是什么?
我创建了一个新用户并授予了db_datareader角色,但是,该用户仍然可以访问主数据库和其他系统数据库。这可以吗?或者我是否应该拒绝访问某些系统表/数据库以使其更安全?
感谢。
好的,所以如果我创建一个新用户,他还有更多默认权限我必须否认吗? 如果我做 〜创建登录 〜创建用户登录.. 〜为用户授予EXECUTE
用户是否只具有EXECUTE权限,还是对活动数据库还有其他权限?
答案 0 :(得分:0)
您好我相信用户也可以在对象资源管理器中查看其他数据库。
CREATE LOGIN me with password = 'me', check_policy = off
sp_changedbowner 'me'
GO
USE MASTER
GO
DENY VIEW ANY DATABASE TO me
GO
答案 1 :(得分:0)
你可以使用denywrite作为角色选项。用户必须“看到”主人,因为主人包含他将偶然连接到的数据库列表,但他只会在那里拥有访客权限。然后,您可以拒绝访问其他特定数据库。 AFAIK他不需要将tempdb或msdb视为访问这些
的SQL引擎