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