Dela via


Kör en tjänst som en Active Directory-användare eller -grupp

I ett fristående Windows Server-kluster kan du köra en tjänst som en Active Directory-användare eller -grupp 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. Observera att detta använder Active Directory lokalt inom din domän och inte Microsoft Entra-ID. Du kan också köra en tjänst som ett grupphanterat tjänstkonto (gMSA).

Genom att använda en domänanvändare eller grupp kan du sedan komma åt andra resurser i domänen (till exempel filresurser) som har beviljats behörigheter.

I följande exempel visas en Active Directory-användare med namnet TestUser med sitt domänlösenord krypterat med hjälp av ett certifikat med namnet MyCert. Du kan använda Invoke-ServiceFabricEncryptText PowerShell-kommandot för att skapa den hemliga chiffertexten. Mer information finns i Hantera hemligheter i Service Fabric-program .

Du måste distribuera certifikatets privata nyckel för att dekryptera lösenordet till den lokala datorn med hjälp av en out-of-band-metod (i Azure sker detta via Azure Resource Manager). När Service Fabric sedan distribuerar tjänstpaketet till datorn kan det dekryptera hemligheten och (tillsammans med användarnamnet) autentisera med Active Directory för att köras under dessa autentiseringsuppgifter.

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

Kommentar

Om du tillämpar en RunAs-princip på en tjänst och tjänstmanifestet deklarerar slutpunktsresurser med HTTP-protokollet måste du också ange en SecurityAccessPolicy. Mer information finns i Tilldela en säkerhetsåtkomstprincip för HTTP- och HTTPS-slutpunkter.

Läs följande artiklar i nästa steg: