1

为特定数据库创建只读用户的最佳实践是什么?

我创建了一个新用户并授予了 db_datareader 角色,但是,该用户仍然可以访问主数据库和其他系统数据库。那样行吗?还是我应该拒绝访问某些系统表/数据库以使其更安全?

谢谢。


好的,所以如果我创建一个新用户,他是否还有更多我必须拒绝的默认权限?如果我这样做了 ~create login ~create user for login.. ~grant EXECUTE for user

用户将只有 EXECUTE 权限还是对活动数据库也有额外的权限?

4

2 回答 2

0

那么您可以使用拒绝写入作为角色选项。用户必须“看到”主服务器,因为主服务器包含他最终将连接到的数据库列表,但他在那里只有来宾权限。然后,您可以拒绝访问其他特定数据库。AFAIK 他不需要将 tempdb 或 msdb 视为访问这些的 SQL 引擎

于 2013-04-25T12:41:43.190 回答
0

嗨,我相信用户也可以在对象资源管理器中查看其他数据库。

CREATE LOGIN me with password = 'me', check_policy = off

sp_changedbowner 'me'
GO

USE MASTER
GO


DENY VIEW ANY DATABASE TO me
GO
于 2013-04-25T11:00:04.393 回答