Запуск службы в групповой управляемой учетной записи службы
В автономном кластере Windows Server вы можете запустить службу как учетную запись службы, управляемой группой (gMSA), с помощью политики RunAs. По умолчанию приложения Service Fabric запускаются под учетной записью, под которой выполняется процесс Fabric.exe
. Запуск приложений в разных учетных записях позволяет изолировать друг от друга выполняемые приложения, даже если они запущены в общей среде. При использовании групповой управляемой учетной записи службы в манифесте приложения не сохраняется ни обычный, ни зашифрованный пароль. Кроме того, можно запустить службу как группу или пользователя Active Directory.
В следующем примере показано, как создать учетную запись gMSA с именем svc-Test$, как развернуть эту управляемую учетную запись службы на узлах кластера и как настроить участника-пользователя.
Примечание.
Использование gMSA с автономным кластером Service Fabric требует локальной среды Active Directory в вашем домене (а не идентификатора Microsoft Entra).
Предварительные требования:
- Домену нужен корневой ключ KDS.
- В домене должен быть хотя бы один контроллер домена Windows Server 2012 (или R2).
Попросите администратора домена Active Directory создать управляемую группой учетную запись службы с помощью командлета
New-ADServiceAccount
и убедиться, чтоPrincipalsAllowedToRetrieveManagedPassword
включает все узлы кластера Service Fabric. ЗначенияAccountName
,DnsHostName
иServicePrincipalName
должны быть уникальными.New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
Установите и протестируйте групповую управляемую учетную запись на каждом из узлов кластера Service Fabric (например,
SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
).Add-WindowsFeature RSAT-AD-PowerShell Install-AdServiceAccount svc-Test$ Test-AdServiceAccount svc-Test$
Настройте участника-пользователя и настройте
RunAsPolicy
для ссылки на Пользователя.<?xml version="1.0" encoding="utf-8"?> <ApplicationManifest xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" ApplicationTypeName="MyApplicationType" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric"> <ServiceManifestImport> <ServiceManifestRef ServiceManifestName="MyServiceTypePkg" ServiceManifestVersion="1.0.0" /> <ConfigOverrides /> <Policies> <RunAsPolicy CodePackageRef="Code" UserRef="DomaingMSA"/> </Policies> </ServiceManifestImport> <Principals> <Users> <User Name="DomaingMSA" AccountType="ManagedServiceAccount" AccountName="domain\svc-Test$"/> </Users> </Principals> </ApplicationManifest>
Примечание.
Если применить политику запуска от имени к службе, манифест которой объявляет ресурсы конечной точки с протоколом HTTP, необходимо указать SecurityAccessPolicy. Дополнительные сведения см. в статье Назначение политики безопасности доступа для конечных точек HTTP и HTTPS.
Следующие статьи проведут вас через следующие шаги: