Назад |
Перейти на главную страницу
Сколько учетных записей в базе данных
Сколько учетных записей пользователей необходимо настроить для данного приложения? Где должно быть разделение?
- Должен ли быть один логин для каждого приложения?
- 1 приложение на программу?
- 1 для внешнего и внутреннего интерфейса?
Как вы настраиваете свои учетные записи в базе данных?
Я бы настроил:
- учетная запись управления запасами, которая приходит OOB. Используйте это для вещей, которые не может сделать ни одна другая учетная запись. Держите его под замком и вытаскивайте только тогда, когда у вас нет выбора.
- вторичная учетная запись администратора, по одному на каждого администратора. Делать все ваших повседневных администраторов работают в этой учетной записи, но для этих учетных записей администраторов опустите привилегии для действительно опасных вещей (DROP DATABASE, DROP SCHEMA и т. д.), используйте для этого готовую учетную запись администратора, упомянутую выше . (Идея состоит в том, что принуждение вас войти в систему под другой учетной записью должно быть ментальным индикатором того, что вы собираетесь сделать что-то потенциально опасное, а также то, что учетные записи администратора рабочего дня могут иметь встроенный "переключатель безопасности" форма отсутствия привилегий для действий, которые могут нанести вред вашей базе данных)
- если вы используете машинные соединения (пул соединений, прокси-соединения и т. д.), используйте для этого учетную запись. Предоставьте минимальные привилегии, необходимые для работы этой учетной записи (чтобы учетная запись не причиняла огромного вреда через DROP DATABASE и т. Д.)
- если у вас есть прямые подключения от конечных пользователей, одна учетная запись для каждого конечного пользователя, ЕСЛИ ваши конечные пользователи не относятся к широкой категории и вам не нужно выделять привилегии для этой категории. В этом случае одна учетная запись для каждого пользователя группа.
2009-07-03 Повторное редактирование для ясности.
Я собираюсь: это зависит от обстоятельств. Это действительно зависит от того, как ваша база данных будет использоваться. Различные сценарии:
- Внутреннее приложение, подключающееся от имени пользователя. В этом случае мы создаем учетную запись службы в домене и предоставляем ей доступ к домену. Приложение использует эту учетную запись для всего доступа к базе данных.
- Приложение для внешней облицовки (Интернет). В этом случае мы создаем учетную запись SQL Server, потому что веб-серверы будут находиться в DMZ и, следовательно, не будут находиться в домене. Приложение использует эту учетную запись для всего доступа к базе данных.
- Interal приложение передает учетные данные пользователя. Вы видите это в службах отчетов SQL Server и в других случаях, когда важна передача фактических учетных данных (контрольный журнал). В этом случае у вас, вероятно, будут разные уровни разрешений. На каждом уровне должна быть соответствующая группа безопасности домена Windows. Пользователи Windows должны быть членами этих групп. Эти группы должны быть привязаны к определяемым пользователем ролям базы данных в базе данных. У этих ролей базы данных должны быть все разрешения.
- Прямой доступ к базе данных. Вы увидите это больше с системами отчетности. В этом случае группы безопасности Windows снова получают доступ, предоставляемый с помощью ролей базы данных.
На этот вопрос вы получите множество ответов.
Я установил учетные записи одного приложения (читай «для каждого приложения»), которые используются в строках подключения. Никакие пользователи (кроме моей группы разработчиков) не имеют прямого доступа к базам данных.
Я работаю в основном в корпоративной среде MS (.NET, SQL Server, Active Directory). Как правило, аутентификация происходит через текущие зарегистрированные пользовательские таблицы и таблицы безопасности приложения. Код обрабатывает аутентификацию, а затем получает авторизацию приложения из базы данных. Это снимает с меня большую часть бремени обслуживания пользователей и перекладывает его на наш ИТ-отдел (политика паролей и сбросы, истечение срока действия учетной записи, отключения и т. Д.).
- Я считаю, что должно быть как минимум достаточно учетных записей, чтобы, если один db-клиент начинает вызывать проблемы, вы можете отключить эту учетную запись, не отключая весь доступ к серверу.
- Обычно я не буду использовать настройку учетной записи для доступа к более чем одной базе данных.
- Я использую отдельную учетную запись для веб-приложения, а не для внутреннего клиента.