SQL Server 中的粒度安全

Jas*_*ier 1 sql-server

考虑具有以下结构的数据库:

[dbo].[客户]、[dbo].[地址]和[dbo].[报告]

模式

[dbo] 和 [报告]

我希望能够做的是让主体(可以是用户或角色)能够仅在报告模式中管理视图(创建、更改、删​​除)。此外,此主体将需要对 dbo 架构中的所有表的 SELECT 权限(以支持在报告架构中创建视图)。我希望能够做的最后一件事是仅在 dbo 架构中为报告表授予 INSERT、UPDATE 和 DELETE 权限。

这是可能的吗?我还没有找到正确的权限组合。我可以使用用户、角色等的任意组合来实现这一点。

Ran*_*est 5

使用我创建的域组上的GRANT Shema权限ReportUsers,我可以按如下方式分配 SELECT 权限:

GRANT SELECT ON SCHEMA :: dbo TO [domain\ReportUsers];
Run Code Online (Sandbox Code Playgroud)

对于报告模式,可以通过几种方式来解决。您想让他们完全控制架构吗?只是为了创建视图吗?