Megosztás a következőn keresztül:


Szolgáltatás futtatása helyi felhasználói fiókként vagy helyi rendszerfiókként

Az Azure Service Fabric használatával különböző felhasználói fiókokban biztonságossá teheti a fürtön futó alkalmazásokat. Alapértelmezés szerint a Service Fabric-alkalmazások abban a fiókban futnak, amely alatt a Fabric.exe folyamat fut. A Service Fabric azt is lehetővé teszi, hogy helyi felhasználó vagy rendszerfiók alatt futtassa az alkalmazásokat. Támogatott helyi rendszerfióktípusok: LocalUser, NetworkService, LocalService és LocalSystem. Ha önálló Windows-fürtön futtatja a Service Fabricet, futtathat egy szolgáltatást Active Directory-tartományi fiókok vagy csoportosan felügyelt szolgáltatásfiókok alatt.

Az alkalmazásjegyzékben megadhatja a szolgáltatások vagy erőforrások futtatásához szükséges felhasználói fiókokat a Rendszerbiztonsági tagok szakaszban. Felhasználói csoportokat is definiálhat és hozhat létre, hogy egy vagy több felhasználó együtt kezelhető legyen. Ez akkor hasznos, ha több felhasználó is van a különböző szolgáltatásbejegyzési pontokhoz, és a csoportszinten elérhető általános jogosultságokra van szükségük. A rendszer ezután hivatkozik a felhasználókra egy futtató házirendben, amely egy adott szolgáltatásra vagy az alkalmazás összes szolgáltatására vonatkozik.

Alapértelmezés szerint a futtató házirend a fő belépési pontra lesz alkalmazva. Futtató házirendet is alkalmazhat a beállítási belépési pontra, ha bizonyos magas jogosultságú beállítási műveleteket kell futtatnia egy rendszerfiókban, vagy a fő és a beállítási belépési pontot is.

Megjegyzés

Ha futtató házirendet alkalmaz egy szolgáltatásra, és a szolgáltatásjegyzék http protokollal deklarálja a végponti erőforrásokat, meg kell adnia egy SecurityAccessPolicy szabályzatot. További információ: Biztonsági hozzáférési szabályzat hozzárendelése HTTP- és HTTPS-végpontokhoz.

Szolgáltatás futtatása helyi felhasználóként

Létrehozhat egy helyi felhasználót, amellyel biztonságossá teheti a szolgáltatást az alkalmazásban. Ha egy LocalUser-fióktípus van megadva az alkalmazásjegyzék rendszerbiztonsági tagok szakaszában, a Service Fabric helyi felhasználói fiókokat hoz létre azon gépeken, ahol az alkalmazás telepítve van. Alapértelmezés szerint ezek a fiókok nem rendelkeznek az alkalmazásjegyzékben megadott névvel (például a Customer3 névvel az alábbi alkalmazásjegyzék-példában). Ehelyett dinamikusan jönnek létre, és véletlenszerű jelszavakat használnak.

A ServiceManifestImportrunAsPolicy szakaszában adja meg a szolgáltatáskód-csomag futtatásához a Rendszerbiztonsági tagok szakasz felhasználói fiókját. Az alábbi példa bemutatja, hogyan hozhat létre helyi felhasználót, és hogyan alkalmazhat futtató házirendet a fő belépési pontra:

<?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="Application7Type" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <Parameters>
    <Parameter Name="Web1_InstanceCount" DefaultValue="-1" />
  </Parameters>
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    <Policies>
      <RunAsPolicy CodePackageRef="Code" UserRef="Customer3" EntryPointType="Main" />
    </Policies>
  </ServiceManifestImport>
  <DefaultServices>    
    <Service Name="Web1" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="Web1Type" InstanceCount="[Web1_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </DefaultServices>
  <Principals>
    <Users>
      <User Name="Customer3" />
    </Users>
  </Principals>
</ApplicationManifest>

Helyi felhasználói csoport létrehozása

Létrehozhat felhasználói csoportokat, és hozzáadhat egy vagy több felhasználót a csoporthoz. Ez akkor hasznos, ha több felhasználó is van a különböző szolgáltatásbeléptetési pontokhoz, és bizonyos közös jogosultságokkal kell rendelkezniük, amelyek a csoport szintjén érhetők el. Az alábbi alkalmazásjegyzékbeli példa egy LocalAdminGroup nevű helyi csoportot mutat be, amely rendszergazdai jogosultságokkal rendelkezik. Két felhasználó ( Customer1 és Customer2) tagja ennek a helyi csoportnak. A ServiceManifestImport szakaszban a rendszer futtatási szabályzatot alkalmaz a Stateful1Pkg kódcsomag Ügyfél2 néven való futtatására. A Web1Pkg kódcsomag Ügyfél1 néven való futtatásához egy másik futtató házirend van alkalmazva.

