تشغيل خدمة كحساب خدمة مُدارة لمجموعة

على نظام مجموعة مستقلة لخادم Windows، يمكنك تشغيل خدمة كحساب خدمة مدار بالمجموعة (gMSA) باستخدام نهج RunAs. افتراضيًا، يتم تشغيل تطبيقات Service Fabric ضمن الحساب الذي تعمل فيه Fabric.exeعملية. إن تشغيل التطبيقات تحت حسابات مختلفة، حتى في بيئة مستضافة مشتركة، يجعلها أكثر أمانًا من بعضها البعض. باستخدام gMSA، لا توجد كلمة مرور أو كلمة مرور مشفرة مخزنة في بيان التطبيق. يمكنك أيضًا تشغيل خدمة كمستخدم أو مجموعة Active Directory.

يوضح المثال التالي كيفية إنشاء حساب gMSA يسمى svc-Test$، وكيفية نشر حساب الخدمة المدار هذا إلى عقد نظام المجموعة، وكيفية تكوين أصل المستخدم.

إشعار

يتطلب استخدام gMSA مع مجموعة Service Fabric المستقلة Active Directory محليا داخل مجالك (بدلا من Microsoft Entra ID).

المتطلبات الأساسية:

  • يحتاج النطاق إلى مفتاح جذر KDS.
  • يجب أن يكون هناك واحد على الأقل Windows Server 2012 (أو R2) DC في المجال.
  1. اطلب من مسؤول مجال Active Directory إنشاء حساب خدمة مدار بواسطة مجموعة باستخدام New-ADServiceAccount cmdlet وتأكد من تضمين PrincipalsAllowedToRetrieveManagedPassword كافة عقد نظام المجموعة Service Fabric. AccountName، DnsHostName، ويجب أن تكون ServicePrincipalName فريدة من نوعها.

    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 (على سبيل المثال، SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$)، قم بتثبيت gMSA واختباره.

    Add-WindowsFeature RSAT-AD-PowerShell
    Install-AdServiceAccount svc-Test$
    Test-AdServiceAccount svc-Test$
    
  3. تكوين المستخدم الأساسي وتكوين RunAsPolicy إلى مرجع المستخدم.

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

إشعار

في حالة قمت بتطبيق نهج RunAs على خدمة وبيان الخدمة يعلن عن موارد نقطة النهاية باستخدام بروتوكول HTTP، يجب تحديد SecurityAccessPolicy. لمزيد من المعلومات، راجع تعيين نهج وصول أمان لنقاط نهاية HTTP وHTTPS.

سترشدك المقالات التالية خلال الخطوات التالية: