Partager via


Sécurité d'accès du code pour les applications ClickOnce

Les applications ClickOnce sont basées sur le .NET Framework et sont soumises à des contraintes de sécurité d'accès du code. Pour cette raison, il est important de comprendre les implications de la sécurité d'accès du code et d'écrire vos applications ClickOnce en conséquence.

La sécurité d'accès du code est un mécanisme du .NET Framework qui permet de limiter l'accès du code aux ressources et aux opérations protégées. Vous devez configurer les autorisations de sécurité d'accès du code pour votre application ClickOnce afin d'utiliser la zone appropriée pour l'emplacement du programme d'installation de l'application. Dans la plupart des cas, vous pouvez choisir la zone Internet pour un jeu limité d'autorisations ou la zone Intranet local pour un jeu plus complet d'autorisations.

Sécurité d'accès du code ClickOnce par défaut

Par défaut, une application ClickOnce reçoit des autorisations Confiance totale lorsqu'elle est installée ou exécutée sur un ordinateur client.

  • Une application possédant des autorisations Confiance totale dispose d'un accès illimité aux ressources, telles que le système de fichiers et le Registre. Cela signifie que votre application, ainsi que le système de l'utilisateur final, peuvent être potentiellement exploités par du code malveillant.

  • Lorsqu'une application requiert des autorisations Confiance totale, l'utilisateur final peut être invité à accorder des autorisations à l'application. Cela signifie qu'elle n'est pas réellement une application ClickOnce et que l'invite peut porter à confusion pour les utilisateurs moins expérimentés.

    Notes

    Lors de l'installation d'une application à partir d'un média amovible, tel qu'un CD-ROM, l'utilisateur ne reçoit pas d'invite. En outre, un administrateur réseau peut configurer la stratégie réseau afin que les utilisateurs ne reçoivent pas d'invite lors de l'installation d'une application provenant d'une source fiable. Pour plus d'informations, consultez Vue d'ensemble du déploiement d'applications approuvées.

Pour restreindre les autorisations pour une application ClickOnce, vous pouvez modifier les autorisations de sécurité d'accès du code de votre application afin de demander la zone la plus appropriée aux autorisations que votre application requiert. Dans la plupart des cas, vous pouvez sélectionner la zone à partir de laquelle l'application est déployée. Par exemple, si votre application est une application d'entreprise, vous pouvez utiliser la zone Intranet local. Si votre application est une application d'internet, vous pouvez utiliser la zone Internet.

Configuration des autorisations de sécurité

Vous devez toujours configurer votre application ClickOnce afin de demander la zone permettant de limiter les autorisations de sécurité d'accès du code. Vous pouvez configurer des autorisations de protection dans la page Sécurité du Concepteur de projets.

La page Sécurité du Concepteur de projets contient une case à cocher Activer les paramètres de sécurité ClickOnce. Lorsque cette case à cocher est activée, les demandes d'autorisation de sécurité sont ajoutées au manifeste de déploiement de votre application. Lors de l'installation, l'utilisateur est invité à accorder des autorisations si les autorisations demandées dépassent les autorisations par défaut de la zone à partir de laquelle l'application est déployée. Pour plus d'informations, consultez Comment : activer les paramètres de sécurité ClickOnce.

Des niveaux d'autorisations différents sont accordés, sans demande de confirmation, à des applications déployées à partir d'emplacements différents. Par exemple, lorsqu'une application est déployée à partir d'Internet, elle reçoit un jeu d'autorisations très restrictif. Elle reçoit des autorisations supérieures lorsqu'elle est installée à partir d'un Intranet local et des autorisations Confiance totale lorsqu'elle est installée à partir d'un CD-ROM.

Pour configurer des autorisations, vous pouvez commencer par sélectionner une zone de sécurité dans la liste Zone de la page Sécurité. Si vous comptez déployer votre application à partir de plusieurs zones, sélectionnez la zone possédant le moins d'autorisations. Pour plus d'informations, consultez Comment : définir une zone de sécurité pour une application ClickOnce.

Les propriétés qui peuvent être définies varient selon le jeu d'autorisations ; tous les jeux d'autorisations ne possèdent pas des propriétés configurables. Pour plus d'informations sur la liste complète des autorisations que votre application peut demander, consultez System.Security.Permissions. Pour plus d'informations sur la définition des propriétés pour une zone personnalisée, consultez Comment : définir des autorisations personnalisées pour une application ClickOnce.

Débogage d'une application disposant d'autorisations restreintes

En tant que développeur, vous utilisez très probablement votre ordinateur de développement avec les autorisations Confiance totale. Par conséquent, vous ne voyez pas apparaître les mêmes exceptions de sécurité lors du débogage de l'application que celles pouvant être rencontrées par les utilisateurs lors d'une exécution avec des autorisations restreintes.

Pour intercepter ces exceptions, vous devez déboguer l'application avec les mêmes autorisations que l'utilisateur final. Le débogage avec des autorisations restreintes peut être activé dans la page Sécurité du Concepteur de projets.

Lorsque vous déboguez une application avec des autorisations restreintes, des exceptions sont levées pour toute demande de sécurité de code non activée dans la page Sécurité. Un programme d'assistance de l'exception s'affiche pour fournir des suggestions relatives à la modification de votre code afin d'empêcher l'exception.

En outre, lors de l'écriture du code, la fonctionnalité Intellisense de l'éditeur de code désactive tous les membres qui ne sont pas inclus dans les autorisations de sécurité que vous avez configurées.

Pour plus d'informations, consultez Comment : déboguer une application ClickOnce avec des autorisations restreintes.

Autorisations de sécurité pour les applications hébergées dans un navigateur

Visual Studio fournit les types de projets suivants pour les applications Windows Presentation Foundation (WPF) :

  • Application de fenêtres WPF

  • Application de navigateur Web WPF

  • Bibliothèque de contrôles personnalisés WPF

  • Bibliothèque de services WPF

Parmi ces types de projets, seules les applications de navigateur Web WPF sont hébergées dans un navigateur Web et requièrent par conséquent des paramètres de déploiement et de sécurité spéciaux. Les paramètres de sécurité par défaut de ces applications sont les suivants :

  • Activer les paramètres de sécurité ClickOnce

  • Il s'agit d'une application de confiance partielle

  • Zone Internet (avec le jeu d'autorisations par défaut pour les applications de navigateur Web WPF sélectionnées)

Dans la boîte de dialogue Paramètres de sécurité avancés, la case à cocher Déboguer cette application à l'aide du jeu d'autorisations sélectionné est sélectionnée et désactivée. En effet, le débogage par zone ne peut pas être désactivé pour les applications hébergées dans un navigateur. Pour plus d'informations, consultez Vue d'ensemble des applications de navigateur XAML.

Voir aussi

Tâches

Comment : activer les paramètres de sécurité ClickOnce

Comment : définir une zone de sécurité pour une application ClickOnce

Comment : définir des autorisations personnalisées pour une application ClickOnce

Comment : déboguer une application ClickOnce avec des autorisations restreintes

Référence

Page Sécurité, Concepteur de projets

Concepts

Sécurisation des applications ClickOnce

Vue d'ensemble du déploiement d'applications approuvées