Права доступа для входа в систему SQL для доступа к базе данных для приложения ASP.Net - PullRequest
1 голос
/ 31 марта 2009

Мне всегда интересно, какие именно права доступа и разрешения мне нужно дать для входа в SQL, который я использую из своего приложения asp.net для доступа к базе данных. Приложение выполняет некоторые хранимые процедуры, которые вставляют, обновляют и удаляют данные в таблицы. Я действительно выбираю, удаляю, обновляю непосредственно на столах также. Также есть несколько триггеров. Интересно, есть ли исчерпывающий список матрицы разрешений, чтобы помочь.

1 Ответ

1 голос
/ 31 марта 2009

Ну, это зависит от того, насколько сложно это сделать: -)

Самое простое решение:

  • сделать так, чтобы ваш login / db пользователь имел роль db_datareader для чтения всех таблиц
  • сделайте так, чтобы ваш login / db пользователь имел роль db_datawriter для записи всех таблиц

Что касается выполнения хранимых процедур, то мы создали новую пользовательскую роль базы данных "db_executor" в нашей базе данных, например:

CREATE ROLE [db_executor] AUTHORIZATION [dbo]
GRANT EXECUTE TO [db_executor]

и затем мы предоставляем эту роль пользователю db. Эта новая пользовательская роль базы данных будет иметь права на выполнение всех существующих И для всех будущих хранимых процедур / функций в вашей базе данных.

С этим ваш пользователь БД может читать и записывать любые таблицы и выполнять любые хранимые процедуры и хранимые функции.

Более сложное решение: Конечно, вы можете также предоставлять права GRANT для отдельных таблиц, представлений, процедур, функций отдельным пользователям БД и / или ролям БД. Но это может стать довольно грязным и сложным.

Марк

...