Uruchamianie usługi za pomocą zarządzanego konta usługi grupy

W autonomicznym klastrze systemu Windows Server można uruchomić usługę jako konto usługi zarządzanej przez grupę (gMSA) przy użyciu zasad Uruchom jako. Domyślnie aplikacje usługi Service Fabric są uruchamiane na koncie, w ramach którego Fabric.exe działa proces. Uruchamianie aplikacji na różnych kontach, nawet w udostępnionym środowisku hostowanym, sprawia, że są one bezpieczniejsze od siebie. Za pomocą gMSA nie ma hasła ani zaszyfrowanego hasła przechowywanego w manifeście aplikacji. Możesz również uruchomić usługę jako użytkownik lub grupę usługi Active Directory.

W poniższym przykładzie pokazano, jak utworzyć konto gMSA o nazwie svc-Test$, jak wdrożyć to zarządzane konto usługi w węzłach klastra i jak skonfigurować jednostkę użytkownika.

Uwaga

Używanie konta zarządzanego przez grupę z autonomicznym klastrem usługi Service Fabric wymaga lokalnej usługi Active Directory w domenie (a nie identyfikatora Entra firmy Microsoft).

Wymagania wstępne:

  • Domena wymaga klucza głównego KDS.
  • W domenie musi znajdować się co najmniej jeden kontroler domeny systemu Windows Server 2012 (lub R2).
  1. Administrator domeny usługi Active Directory utworzy konto usługi zarządzane przez grupę przy użyciu New-ADServiceAccount polecenia cmdlet i upewnij się, że PrincipalsAllowedToRetrieveManagedPassword wszystkie węzły klastra usługi Service Fabric są uwzględniane. AccountName, DnsHostNamei ServicePrincipalName musi być unikatowa.

    New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com  -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
    
  2. Na każdym z węzłów klastra usługi Service Fabric (na przykład SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$) zainstaluj i przetestuj konto zarządzane przez grupę.

    Add-WindowsFeature RSAT-AD-PowerShell
    Install-AdServiceAccount svc-Test$
    Test-AdServiceAccount svc-Test$
    
  3. Skonfiguruj podmiot zabezpieczeń użytkownika i skonfiguruj element RunAsPolicy , aby odwoływać się do użytkownika.

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

Uwaga

Jeśli zasady Uruchom jako są stosowane do usługi, a manifest usługi deklaruje zasoby punktu końcowego przy użyciu protokołu HTTP, należy określić zasadę SecurityAccessPolicy. Aby uzyskać więcej informacji, zobacz Przypisywanie zasad dostępu zabezpieczeń dla punktów końcowych HTTP i HTTPS.

Poniższe artykuły przeprowadzą Cię przez kolejne kroki: