允许使用自定义权限访问数据库

时间:2016-02-18 16:33:57

标签: sql-server database

我一直在搜索Google,我觉得我接近解决方案,但我不知道如何搜索我的情况。

标准

  • 我需要创建一个用户(我们称之为User_A),该用户只能访问一个数据库中的一个视图。
  • User_A无权读取数据库中的任何其他数据
  • 使用SSMS或其他工具时,User_A不应该能够看到sql server上的任何数据库,除了这个有权访问的数据库

我找到了什么

  • 创建User_A
  • 在服务器和数据库上获得User_A Connect权限
  • 在视图上具有Database Role权限的数据库上创建SELECT
  • 将User_A分配给上述Database Role

在经过数小时的研究后,我发现了DENY VIEW ANY DATABASE TO User_A。但是,我的研究基本上引导我到用户需要db_owner来查看SSMS中的数据库。显然,这是不可行的,除非有一种方法可以轻易地拒绝访问除视图之外的所有内容。

问题

如果他们决定使用SSMS或其他类似工具,我如何允许User_A查看其自定义访问权限的唯一数据库?

妥协

如果我必须DENY VIEW ANY DATABASE TO PUBLIC并按照我的方式编辑每个用户以重新获得对各自数据库的可见性,我会。我只需知道处理此问题的最佳方法,我将使用符合我要求的解决方案。

提前谢谢!

0 个答案:

没有答案