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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: