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.
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 olunPrincipalsAllowedToRetrieveManagedPassword
.AccountName
,DnsHostName
veServicePrincipalName
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$
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$
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: