تشغيل خدمة كحساب خدمة مُدارة لمجموعة
على نظام مجموعة مستقلة لخادم Windows، يمكنك تشغيل خدمة كحساب خدمة مدار بالمجموعة (gMSA) باستخدام نهج RunAs. افتراضيًا، يتم تشغيل تطبيقات Service Fabric ضمن الحساب الذي تعمل فيه Fabric.exeعملية. إن تشغيل التطبيقات تحت حسابات مختلفة، حتى في بيئة مستضافة مشتركة، يجعلها أكثر أمانًا من بعضها البعض. باستخدام gMSA، لا توجد كلمة مرور أو كلمة مرور مشفرة مخزنة في بيان التطبيق. يمكنك أيضًا تشغيل خدمة كمستخدم أو مجموعة Active Directory.
يوضح المثال التالي كيفية إنشاء حساب gMSA يسمى svc-Test$، وكيفية نشر حساب الخدمة المدار هذا إلى عقد نظام المجموعة، وكيفية تكوين أصل المستخدم.
ملاحظة
يتطلب استخدام gMSA مع مجموعة Service Fabric مستقلة Active Directory محليًا داخل مجالك (بدلًا من Microsoft Azure Active Directory (Azure AD)).
المتطلبات الأساسية:
- يحتاج النطاق إلى مفتاح جذر KDS.
- يجب أن يكون هناك واحد على الأقل Windows Server 2012 (أو R2) DC في المجال.
اطلب من مسؤول مجال Active Directory إنشاء حساب خدمة مدار بواسطة مجموعة باستخدام
New-ADServiceAccountcmdlet وتأكد من تضمين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$على كل عقد من عقد مجموعة Service Fabric (على سبيل المثال،
SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$)، قم بتثبيت gMSA واختباره.Add-WindowsFeature RSAT-AD-PowerShell Install-AdServiceAccount svc-Test$ Test-AdServiceAccount svc-Test$تكوين المستخدم الأساسي وتكوين
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.
سترشدك المقالات التالية خلال الخطوات التالية: