Как запретить пользователям получать доступ к базе данных приложения, предлагая образ VM в Azure Marketplace? - PullRequest
0 голосов
/ 09 апреля 2019

Я хотел бы опубликовать образ обобщенной виртуальной машины на торговой площадке Azure. Виртуальная машина, для которой должен быть создан образ, включает приложение ASP.NET MVC, которое подключается к локальному серверу SQL.

Я бы хотел запретить доступ к базе данных моего приложения пользователям, которые создают виртуальные машины из предложенного образа, чтобы они не могли видеть хранимые процедуры внутри базы данных.

Я собирался отключить проверку подлинности Windows на сервере SQL и добавить пользователя superadmin, который мог бы получить доступ к серверу. Однако в этом случае мне нужно будет поместить имя пользователя и пароль пользователя superadmin в мой файл web.config, что сделает его видимым для всех пользователей.

Существуют ли другие возможные решения для ограничения доступа к базе данных приложения или, в частности, к хранимым процедурам в базе данных, при предложении приложения в образе виртуальной машины?

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

, что не поможет, вы всегда можете прорваться на сервер sql (так как вы управляете виртуальной машиной). так что в этом нет особого смысла.

0 голосов
/ 09 апреля 2019

Вы можете попытаться зашифровать свои хранимые процедуры, как показано ниже, но есть некоторые сторонние инструменты, которые могут расшифровать его.

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

    SELECT 'From ENCRYPTED Stored Procedure'
END
GO

В качестве альтернативы есть некоторые сторонние инструменты, такие как SqlShield , которые могут обеспечить защищенное от хакеров шифрование ваших хранимых процедур. Он также может шифровать представления и триггеры.

...