Сразу после развёртывания SharePoint Server 2016 и первого входа на веб-узел Central Administration мы можем увидеть критическое предупреждение встроенного механизма самодиагностики SharePoint Health Analyser о том, что учётная запись фермы (Farm account), используемая для работы ключевой службы SharePoint Timer Service (SPTimerV4), используется также и для запуска других служб, для которых рекомендуется настройка исполнения в контексте выделенной учётной записи.
В свойствах этого сообщения мы можем видеть примерно следующую информацию:
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))
Как видим, в конфигурации по умолчанию эта служба действительно выполняется от имени учётной записи фермы.
Ключевую информацию о 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()
На этапе выполнения Deploy возможна задержка в несколько минут, которая возникает при запуске службы AppFabric Caching Service из под новой сервисной учётной записи.
После выполнения кода перейдём в консоль управления службами Windows и убедимся в том, что теперь служба запущена от имени новой учётной записи.
Спустя некоторое время в веб-консоли Central Administration оповещение SharePoint Health Analyser о критической ошибке конфигурации исчезнет.
Справедливо для SharePoint Server 2019