以群組受控服務帳戶身分執行服務

在 Windows Server 獨立叢集上,您可以使用 RunAs 原則,以群組受控服務帳戶 (gMSA) 身分執行服務。 根據預設,Service Fabric 應用程式會在用以執行 Fabric.exe 程序的帳戶之下執行。 即使在共用主控環境中,以不同帳戶執行應用程式能避免彼此干擾。 使用 gMSA,就不需將密碼或加密的密碼儲存於應用程式資訊清單中。 您也可以利用 Active Directory 使用者或群組身分執行服務。

下列範例示範如何建立名為 svc-Test$ 的 gMSA 帳戶、如何將受控服務帳戶部署至叢集節點,以及如何設定使用者主體。

注意

搭配獨立 Service Fabric 叢集使用 gMSA,您的網域內需要 Active Directory 內部部署 (而不是 Microsoft Entra ID)。

必要條件:

  • 網域需要一個 KDS 根金鑰。
  • 網域中必須至少有一個 Windows Server 2012 (或 R2) DC。
  1. 讓 Active Directory 網域系統管理員能夠使用 New-ADServiceAccount Cmdlet 來建立群組受控服務帳戶,並確定 PrincipalsAllowedToRetrieveManagedPassword 包括所有 Service Fabric 叢集節點。 AccountNameDnsHostNameServicePrincipalName 必須是唯一的。

    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 端點指派安全性存取原則

下列文章將引導您完成後續步驟: