Eseguire un servizio come account del servizio gestito del gruppo

In un cluster autonomo di Windows Server è possibile eseguire un servizio come account del servizio gestito di gruppo usando un criterio RunAs . Per impostazione predefinita, le applicazioni di Service Fabric vengono eseguite con l'account in cui viene eseguito il Fabric.exe processo. L'esecuzione di applicazioni con account diversi, anche in ambienti ospitati condivisi, aumenta la sicurezza reciproca. Se si usa un account del servizio gestito del gruppo, nel manifesto dell'applicazione non viene archiviata alcuna password o password crittografata. È anche possibile eseguire un servizio come utente o gruppo di Active Directory.

L'esempio seguente illustra come creare un account del servizio gestito del gruppo denominato svc-Test$, come distribuire tale account del servizio gestito nei nodi del cluster e come configurare l'entità utente.

Nota

L'uso di un account del servizio gestito del gruppo con un cluster autonomo di Service Fabric richiede Active Directory locale all'interno del dominio (anziché l'ID Microsoft Entra).

Prerequisiti:

  • Il dominio richiede una chiave radice del Servizio distribuzione chiavi.
  • Nel dominio deve essere presente almeno un controller di dominio Windows Server 2012 (o R2).
  1. Chiedere a un amministratore di dominio di Active Directory di creare un account del servizio gestito dal gruppo usando il New-ADServiceAccount cmdlet e assicurarsi che PrincipalsAllowedToRetrieveManagedPassword includa tutti i nodi del cluster di Service Fabric. AccountName, DnsHostName e ServicePrincipalName devono essere univoci.

    New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com  -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
    
  2. In ognuno dei nodi del cluster di Service Fabric, ad esempio SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$, installare e testare il gMSA.

    Add-WindowsFeature RSAT-AD-PowerShell
    Install-AdServiceAccount svc-Test$
    Test-AdServiceAccount svc-Test$
    
  3. Configurare l'entità utente e configurare per RunAsPolicy fare riferimento all'utente.

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

Nota

Se si applica un criterio RunAs a un servizio e il manifesto del servizio dichiara le risorse dell'endpoint con il protocollo HTTP, è necessario specificare SecurityAccessPolicy. Per altre informazioni, vedere Assegnare criteri di accesso di sicurezza per gli endpoint HTTP e HTTPS.

Gli articoli seguenti illustrano i passaggi successivi: