Ausführen eines Diensts als gruppenverwaltetes Dienstkonto
Auf einem eigenständigen Windows Server-Cluster können Sie einen Dienst unter Verwendung einer RunAs-Richtlinie als gruppenverwaltetes Dienstkonto (group Managed Service Account, gMSA) ausführen. Standardmäßig werden Service Fabric-Anwendungen unter dem Konto ausgeführt, unter dem der Prozess Fabric.exe
ausgeführt wird. Die Ausführung von Anwendungen unter verschiedenen Konten sorgt dafür, dass die Anwendungen besser voreinander geschützt sind – sogar in einer gehosteten Umgebung mit gemeinsamer Nutzung. Bei Verwendung eines gruppenverwalteten Dienstkontos wird im Anwendungsmanifest kein Kennwort oder verschlüsseltes Kennwort gespeichert. Sie können einen Dienst auch als Active Directory-Benutzer oder -Gruppe ausführen.
Im folgende Beispiel wird gezeigt, wie ein gruppenverwaltetes Dienstkonto namens svc-Test$ erstellt, dieses verwaltete Dienstkonto auf Clusterknoten bereitgestellt und der Benutzerprinzipal konfiguriert wird.
Hinweis
Die Verwendung eines gMSA mit einem eigenständigen Service Fabric-Cluster erfordert Active Directory lokal innerhalb Ihrer Domäne (anstatt Microsoft Entra ID).
Voraussetzungen:
- Die Domäne benötigt einen KDS-Stammschlüssel.
- Es muss mindestens ein Windows Server 2012-Domänencontroller (oder ein R2-DC) in der Domäne vorhanden sein.
Bitten Sie einen Active Directory-Domänenadministrator, mit dem Cmdlet
New-ADServiceAccount
ein gruppenverwaltetes Dienstkonto zu erstellen, und vergewissern Sie sich, dassPrincipalsAllowedToRetrieveManagedPassword
alle Service Fabric-Clusterknoten enthält.AccountName
,DnsHostName
undServicePrincipalName
müssen eindeutig sein.New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
Installieren und testen Sie das gruppenverwaltete Dienstkonto auf den einzelnen Service Fabric-Clusterknoten (beispielsweise
SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
).Add-WindowsFeature RSAT-AD-PowerShell Install-AdServiceAccount svc-Test$ Test-AdServiceAccount svc-Test$
Konfigurieren Sie den Benutzerprinzipal, und konfigurieren Sie die
RunAsPolicy
, um auf den Benutzer zu verweisen.<?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>
Hinweis
Wenn Sie eine RunAs-Richtlinie auf einen Dienst anwenden und das Dienstmanifest Endpunktressourcen mit dem HTTP-Protokoll deklariert, müssen Sie eine Richtlinie vom Typ SecurityAccessPolicy angeben. Weitere Informationen finden Sie unter Zuweisen einer Sicherheitszugriffsrichtlinie für HTTP- und HTTPS-Endpunkte.
Die folgenden Artikel führen Sie durch die nächsten Schritte: