Запуск службы как группы или пользователя Active Directory

В автономном кластере Windows Server вы можете запустить службу в качестве пользователя или группы Active Directory с помощью политики запуска от имени. По умолчанию приложения Service Fabric выполняются под учетной записью, используемой процессом Fabric.exe. Запуск приложений в разных учетных записях позволяет изолировать друг от друга выполняемые приложения, даже если они запущены в общей среде. Обратите внимание, что для этого используется локальная среда Active Directory в домене, а не идентификатор Microsoft Entra. Кроме того, можно запустить службу в групповой управляемой учетной записи службы (gMSA).

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

В следующем примере представлена учетная запись пользователя Active Directory с именем TestUser и паролем, зашифрованным с помощью сертификата с именем MyCert. Можно использовать команду PowerShell Invoke-ServiceFabricEncryptText для создания секретного зашифрованного текста. Дополнительные сведения см. в статье Управление секретами в приложениях Service Fabric.

На локальном компьютере следует развернуть закрытый ключ сертификата, что позволит расшифровывать на нем пароль с использованием внешних средств (в Azure для этого используется Azure Resource Manager). Тогда Service Fabric сможет расшифровать секретный код при развертывании пакета службы на компьютере и использовать его вместе с именем пользователя для проверки подлинности в Active Directory.

<Principals>
  <Users>
    <User Name="TestUser" AccountType="DomainUser" AccountName="Domain\User" Password="[Put encrypted password here using MyCert certificate]" PasswordEncrypted="true" />
  </Users>
</Principals>
<Policies>
  <DefaultRunAsPolicy UserRef="TestUser" />
  <SecurityAccessPolicies>
    <SecurityAccessPolicy ResourceRef="MyCert" PrincipalRef="TestUser" GrantRights="Full" ResourceType="Certificate" />
  </SecurityAccessPolicies>
</Policies>
<Certificates>

Примечание.

Если применить политику запуска от имени к службе, манифест которой объявляет ресурсы конечной точки с протоколом HTTP, необходимо также указать SecurityAccessPolicy. Дополнительные сведения см. в статье Назначение политики безопасности доступа для конечных точек HTTP и HTTPS.

Теперь ознакомьтесь со следующими статьями: