Condividi tramite


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 del grupp (gMSA) o usando criteriRunAs. Per impostazione predefinita, le applicazioni di Service Fabric vengono eseguite con lo stesso account con cui viene eseguito il processo Fabric.exe. 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 mostra come creare un account gMSA denominato svc-Test$, come distribuire tale account del servizio gestito ai 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 di servizio gestito del gruppo usando il cmdlet New-ADServiceAccount e di 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, seguito da RunAsPolicy per 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: