Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Windows Workflow Foundation (WF) je integrován s několika různými technologiemi, jako je Microsoft SQL Server a Windows Communication Foundation (WCF). Interakce s těmito technologiemi může v případě nesprávného provedení zavést do pracovního postupu problémy se zabezpečením.
Poznámka:
Pracovní postupy popisují pořadí provádění a závislostí mezi krátkými nebo dlouhotrvajícími úlohami. Jako mechanismus provádění kódu by se měl načíst a spustit pouze důvěryhodný kód. Vývojáři musí zajistit, aby se s aplikacemi používajícími WF používaly jenom důvěryhodné pracovní postupy.
Aspekty zabezpečení trvalosti
Pracovní postupy, které používají Delay aktivitu a trvalost, musí služba znovu aktivovat. Technologie Windows AppFabric používá službu správy pracovních postupů (WMS) k opětovné aktivaci pracovních postupů s časovači, jejichž platnost vypršela. WMS vytvoří hostitele WorkflowServiceHost znovu aktivovaného pracovního postupu. Pokud je služba WMS zastavená, trvalé pracovní postupy se po vypršení platnosti časovačů znovu neaktivují.
Přístup k trvalé instancing by měl být chráněn před škodlivými entitami externími pro doménu aplikace. Kromě toho by vývojáři měli zajistit, aby se škodlivý kód nespustí ve stejné doméně aplikace jako trvalý kód instancengu.
Trvalý vytváření instancí by se nemělo spouštět se zvýšenými oprávněními (správce).
Data zpracovávaná mimo doménu aplikace by měla být chráněna.
Aplikace, které vyžadují izolaci zabezpečení, by neměly sdílet stejnou instanci abstrakce schématu. Tyto aplikace by měly používat různé poskytovatele úložiště nebo poskytovatele úložiště nakonfigurované tak, aby používaly různé instance úložiště.
Aspekty zabezpečení SQL Serveru
Pokud se používá velký počet podřízených aktivit, umístění, záložek, rozšíření hostitele nebo oborů nebo když se použijí záložky s velmi velkými datovými částmi, může být paměť vyčerpána nebo může být během trvalosti přiděleno příliš velké množství místa v databázi. To lze zmírnit pomocí zabezpečení na úrovni objektů a databáze.
Při použití SqlWorkflowInstanceStoremusí být úložiště instancí zabezpečené.
Citlivá data v úložišti instancí by měla být šifrovaná. Další informace najdete v tématu Šifrování SQL Serveru.
Vzhledem k tomu, že připojovací řetězec databáze je často součástí konfiguračního souboru, je třeba použít seznam ACL (Windows Level Security), aby byl konfigurační soubor (Web.Config obvykle) zabezpečený a že přihlašovací údaje a heslo nejsou součástí připojovací řetězec. Místo toho by se mělo použít ověřování systému Windows mezi databází a webovým serverem.
Důležité informace pro WorkflowServiceHost
Koncové body Windows Communication Foundation (WCF) používané v pracovních postupech by měly být zabezpečené. Další informace naleznete v tématu Přehled zabezpečení WCF.
Autorizaci na úrovni hostitele lze implementovat pomocí ServiceAuthorizationManager. Další informace najdete v tématu Postupy: Vytvoření vlastního správce autorizace pro službu .
ServiceSecurityContext příchozí zprávy je také k dispozici z pracovního postupu přístupem k OperationContext.
WF Security Pack CTP
Microsoft WF Security Pack Community Technology Preview (CTP) 1 je sada aktivit a jejich implementace založená na windows Workflow Foundation v rozhraní .NET Framework 4 (WF 4 ) a Windows Identity Foundation (WIF). Microsoft WF Security Pack CTP 1 obsahuje jak aktivity, tak jejich návrháři, kteří ilustrují, jak snadno povolit různé scénáře související se zabezpečením pomocí pracovního postupu, včetně:
Zosobnění identity klienta v pracovním postupu
Autorizace v pracovním postupu, jako je principalPermission a ověřování deklarací identity
Ověřené zasílání zpráv pomocí ClientCredentials zadaných v pracovním postupu, jako je uživatelské jméno nebo heslo nebo token načtený ze služby tokenů zabezpečení (STS)
Tok tokenu zabezpečení klienta do back-endové služby (delegování založené na delegování na základě deklarací identity) pomocí actAs WS-Trust