<?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="Application7Type" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <Parameters>
    <Parameter Name="Stateful1_MinReplicaSetSize" DefaultValue="3" />
    <Parameter Name="Stateful1_PartitionCount" DefaultValue="1" />
    <Parameter Name="Stateful1_TargetReplicaSetSize" DefaultValue="3" />
    <Parameter Name="Web1_InstanceCount" DefaultValue="-1" />
  </Parameters>
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Stateful1Pkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    <Policies>
      <RunAsPolicy CodePackageRef="Code" UserRef="Customer2" EntryPointType="Main"/>
    </Policies>
  </ServiceManifestImport>
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    <Policies>
      <RunAsPolicy CodePackageRef="Code" UserRef="Customer1" EntryPointType="Main"/>
    </Policies>
  </ServiceManifestImport>
  <DefaultServices>
    <Service Name="Stateful1" ServicePackageActivationMode="ExclusiveProcess">
      <StatefulService ServiceTypeName="Stateful1Type" TargetReplicaSetSize="[Stateful1_TargetReplicaSetSize]" MinReplicaSetSize="[Stateful1_MinReplicaSetSize]">
        <UniformInt64Partition PartitionCount="[Stateful1_PartitionCount]" LowKey="-9223372036854775808" HighKey="9223372036854775807" />
      </StatefulService>
    </Service>
    <Service Name="Web1" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="Web1Type" InstanceCount="[Web1_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </DefaultServices>
  <Principals>
    <Groups>
      <Group Name="LocalAdminGroup">
        <Membership>
          <SystemGroup Name="Administrators" />
        </Membership>
      </Group>
    </Groups>
    <Users>
      <User Name="Customer1">
        <MemberOf>
          <Group NameRef="LocalAdminGroup" />
        </MemberOf>
      </User>
      <User Name="Customer2">
        <MemberOf>
          <Group NameRef="LocalAdminGroup" />
        </MemberOf>
      </User>
    </Users>
  </Principals>
</ApplicationManifest>

Alapértelmezett szabályzat alkalmazása az összes szolgáltatáskód-csomagra

A DefaultRunAsPolicy szakaszban megadhatja az összes olyan kódcsomag alapértelmezett felhasználói fiókját, amely nem rendelkezik meghatározott RunAsPolicy értékkel. Ha az alkalmazás által használt szolgáltatásjegyzékben megadott kódcsomagok többségének ugyanazon a felhasználón kell futnia, az alkalmazás egyszerűen definiálhat egy alapértelmezett futtató házirendet az adott felhasználói fiókkal. Az alábbi példa azt határozza meg, hogy ha egy kódcsomagban nincs megadva RunAsPolicy , a kódcsomagnak a Rendszerbiztonsági tagok szakaszban megadott MyDefaultAccount felhasználó alatt kell futnia. A támogatott fióktípusok a következők: LocalUser, NetworkService, LocalSystem és LocalService. Ha helyi felhasználót vagy szolgáltatást használ, adja meg a fiók nevét és jelszavát is.

<?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="Application7Type" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <Parameters>
    <Parameter Name="Web1_InstanceCount" DefaultValue="-1" />
  </Parameters>
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Web1Pkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    
  </ServiceManifestImport>
  <DefaultServices>    
    <Service Name="Web1" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="Web1Type" InstanceCount="[Web1_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </DefaultServices>
  <Principals>
    <Users>
      <User Name="MyDefaultAccount" AccountType="NetworkService" />      
    </Users>
  </Principals>
  <Policies>
    <DefaultRunAsPolicy UserRef="MyDefaultAccount" />
  </Policies>
</ApplicationManifest>

Kódcsomag helyi hibakeresése konzol átirányításával

Időnként hasznos hibakeresési célokra, ha egy futó szolgáltatás konzoljának kimenetét látja. Beállíthat egy konzolátirányítási szabályzatot a szolgáltatásjegyzék belépési pontján, amely a kimenetet egy fájlba írja. A fájl kimenete a log nevű alkalmazásmappába lesz írva azon a fürtcsomóponton, ahol az alkalmazás üzembe van helyezve és fut.

Figyelmeztetés

Soha ne használja a konzol átirányítási szabályzatát éles környezetben üzembe helyezett alkalmazásokban, mert ez hatással lehet az alkalmazás feladatátvételére. Ezt csak helyi fejlesztési és hibakeresési célokra használja.

A következő szolgáltatásjegyzékbeli példa a konzol átirányításának engedélyezését mutatja be FileRetentionCount értékkel:

<CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <ExeHost>
        <Program>VotingWeb.exe</Program>
        <WorkingFolder>CodePackage</WorkingFolder>
        <ConsoleRedirection FileRetentionCount="10"/>
      </ExeHost>
    </EntryPoint>
</CodePackage>

Következő lépések