Создать логин SQL Server для сайта, но не имеет доступа к серверу SQL Server для просмотра - PullRequest
0 голосов
/ 08 октября 2018

У меня есть подрядчик, которому я хочу предоставить доступ к веб-сайту, который подключается к базе данных.Мне нужно создать пользователя SQL Server, который сможет подключаться, читать и писать в базу данных.

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

1 Ответ

0 голосов
/ 08 октября 2018

SQL Server Management Studio (SSMS) - это обычный клиент, который делает операторы SQL в фоновом режиме.Если вы создаете логин в SSMS, то никакой магии не происходит, кроме СОЗДАНИЯ ВХОДА.Это может быть признано тем фактом, что (почти) всегда есть возможность генерировать соответствующий оператор SQL через «Script as», что обычно выполняется в SSMS через графический интерфейс пользователя.Если вы заблокируете SSMS, то и другие клиенты.И даже если бы была настройка, есть другие возможности через Powershell и тому подобное.Так что это не тот путь.

Полагаю, вы не хотите, чтобы подрядчик играл на SQL-сервере только потому, что он получил доступ к базе данных?Он разрешен в доме, но не во всех комнатах ....

Другими словами, это может быть сделано только через разрешения, где есть логин для подключения к SQL Server с одной стороны ипользователь базы данных, который получает доступ к базе данных с другой стороны.Следовательно, существуют полномочия на уровне сервера SQL (вход в систему) и уровень базы данных (пользователь).

CREATE LOGIN testlogin WITH PASSWORD = 'wowThisIsKewl';  
GO

USE [YourDatabase]
GO
CREATE USER [dbuserlogin] FOR LOGIN [testlogin] WITH DEFAULT_SCHEMA=[db_owner]
GO

Каждый вход в систему сначала относится к роли SQL Server"public", если не указано иноеразрешения предоставляются.Вы можете подключиться к этой роли, но, например, вы не можете создавать базы данных, выполнять резервное копирование и т.д. .... Просто попробуйте ... =)

В то же время DB_OWNER на уровне базы данных позволяет логину читать и записывать данные и т. Д. И т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...