Köra tjänster som grupphanterade tjänstkonton
I ett fristående Windows Server-kluster kan du köra en tjänst som ett grupphanterat tjänstkonto (gMSA) med en RunAs-princip . Som standard körs Service Fabric-program under det konto som Fabric.exe
processen körs under. Att köra program under olika konton, även i en delad värdbaserad miljö, gör dem säkrare från varandra. Med hjälp av en gMSA finns det inget lösenord eller krypterat lösenord som lagras i programmanifestet. Du kan också köra en tjänst som en Active Directory-användare eller -grupp.
I följande exempel visas hur du skapar ett gMSA-konto med namnet svc-Test$, hur du distribuerar det hanterade tjänstkontot till klusternoderna och hur du konfigurerar användarens huvudnamn.
Kommentar
Om du använder en gMSA med ett fristående Service Fabric-kluster krävs Active Directory lokalt i din domän (i stället för Microsoft Entra-ID).
Förutsättningar:
- Domänen behöver en KDS-rotnyckel.
- Det måste finnas minst en Windows Server 2012-domänkontrollant (eller R2) domänkontrollant i domänen.
Låt en Active Directory-domänadministratör skapa ett grupphanterat tjänstkonto med hjälp av cmdleten
New-ADServiceAccount
PrincipalsAllowedToRetrieveManagedPassword
och se till att alla Service Fabric-klusternoder ingår.AccountName
,DnsHostName
, ochServicePrincipalName
måste vara unikt.New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
Installera och testa gMSA på var och en av Service Fabric-klusternoderna (till exempel
SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
).Add-WindowsFeature RSAT-AD-PowerShell Install-AdServiceAccount svc-Test$ Test-AdServiceAccount svc-Test$
Konfigurera användarens huvudnamn och konfigurera
RunAsPolicy
för att referera till användaren.<?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>
Kommentar
Om du tillämpar en RunAs-princip på en tjänst och tjänstmanifestet deklarerar slutpunktsresurser med HTTP-protokollet måste du ange en SecurityAccessPolicy. Mer information finns i Tilldela en säkerhetsåtkomstprincip för HTTP- och HTTPS-slutpunkter.
Följande artiklar vägleder dig genom nästa steg: