Een service uitvoeren als een Active Directory-gebruiker of -groep

Op een zelfstandig Windows Server-cluster kunt u een service uitvoeren als een Active Directory-gebruiker of -groep met behulp van een RunAs-beleid. Service Fabric-toepassingen worden standaard uitgevoerd onder het account waaronder het Fabric.exe-proces wordt uitgevoerd. Het uitvoeren van toepassingen onder verschillende accounts, zelfs in een gedeelde gehoste omgeving, maakt ze veiliger van elkaar. Houd er rekening mee dat dit gebruikmaakt van Active Directory on-premises binnen uw domein en niet van Microsoft Entra-id. U kunt ook een service uitvoeren als een beheerd serviceaccount voor groepen (gMSA).

Met behulp van een domeingebruiker of groep hebt u vervolgens toegang tot andere resources in het domein (bijvoorbeeld bestandsshares) waaraan machtigingen zijn verleend.

In het volgende voorbeeld ziet u een Active Directory-gebruiker met de naam TestUser met het domeinwachtwoord dat is versleuteld met behulp van een certificaat met de naam MyCert. U kunt de Invoke-ServiceFabricEncryptText PowerShell-opdracht gebruiken om de geheime coderingstekst te maken. Zie Geheimen beheren in Service Fabric-toepassingen voor meer informatie.

U moet de persoonlijke sleutel van het certificaat implementeren om het wachtwoord te ontsleutelen op de lokale computer met behulp van een out-of-band-methode (in Azure is dit via Azure Resource Manager). Wanneer Service Fabric vervolgens het servicepakket op de computer implementeert, kan het het geheim ontsleutelen en (samen met de gebruikersnaam) worden geverifieerd met Active Directory om onder deze referenties te worden uitgevoerd.

<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>

Notitie

Als u een RunAs-beleid toepast op een service en het servicemanifest eindpuntbronnen declareert met het HTTP-protocol, moet u ook een SecurityAccessPolicy opgeven. Zie Een beveiligingstoegangsbeleid toewijzen voor HTTP- en HTTPS-eindpunten voor meer informatie.

Lees de volgende artikelen als volgende stap: