Учетная запись службы SQL Server Windows привилегии и права

Мой вопрос: если вы создаете новую учетную запись пользователя домена для каждого из процессов SQL Server, какие разрешения должны быть установлены для каждой учетной записи? Или менеджер конфигурации SQL фактически позаботится об этом, и у меня возникла непредвиденная проблема?

Мне часто приходится настраивать Microsoft SQL Server и задаваться вопросом, может ли кто-нибудь дать совет по настройке учетных записей, которые должны выполняться службами. IMO это было смутно документировано Microsoft, в то время как они указывают вам в правильном направлении, что я никогда не мог найти конкретных примеров.

Подводя итог тому, что я видел до сих пор:

Для простых развертываний \ средах разработки можно использовать виртуальную учетную запись по умолчанию, которую использует установщик: например NT SERVICE\MSSQLSERVER

Избегайте использования учетной записи SYSTEM, это не безопасно.

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

При изменении учетной записи службы на существующей установке с виртуальной учетной записи на учетную запись домена рекомендуется использовать диспетчер конфигурации SQL Server для установки новых учетных записей служб. Предположительно это установит для вас все необходимые разрешения.

Я просто попытался изменить учетную запись службы в существующей установке на учетную запись домена, и это дало бы мне сбой входа в систему, пока я не предоставил учетную запись log on as service, что противоречит той части, в которой диспетчер конфигурации SQL Server установит все необходимые разрешения. (Хотя я не уверен, что объект групповой политики, возможно, вмешивался в настройку этой локальной политики безопасности)

Microsoft предоставляет список разрешений, предоставляемых установкой SQL Server на этой странице .

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

SQL Server 2014, контроллер домена находится в Windows Server 2008 R2.

10 голосов | спросил plumdog 20 Jam1000000amTue, 20 Jan 2015 03:28:42 +030015 2015, 03:28:42

1 ответ


8
  

Мне часто приходится настраивать MS SQL Server и задаваться вопросом, может ли кто-либо   предоставлять консультации по настройке учетных записей, которые должны выполняться службами.   IMO это было смутно документировано Microsoft, в то время как они указывают   вы в правильном направлении, я никогда не мог найти никакого конкретного   примеры.

На самом деле это полностью документировано: http://msdn.microsoft.com/en-us/library /ms143504.aspx

Есть ли часть того, о чем вы не уверены?

  

Для простого развертывания \ среды разработки, это нормально использовать   виртуальная учетная запись по умолчанию используется установщиком: например. NT   SERVICE \ MSSQLSERVER

Это будет зависеть от среды. Я лично ненавижу поиск сервера, который настроен с использованием локальной учетной записи, и просить в будущем получить доступ к сетевым ресурсам, среди прочих проблем.

  

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

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

  

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

Если нет сбоя и т. д., он сделает это. Я не уверен, почему «Предположительно».

  

Если изменить учетную запись службы на существующую установку с виртуального   учетной записи для учетной записи домена рекомендуется использовать SQL   Менеджер конфигурации сервера для установки новых учетных записей служб.   Предположительно это установит для вас все необходимые разрешения.

При изменении любой из служб SQL Server всегда используйте SSCM. Всегда. Период. Он установит разрешения для новой учетной записи на основы. Если до того, как была использована локальная системная учетная запись, и было разрешено неограниченное разрешение на все, что было в системе, я ожидал бы, что после изменения произойдет что-то, что приведет к более жесткой контролируемой безопасности. Это не SSCM-ошибка SQL Server, это ошибка администратора, не предоставляющая надлежащие разрешения EXTRA (например, доступ к сетевому ресурсу, ограниченным папкам, элементам за пределами места установки SQL Server и т. Д.).

  

Я просто попытался изменить учетную запись службы в существующей установке на   учетной записи домена, и это дало бы мне неудачу входа в систему, пока я не предоставил   разрешение «войти в систему как услуга», что противоречит части   где менеджер конфигурации SQL Server установит все необходимые   разрешения. (Хотя я не уверен, что объект групповой политики, возможно, вмешался   настройка этой локальной политики безопасности)

Похоже, что объект групповой политики вызывает проблему (IMHO). Не было бы в первый раз:)

  

Итак, мой вопрос: если вы создаете новую учетную запись пользователя домена для каждого из   SQL Server обрабатывает, какие разрешения должны быть установлены для каждого   счет?

Я бы явным образом установил любые разрешения вне тех, которые указаны в ссылке msdn, которая у меня выше (также дана @joeqwerty и в вашем OP). Например, в «резервной» папке на сетевом ресурсе, на новом диске, добавленном для хранения новых баз данных (где установка уже запущена, но диск не существует) и т. Д.

  

Но мне непонятно, что это то, что я должен делать   вручную для пользователя, которого я создаю для запуска службы, или, используя   диспетчер конфигурации SQL должен автоматически устанавливать эти разрешения.

Если что-то не так сильно нарушено с сервером, это не обязательно нужно указывать вручную.

ответил Sean Gallardy 20 Jpm1000000pmTue, 20 Jan 2015 18:41:36 +030015 2015, 18:41:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132