Какой сервисный аккаунт подходит? - PullRequest
2 голосов
/ 19 января 2012

Я разработал .NET Windows Service (в VS2010), который должен:

  • Доступ к общим папкам (чтение / запись) на машинах в локальной сети
  • Запись вHKLM / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ часть реестра
  • Запись файлов и создание папок во всех частях локальной файловой системы (например, в корне C:)
  • Загрузка файлов из Интернета (с использованием http)

Мой сервис должен хорошо работать со всеми операционными системами Windows (ПК), начиная с Windows XP SP3 и далее.

Проблема: какую учетную запись службы выбрать для моейservice?

Обычно я бы использовал « LocalService » или « NetworkService », но ни один из них не предоставляет все необходимые привилегии самостоятельно.

Должен ли я использовать учетную запись « LocalSystem »?Или я должен создать полную отдельную учетную запись только для использования моей службы (это следует сделать автоматически во время установки)?

На данный момент я использую учетную запись « NetworkService » и просто добавляю ее.группе адмистраторов при установке, которая работает нормально.Но я думаю, что этот подход разрушает саму идею об ограниченных учетных записях служб и, таким образом, представляет угрозу безопасности - вы не согласны?

Ответы [ 2 ]

1 голос
/ 19 января 2012

Не следует использовать LOCALSYSTEM. Это имеет слишком много силы, и все лучшие практики говорят вам не использовать его.

На мой взгляд, вы должны создать локального пользователя с соответствующими правами в рамках вашей установки. Это довольно распространенная практика для продуктов сервера / базы данных.

0 голосов
/ 19 января 2012

Звучит так, будто вам нужно выделять ваши требования.

Вы упоминаете, что вам нужен доступ к общим ресурсам на других компьютерах, но при этом вы также упоминаете, что машины, на которых будет установлена ​​эта служба, не обязательно будут частью домена.

Запустите службу под учетной записью пользователя, которая предоставит вам соответствующие ЛОКАЛЬНЫЕ разрешения. Затем создайте альтернативную учетную запись пользователя с доступом к соответствующим общим ресурсам, о которых ваша служба знает и олицетворяет при необходимости.

Теперь, что касается записи и создания файлов в ROOT, это будет интересно . Вашей службе потребуются полные административные разрешения для того, чтобы сделать это на Windows 7, если включен контроль учетных записей. Что, вероятно, можно с уверенностью предположить, находится на машинах, которые вы не контролируете напрямую. Либо отмените это требование, либо вам придется согласиться с тем, что ваша служба представляет собой угрозу безопасности.

...