如何允许外部应用程序只访问一个表?

时间:2016-04-28 14:44:42

标签: sql-server

第三方应用程序将访问我们的应用程序数据库以从我的表中读取约会记录以向客户发送剩余数据。

我计划创建一个视图来获取他们需要的所有信息,并让他们访问该视图。那么,有没有办法可以限制第三方应用程序访问视图?或者有更好的方法吗?

他们也会寄给我一份确认函,我需要写回约会记录。那么,我是否可以使用存储过程来回写该信息并让它们只访问该存储过程?

我从未遇到过这种情况,并希望得到专家的一些建议。

2 个答案:

答案 0 :(得分:0)

虽然您可以创建一个单独的用户并且restrict its access to a single table我肯定会为他们构建一个API端点供他们使用。

答案 1 :(得分:0)

1)在包含您的视图的数据库中,专门为您的第三方应用创建一个应用程序角色。为该视图赋予角色SELECT权限,并为存储过程授予EXECUTE权限。

2)在数据库服务器上,创建专门供第三方应用程序使用的登录名。为该登录提供您刚刚在步骤1中创建的角色,而不是其他任何内容。

您可以非常轻松地使用SQL Server Management Studio GUI完成所有这些操作。如果您需要逐步完成不同的操作,那么网上有很多指南。