Isolement, approbations et statistiques des plug-ins

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365 (Online et local) prend en charge l’exécution des plug-ins et des activités de workflow personnalisées dans un environnement isolé. Dans cet environnement isolé, également appelé bac à sable (sandbox), un plug-in ou une activité personnalisée peut utiliser toute la puissance du SDK de Microsoft Dynamics 365 pour accéder au service Web d’organisation. L’accès au système de fichiers, au journal des événements système, à certains protocoles réseau, au registre, etc. est empêché dans le bac à sable. Toutefois, les plug-ins et activités personnalisées de bac à sable ont accès aux points de terminaison externes comme Services en nuage d'Azure.

Microsoft Dynamics 365 recueille les statistiques à l’exécution et surveille les plug-ins et les activités de workflow personnalisées qui s’exécutent dans le bac à sable. Si le processus de travail du bac à sable qui héberge ce code personnalisé dépasse les limites d’UC, de mémoire ou de traitement ou n’est pas réactif d’une autre manière, ce processus est supprimé par la plateforme. À ce stade, tout plug-in ou toute activité de workflow personnalisée en cours d’exécution dans ce processus de travail échoue avec des exceptions. Toutefois, la prochaine fois que le plug-in ou l’activité de workflow personnalisée est exécuté, son fonctionnement s’exécute normalement. Il y a un seul processus de travail par organisation, si bien que les échecs survenant dans une organisation n’affectent pas une autre organisation.

En résumé, le bac à sable est l’environnement d’exécution conseillé pour les plug-ins car il est plus sécurisé, prend en charge la surveillance d’exécution et la création de rapports de statistiques et qu’il est pris en charge sur tous les déploiements de Microsoft Dynamics 365. De plus, Microsoft Dynamics 365 (Online) prend uniquement en charge l’exécution d’activités de workflow personnalisées si elles sont inscrites dans le bac à sable.

Approbations

Les développeurs ont la possibilité d’inscrire leurs plug-ins dans le bac à sable, ce qui est appelé confiance partielle, ou hors du bac à sable, ce qui est appelé confiance totale. La confiance totale est prise en charge pour les déploiements Microsoft Dynamics 365 locaux et avec accès via Internet. Pour un déploiement Microsoft Dynamics 365 (Online), les plug-ins ou les activités de workflow personnalisées doivent être inscrits dans le bac à sable (confiance partielle) où ils sont isolés comme décrit précédemment.

Important

Les activités de workflow personnalisées et les plug-ins qui ont été développés avec le Kit de développement logiciel (SDK) Microsoft Dynamics CRM 4.0 ne sont pas pris en charge pour l’exécution dans le bac à sable ou par Microsoft Dynamics 365 (Online).

Statistiques à l’exécution

La plateforme Microsoft Dynamics 365 recueille les informations d’exécution relatives aux plug-ins et aux activités de workflow personnalisées qui s’exécutent dans le bac à sable. Ces informations sont stockées dans la base de données à l’aide des enregistrements d’entités PluginTypeStatistic. Ces enregistrements sont remplis au bout de 30 minutes à une heure suivant l’exécution du code personnalisé placé dans le bac à sable. Consultez les attributs PluginTypeStatistic pour identifier les informations collectées. Vous pouvez récupérer ces informations en utilisant le message ou la méthode de récupération.

Accès Web

Les plug-ins et activités de workflow personnalisées qui sont placés en bac à sable peuvent accéder au réseau via les protocoles HTTP et HTTPS. Cette fonctionnalité permet l’accès aux ressources Web populaires comme les sites sociaux, les fils d’actualités, les services Web, etc. Les restrictions d’accès Web suivantes s’appliquent à cette fonctionnalité de bac à sable.

  • Seuls les protocoles HTTP et HTTPS sont autorisés.

  • L’accès à localhost (bouclage) n’est pas autorisé.

  • Les adresses IP ne peuvent pas être utilisées. Vous devez utiliser une adresse Web nommée qui requiert la résolution de noms DNS.

  • L’authentification anonyme est prise en charge et recommandée. Il n’existe aucune disposition pour inviter l’utilisateur connecté à indiquer ses informations d’identification ou les enregistrer.

Ces restrictions d’accès Web par défaut sont définies dans la clé de Registre sur le serveur qui exécute le processus Microsoft.Crm.Sandbox.HostService.exe. La valeur de la clé de Registre peut être modifiée par l’administrateur système en fonction des besoins de l’organisation et de la sécurité. Le chemin d’accès de la clé de Registre sur le serveur est :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\SandboxWorkerOutboundUriPattern

La valeur de la clé est une chaîne d’expression régulière qui définit les restrictions d’accès Web. La valeur de clé par défaut est :

"^http[s]?://(?!((localhost[:/])|(\[.*\])|([0-9]+[:/])|(0x[0-9a-f]+[:/])|(((([0-9]+)|(0x[0-9A-F]+))\.){3}(([0-9]+)|(0x[0-9A-F]+))[:/]))).+";

En modifiant la valeur de la clé de Registre, vous pouvez modifier l’accès Web pour les plug-ins placés dans le bac à sable.

System_CAPS_security Sécurité Remarque

Le rôle de service de traitement Bac à sable (sandbox) est par défaut l’activation des appels sortants. Pour ne pas autoriser les appels sortants du code personnalisé (les plug-ins ou les activités de workflow personnalisées), vous pouvez désactiver les appels sortants en définissant la clé de Registre suivante sur 1 (DWORD) sur le serveur qui héberge le Service de traitement Bac à sable (sandbox). Ensuite, redémarrez le service de traitement Bac à sable (sandbox) Microsoft Dynamics 365.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\SandboxWorkerDisableOutboundCalls

Voir aussi

Présentation de l’infrastructure d’événements
Écrire un plug-in
Créer une activité de workflow personnalisée
Extensions Azure pour Microsoft Dynamics 365
Messages et méthodes de l’entité PluginTypeStatistic
Exemple : accès Web d’un plug-in placé dans le bac à sable

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright