Bagikan melalui


Menjalankan layanan sebagai Akun Layanan Terkelola grup

Pada kluster mandiri Windows Server, Anda bisa menjalankan layanan sebagai akun layanan terkelola grup (gMSA) menggunakan kebijakan RunAs. Secara default, aplikasi Service Fabric berjalan di bawah akun di mana Fabric.exe proses berjalan di bawah. Menjalankan aplikasi di bawah akun yang berbeda, bahkan di lingkungan yang dihosting bersama, membuatnya lebih aman satu sama lain. Dengan menggunakan gMSA, tidak ada kata sandi atau kata sandi terenkripsi yang disimpan dalam manifes aplikasi. Anda juga dapat menjalankan layanan sebagai pengguna atau grup Active Directory.

Contoh berikut menunjukkan cara membuat akun gMSA yang disebut svc-Test$, cara menyebarkan akun layanan terkelola itu ke node kluster, dan cara mengonfigurasi prinsipal pengguna.

Catatan

Menggunakan gMSA dengan kluster Service Fabric mandiri memerlukan Direktori Aktif lokal dalam domain Anda (bukan ID Microsoft Entra).

Prasyarat:

  • Domain memerlukan kunci root KDS.
  • Harus ada setidaknya satu Windows Server 2012 (atau R2) DC di domain.
  1. Memiliki administrator domain Active Directory membuat akun layanan yang dikelola grup menggunakan New-ADServiceAccount cmdlet dan pastikan PrincipalsAllowedToRetrieveManagedPassword bahwa termasuk semua node kluster Service Fabric. AccountName, DnsHostName, dan ServicePrincipalName harus unik.

    New-ADServiceAccount -name svc-Test$ -DnsHostName svc-test.contoso.com  -ServicePrincipalNames http/svc-test.contoso.com -PrincipalsAllowedToRetrieveManagedPassword SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$
    
  2. Pada setiap node kluster Service Fabric (misalnya, SfNode0$,SfNode1$,SfNode2$,SfNode3$,SfNode4$), instal dan uji gMSA.

    Add-WindowsFeature RSAT-AD-PowerShell
    Install-AdServiceAccount svc-Test$
    Test-AdServiceAccount svc-Test$
    
  3. Konfigurasikan prinsipal Pengguna, dan konfigurasikan RunAsPolicy referensi Pengguna.

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

Catatan

Jika Anda menerapkan kebijakan RunAs ke layanan dan manifes layanan mendeklarasikan sumber daya titik akhir dengan protokol HTTP, Anda harus menentukan SecurityAccessPolicy. Untuk informasi selengkapnya, lihat Menetapkan kebijakan akses keamanan untuk titik akhir HTTP dan HTTPS.

Artikel berikut ini akan memandu Anda melalui langkah-langkah berikutnya: