Ранее имел дело с MySQL сервером и понятной установкой разрешений для аккаунтов и объектов. Сейчас разбираюсь с MSSQL сервером и Entity Framework. Я создал имя входа (логин, пароль), прикрепил пользователя бд к этому имени и создал схему (владелец dbo/sa). Ещё не успел изучить все аспекты внутренней работы MSSQL сервера да и это не является основной целью.
Вопрос: Какие минимальные разрешения нужно указать в схеме для этого логина, чтобы EF могла полноценно функционировать (CRUD и прочие типичные задачи и внутренние процессы) не трогая другие БД (в общем чтобы не беспокоиться о безопасности)
Возможно я упускаю ещё некоторые важные моменты. Буду рад сопутствующим советам!
EF - это просто способ построения запросов к базе.
Минимально необходимый доступ зависит от того, что именно вы собираетесь через EF делать. "Полноценно" - очень нечеткое определение. Обычно под "полноценно" подразумевается "..включая миграции". В миграциях вы можете написать какой угодно код. Поэтому для "полноценной работы" в общем случае вам придется выдать db_owner.
Но можно закрутить гайки.
Если вам нужно только выбирать данные - db_datareader. Если еще и менять - db_datawriter. Если вызывать хранимки - выдайте права на конкретные хранимки. Если хотите строгого контроля - выставляйте права на каждую таблицу и каждую колонку. Если хотите менять схему (миграциями) - ddl_admin. Если <что-то еще> - выдайте права на это что-то еще.
Т.е. настройка прав для EF ничем не отличается для настройки прав для любого другого клиентского кода и любого другого клиентского приложения.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости