Partager via


Sécurité de workflow

Windows Workflow Foundation (WF) est intégré avec plusieurs technologies différentes, telles que Microsoft SQL Server et Windows Communication Foundation (WCF). L'interaction avec ces technologies peut poser des problèmes de sécurité dans votre workflow si elle est effectuée de façon incorrecte.

Remarque

Les flux de travail décrivent l’ordre d’exécution et les dépendances entre les tâches courtes ou longues. En tant que mécanisme d’exécution de code, seul le code approuvé doit être chargé et exécuté. Les développeurs doivent s’assurer que seuls les flux de travail approuvés sont utilisés avec des applications WF.

Problèmes de sécurité de la persistance

  1. Les flux de travail qui utilisent une activité Delay et la persistance doivent être réactivés par un service. Windows AppFabric utilise le service de gestion de flux de travail (WMS) pour réactiver les flux de travail dont les minuteurs ont expiré. WMS crée un WorkflowServiceHost pour héberger le flux de travail réactivé. Si le service WMS est arrêté, les workflows persistants ne seront pas réactivés à l'expiration de leurs minuteurs.

  2. L'accès à l'instanciation durable doit être protégé contre les entités malveillantes externes au domaine d'application. En outre, les développeurs doivent veiller à ce qu'il soit impossible d'exécuter du code malveillant dans le même domaine d'application que celui du code d'instanciation durable.

  3. L'instanciation durable ne doit pas être exécutée avec des autorisations élevées (administrateur).

  4. Les données traitées en dehors du domaine d'application doivent être protégées.

  5. Les applications qui requièrent l'isolation de sécurité ne doivent pas partager la même instance d'abstraction de schéma. De telles applications doivent utiliser des fournisseurs de magasins différents, ou enregistrer les fournisseurs configurés pour utiliser des instanciations différentes du magasin.

Problèmes de sécurité SQL Server

  • Lors de l'utilisation d'un grand nombre d'activités enfants, d'emplacements, de signets, d'extensions hôtes ou d'étendues, ou de signets avec des charges utiles très importantes, la mémoire peut être épuisée ou des quantités inutiles d'espace de base de données peuvent être allouées pendant la persistance. Cette situation peut être atténuée en utilisant la sécurité aux niveaux objet et base de données.

  • Lors de l'utilisation de SqlWorkflowInstanceStore, le magasin d'instances doit être sécurisé.

  • Les données sensibles dans le magasin d'instances doivent être chiffrées. Pour plus d’informations, consultez SQL Server Encryption

  • Étant donné que la chaîne de connexion à une base de données est souvent incluse dans un fichier de configuration, la sécurité au niveau fenêtre (ACL) doit être utilisée pour vérifier que le fichier de configuration (Web.Config généralement) est sécurisé, et que les informations de connexion et de mot de passe ne sont pas incluses dans la chaîne de connexion. L'authentification Windows doit être utilisée entre la base de données et le serveur Web à la place.

Considérations sur WorkflowServiceHost

WF Security Pack CTP

Microsoft WF Security Pack Community Technology Preview (CTP) 1 est un ensemble d’activités dont l’implémentation est basée sur Windows Workflow Foundation dans .NET Framework 4 (WF 4) et Windows Identity Foundation (WIF). Microsoft WF Security Pack CTP 1 contient les deux activités et leurs concepteurs qui expliquent comment vérifier facilement plusieurs scénarios liés à la sécurité en utilisant un workflow, notamment :

  1. Emprunter l'identité d'un client dans le workflow

  2. Autorisation dans-le workflow, telle que PrincipalPermission et validation des revendications

  3. Messagerie authentifiée en utilisant les ClientCredentials spécifiés dans le workflow, tels que le nom d'utilisateur/mot de passe ou un jeton extrait d'un service d'émission de jeton de sécurité (STS)

  4. Transfert d'un jeton de sécurité client vers un service principal (délégation basée sur les revendications) à l'aide de WS-Trust ActAs