SharePoint 2016 Health Analyser - The server farm account should not be used for other services - Сервисная учётная запись для служб SPTimerService (SPTimerV4) и Distributed Cache Service

SharePoint 2016 Health Analyser - The server farm account should not be used for other servicesСразу после развёртывания SharePoint Server 2016 и первого входа на веб-узел Central Administration мы можем увидеть критическое предупреждение встроенного механизма самодиагностики SharePoint Health Analyser о том, что учётная запись фермы (Farm account), используемая для работы ключевой службы SharePoint Timer Service (SPTimerV4), используется также и для запуска других служб, для которых рекомендуется настройка исполнения в контексте выделенной учётной записи.

SharePoint Health Analyser - The server farm account should not be used for other services

В свойствах этого сообщения мы можем видеть примерно следующую информацию:

Title: The server farm account should not be used for other services.  
Severity: 1 - Error  
Category: Security  
Explanation: KOM\s-SP-Farm, the account used for the SharePoint timer service and the central administration site, is highly privileged and should not be used for any other services on any machines in the server farm.  The following services were found to use this account: Distributed Cache Service(Windows Service) 

Remedy:  Browse to http://<SharePointSErver CA URL>/_admin/FarmCredentialManagement.aspx and change the account used for the services listed in the explanation. For more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=142685".
 
Failing Services:  SPTimerService (SPTimerV4)

Откроем на сервере SharePoint системную оснастку управления службами Windows Server (services.msc) и посмотрим то, от имени какой учётной записи выполняется фигурирующая в сообщении Health Analyser служба Distributed Cache Service (в этой оснастке эта служба имеет имя AppFabric Caching Service (AppFabricCachingService))

AppFabric Caching Service Run-As account is SharePoint Farm Account

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

Ключевую информацию о SharePoint Distributed Cache Service можно найти в документе Manage the Distributed Cache service in SharePoint Server. И здесь стоит обратить внимание на важные для этой службы примечания, а именно:

  • Не допускается настройка учётной записи, от имени которой выполняется служба AppFabric Caching Service через стандартную системную оснастку управления службами Windows Server (services.msc);
  • Не допускается изменение настроек службы AppFabric Caching Service через стандартные ярлыки в стартовом меню в группе AppFabric for Windows Server;
  • При назначении выделенной сервисной учётной записи для службы SharePoint Distributed Cache Service нельзя использовать имя учётной записи, содержащее символ $.  

Помимо этого, не стоит пытаться задать сервисную учётную запись для этой службы через интерфейс веб-узла Central Administration, так как это приведёт к ошибке с сообщением типа "Distributed Cache Service does not support this operation from Central Administration. Please use Sharepoint Powershell commandlets"

Так же в выше обозначенном документе следует внимательно ознакомится с разделом Change the service account, где приведена точная инструкция по смене учётной записи службы кэширования:

1. Создадим выделенный Managed Account любым удобным способом, например, через веб-консоль Central Administration. При этом стоит помнить о нюансе использования автоматической смены пароля, про который мы писали ранее. В нашем примере создана учётная запись KOM\s-SP-AFCS.

2. Запустим консоль SharePoint Management Shell и назначим созданный в п.1 Managed Account для службы Distributed Cache Service (AppFabric Caching Service) следующим набором PS-команд:

$Farm = Get-SPFarm
$CacheService = $Farm.Services | where {$_.Name -eq "AppFabricCachingService"}
$Accnt = Get-SPManagedAccount -Identity "KOM\s-SP-AFCS"
$CacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser"
$CacheService.ProcessIdentity.ManagedAccount = $Accnt
$CacheService.ProcessIdentity.Update() 
$CacheService.ProcessIdentity.Deploy()

Change Distributed Cache Service AppFabric Caching Service Account via PowerShell

На этапе выполнения Deploy возможна задержка в несколько минут, которая возникает при запуске службы AppFabric Caching Service из под новой сервисной учётной записи.

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

AppFabric Caching Service Dedicated SharePoint Managed Account

Спустя некоторое время в веб-консоли Central Administration оповещение SharePoint Health Analyser о критической ошибке конфигурации исчезнет.

Добавить комментарий