Grup tarafından Yönetilen Hizmet Hesabı olarak hizmet çalıştırma

Bir Windows Server tek başına kümesinde, Bir Hizmeti Bir RunAs ilkesi kullanarak grup tarafından yönetilen hizmet hesabı (gMSA) olarak çalıştırabilirsiniz. Varsayılan olarak, Service Fabric uygulamaları işlemin altında çalıştığı hesap Fabric.exe altında çalışır. Paylaşılan bir barındırılan ortamda bile farklı hesaplar altında uygulamaları çalıştırmak, bunların birbirinden daha güvenli olmasını sağlar. gMSA kullanıldığında, uygulama bildiriminde depolanan bir parola veya şifrelenmiş parola yoktur. Bir hizmeti Active Directory kullanıcısı veya grubu olarak da çalıştırabilirsiniz.

Aşağıdaki örnekte svc-Test$ adlı bir gMSA hesabının nasıl oluşturulacağı, yönetilen hizmet hesabının küme düğümlerine nasıl dağıtılacağı ve kullanıcı sorumlusunun nasıl yapılandırılacağı gösterilmektedir.

Not

Tek başına Service Fabric kümesiyle gMSA kullanmak için etki alanınızda (Microsoft Entra Id yerine) şirket içi Active Directory gerekir.

Önkoşullar:

  • Etki alanının bir KDS kök anahtarına ihtiyacı vardır.
  • Etki alanında en az bir Windows Server 2012 (veya R2) DC olmalıdır.
  1. Active Directory etki alanı yöneticisinin cmdlet'ini kullanarak grup tarafından yönetilen bir hizmet hesabı oluşturmasını New-ADServiceAccount sağlayın ve tüm Service Fabric küme düğümlerini içerdiğinden emin olun PrincipalsAllowedToRetrieveManagedPassword . AccountName, DnsHostNameve ServicePrincipalName benzersiz olmalıdır.

    New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com  -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
    
  2. Service Fabric küme düğümlerinin her birinde (örneğin, SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$), gMSA'yı yükleyin ve test edin.

    Add-WindowsFeature RSAT-AD-PowerShell
    Install-AdServiceAccount svc-Test$
    Test-AdServiceAccount svc-Test$
    
  3. Kullanıcı sorumlusunu yapılandırın ve Kullanıcı'ya başvurmak için öğesini RunAsPolicy yapılandırın.

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

Not

Bir hizmete RunAs ilkesi uygularsanız ve hizmet bildirimi HTTP protokolüyle uç nokta kaynaklarını bildirirse, bir SecurityAccessPolicy belirtmeniz gerekir. Daha fazla bilgi için bkz . HTTP ve HTTPS uç noktaları için güvenlik erişim ilkesi atama.

Aşağıdaki makaleler sonraki adımlarda size yol gösterir: