Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Program Windows Workflow Foundation (WF) jest zintegrowany z kilkoma różnymi technologiami, takimi jak Microsoft SQL Server i Windows Communication Foundation (WCF). Interakcja z tymi technologiami może spowodować problemy z zabezpieczeniami w przepływie pracy, jeśli zostanie wykonana nieprawidłowo.
Uwaga
Przepływy pracy opisują kolejność wykonywania i zależności między zadaniami krótkimi lub długotrwałymi. Jako mechanizm wykonywania kodu należy załadować i wykonać tylko zaufany kod. Deweloperzy muszą mieć pewność, że tylko zaufane przepływy pracy są używane z aplikacjami korzystającymi z platformy WF.
Obawy dotyczące zabezpieczeń trwałości
Przepływy pracy korzystające z Delay aktywności i utrwalania powinny zostać ponownie aktywowane przez usługę. Program Windows AppFabric używa usługi zarządzania przepływami pracy (WMS) do ponownego aktywowania przepływów pracy z wygasłymi czasomierzami. Program WMS tworzy obiekt WorkflowServiceHost do hostowania ponownie aktywowanego przepływu pracy. Jeśli usługa WMS zostanie zatrzymana, utrwalone przepływy pracy nie zostaną ponownie aktywowane po wygaśnięciu czasomierzy.
Dostęp do trwałego stancingu powinien być chroniony przed złośliwymi jednostkami spoza domeny aplikacji. Ponadto deweloperzy powinni upewnić się, że nie można wykonać złośliwego kodu w tej samej domenie aplikacji co trwały kod instancingu.
Trwałe instancjonowanie nie powinno być wykonywane z podwyższonym poziomem uprawnień (administrator).
Dane przetwarzane poza domeną aplikacji powinny być chronione.
Aplikacje wymagające izolacji zabezpieczeń nie powinny współużytkować tego samego wystąpienia abstrakcji schematu. Takie aplikacje powinny używać różnych dostawców magazynu lub dostawców magazynów skonfigurowanych do używania różnych wystąpień magazynu.
Problemy z zabezpieczeniami programu SQL Server
Gdy jest używana duża liczba działań podrzędnych, lokalizacji, zakładek, rozszerzeń hosta lub zakresów albo gdy są używane zakładki z bardzo dużymi ładunkami, pamięć może zostać wyczerpana lub nadmierne ilości miejsca w bazie danych można przydzielić podczas trwałości. Można temu zapobiec przy użyciu zabezpieczeń na poziomie obiektu i na poziomie bazy danych.
W przypadku korzystania z SqlWorkflowInstanceStore, magazyn wystąpień musi być zabezpieczony.
Dane poufne w magazynie instancji powinny być szyfrowane. Aby uzyskać więcej informacji, zobacz Szyfrowanie programu SQL Server.
Ponieważ ciąg połączenia bazy danych jest często zawarty w pliku konfiguracji, należy użyć zabezpieczeń na poziomie systemu Windows (ACL), aby zapewnić, że plik konfiguracji (zazwyczaj Web.Config) jest bezpieczny, a informacje logowania i hasła nie są uwzględniane w ciągu połączenia. Zamiast tego należy użyć uwierzytelniania systemu Windows między bazą danych a serwerem sieci Web.
Zagadnienia dotyczące elementu WorkflowServiceHost
Punkty końcowe programu Windows Communication Foundation (WCF) używane w przepływach pracy powinny być zabezpieczone. Aby uzyskać więcej informacji, zobacz Omówienie zabezpieczeń programu WCF.
Autoryzację na poziomie hosta można zaimplementować za pomocą polecenia ServiceAuthorizationManager. Aby uzyskać szczegółowe informacje, zobacz How To: Create a Custom Authorization Manager for a Service (Instrukcje: tworzenie niestandardowego menedżera autoryzacji dla usługi ).
Element ServiceSecurityContext dla komunikatu przychodzącego jest również dostępny z poziomu przepływu pracy przez uzyskanie dostępu do elementu OperationContext.
WF Pakiet Bezpieczeństwa CTP
Program Microsoft WF Security Pack Community Technology Preview (CTP) 1 to zestaw działań i ich implementacja oparta na programie Windows Workflow Foundation w programie .NET Framework 4 (WF 4) i programie Windows Identity Foundation (WIF). Pakiet Microsoft WF Security Pack CTP 1 zawiera zarówno aktywności, jak i ich projektantów, które ilustrują, jak łatwo włączyć różne scenariusze związane z zabezpieczeniami przy użyciu przepływów pracy, w tym:
Personifikacja tożsamości klienta w przepływie pracy
Autoryzacja w przepływie pracy, taka jak PrincipalPermission i walidacja oświadczeń
Uwierzytelnione komunikaty przy użyciu elementu ClientCredentials określonego w przepływie pracy, takiego jak nazwa użytkownika/hasło lub token pobrany z usługi tokenu zabezpieczającego (STS)
Przekazywanie tokenu zabezpieczeń klienta do usługi zaplecza (delegowanie oparte na oświadczeniach) przy użyciu WS-Trust ActAs