MSSQL Server permissions + Entity Framework [Необходимые разрешения]

193
22 сентября 2017, 16:59

Ранее имел дело с MySQL сервером и понятной установкой разрешений для аккаунтов и объектов. Сейчас разбираюсь с MSSQL сервером и Entity Framework. Я создал имя входа (логин, пароль), прикрепил пользователя бд к этому имени и создал схему (владелец dbo/sa). Ещё не успел изучить все аспекты внутренней работы MSSQL сервера да и это не является основной целью.

Вопрос: Какие минимальные разрешения нужно указать в схеме для этого логина, чтобы EF могла полноценно функционировать (CRUD и прочие типичные задачи и внутренние процессы) не трогая другие БД (в общем чтобы не беспокоиться о безопасности)

Возможно я упускаю ещё некоторые важные моменты. Буду рад сопутствующим советам!

Answer 1

EF - это просто способ построения запросов к базе.

Минимально необходимый доступ зависит от того, что именно вы собираетесь через EF делать. "Полноценно" - очень нечеткое определение. Обычно под "полноценно" подразумевается "..включая миграции". В миграциях вы можете написать какой угодно код. Поэтому для "полноценной работы" в общем случае вам придется выдать db_owner.

Но можно закрутить гайки.

Если вам нужно только выбирать данные - db_datareader. Если еще и менять - db_datawriter. Если вызывать хранимки - выдайте права на конкретные хранимки. Если хотите строгого контроля - выставляйте права на каждую таблицу и каждую колонку. Если хотите менять схему (миграциями) - ddl_admin. Если <что-то еще> - выдайте права на это что-то еще.

Т.е. настройка прав для EF ничем не отличается для настройки прав для любого другого клиентского кода и любого другого клиентского приложения.

READ ALSO
Захват камеры в Emgu проект на WPF

Захват камеры в Emgu проект на WPF

Пробую EmguА именно захват видео с веб камеры

397
Создание файла c#

Создание файла c#

Есть проблемаСоздаю файл

348
Unity3d - Управление персонажем с помощью touch (C#)

Unity3d - Управление персонажем с помощью touch (C#)

Подскажите пожалуйста каким способом можно сделать управление выбранным персонажем (например кораблем в космосе), через touch (без использования...

306
c# await class.methodAsync1().methodAsync2()

c# await class.methodAsync1().methodAsync2()

Возможно ли использовать асинхронные методы в цепочке?

202