Sdílet prostřednictvím


Zabezpečení pracovních postupů

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

  1. 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ří platformu WorkflowServiceHost pro znovu aktivovaný pracovní postup. Pokud je služba WMS zastavená, trvalé pracovní postupy se po vypršení platnosti časovačů znovu neaktivují.

  2. 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.

  3. Trvalé vytváření instancí by se nemělo spouštět se zvýšenými oprávněními (Správce).

  4. Data zpracovávaná mimo doménu aplikace by měla být chráněna.

  5. 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 ten připojovací řetězec databáze je často součástí konfiguračního souboru, je třeba použít řízení přístupu ACL (na úrovni Windows), aby byl konfigurační soubor (obvykle Web.Config) zabezpečený a aby přihlašovací údaje a heslo nebyly součástí připojovacího řetězce. 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 je k dispozici v rámci pracovního postupu pomocí přístupu k OperationContext pro příchozí zprávu.

Balíček zabezpečení WF CTP

Microsoft WF Security Pack Community Technology Preview (CTP) 1 je sada aktivit a jejich implementací 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ávrhy, které ilustrují, jak snadno povolit různé scénáře související se zabezpečením pomocí workflow, včetně:

  1. Zosobnění identity klienta v pracovním postupu

  2. Autorizace v pracovním postupu, jako je PrincipalPermission a ověřování nároků

  3. 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)

  4. Předání klientského bezpečnostního tokenu do back-endové služby (delegování založené na deklaracích) pomocí ActAs WS-Trust