0

我想在 Azure 市场上发布通用 VM 的图像。要为其创建映像的 VM 包括连接到本地 SQL Server 的 ASP.NET MVC 应用程序。

我想禁止从提供的映像创建 VM 的用户访问我的应用程序的数据库,这样他们就无法看到数据库中的存储过程。

我正在考虑禁用对 SQL 服务器的 Windows 身份验证并添加一个可以访问服务器的超级管理员用户。但是,在这种情况下,我需要将超级管理员用户的用户名和密码放在我的 web.config 文件中,从而使其对所有用户可见。

在 VM 映像上提供应用程序时,是否有任何其他可能的解决方案来限制对应用程序数据库或更具体地说是数据库中的存储过程的访问?

4

2 回答 2

1

这无济于事,你总是可以强行进入sql server(因为你控制了vm)。所以这真的没有什么意义。

于 2019-04-09T08:33:47.553 回答
0

您可以尝试加密您的存储过程,如下所示,但有一些第三方工具可以解密它。

CREATE PROCEDURE YourSP_WithEncryption WITH ENCRYPTION
AS
BEGIN
    -- START: Proprietary Business Logic
    --
    --
    --
    --
    -- END: Proprietary Business Logic

    SELECT 'From ENCRYPTED Stored Procedure'
END
GO

或者,有一些第三方工具,如SqlShield,可以为您的存储过程提供防黑客加密。它还可以加密视图和触发器。

于 2019-04-09T12:30:51.597 回答