Augmentation des autorisations

Mise à jour : novembre 2007

Selon la façon dont elle a été créée, une application managée qui exige pour s'exécuter une autorisation plus étendue que celle que lui reconnaît la stratégie en cours lèvera une exception, refusera de s'exécuter ou ne fonctionnera pas correctement. Vous pouvez utiliser l'outil Permissions View Tool (Permview.exe) pour afficher les autorisations minimales demandées, les autorisations facultatives demandées et les autorisations refusées par assembly afin de comparer les autorisations que l'assembly demande et celles qu'il reçoit réellement. Notez que cet outil ne montre que les autorisations qui ont été demandées explicitement par l'application à l'aide d'une syntaxe déclarative. Grâce à ces informations, vous pouvez augmenter les autorisations que l'assembly reçoit en créant un groupe de codes personnalisé et en l'associant à un nouveau jeu d'autorisations personnalisé qui contient toutes les autorisations dont l'application a besoin pour s'exécuter correctement. Cependant, vous devez augmenter les autorisations uniquement si vous faites confiance à la source de l'application et vous ne devez accorder votre confiance que sur la foi d'une preuve d'une fiabilité suffisante. (Dans la plupart des cas, les administrateurs disposeront de plusieurs groupes de codes personnalisés pouvant être utilisés pour classer plusieurs applications qui requièrent des autorisations similaires.)

Supposons que vous ayez une application qui fait l'objet fréquemment d'un accès par plusieurs utilisateurs à partir d'un partage réseau. Dans un contexte non managé, cette situation ne pose généralement aucun problème d'exécution. Cependant, dans un contexte managé, cette application peut recevoir un jeu limité d'autorisations, car elle provient de la zone intranet. Par exemple, l'application peut ne pas recevoir des autorisations d'impression suffisantes, ce qui en limiterait l'utilité. Au lieu d'assouplir les paramètres de la zone intranet complète, vous devez procéder de la manière suivante :

  1. Utilisez l'outil Permissions View Tool (Permview.exe) pour afficher les autorisations minimales demandées par l'assembly dont vous voulez augmenter les autorisations. Il s'agit des autorisations minimales dont l'application a besoin pour fonctionner.

  2. Identifiez une caractéristique unique de l'assembly. Cette caractéristique pourrait inclure le nom fort de l'assembly, sa clé publique, son hachage ou un attribut personnalisé unique. Si l'application est issue d'un serveur de confiance, l'emplacement peut également être utilisé pour identifier l'application. Rappelez-vous, vous faites confiance à tout le code qui a cette caractéristique.

  3. Créez un groupe de codes qui exige l'identificateur unique pour l'appartenance (membership). Utilisez l'outil .NET Framework Configuration Tool (Mscorcfg.msc) ou l'outil Code Access Security Policy Tool (Caspol.exe) pour créer le groupe de codes.

  4. Créez un jeu d'autorisations qui comprend toutes les autorisations minimales dont l'assembly a besoin pour fonctionner à l'aide de l'outil .NET Framework Configuration Tool ou de l'outil Code Access Security Policy Tool (Stratégie de Sécurité d'Accès du Code).

  5. Associez le nouveau jeu d'autorisations au nouveau groupe de codes à l'aide de l'outil .NET Framework Configuration Tool ou de l'outil Code Access Security Policy Tool.

Une fois que vous avez terminé ces étapes, l'application s'exécutera et recevra des autorisations suffisantes pour fonctionner. Les autres applications, d'un niveau de confiance moindre, ne recevront pas les autorisations supplémentaires ; cela permet de protéger votre système de tout code nuisible. Pour obtenir des informations sur la réalisation de tâches spécifiques à l'aide des outils de sécurité, consultez Configuration de la stratégie de sécurité.

Voir aussi

Autres ressources

Administration de stratégie de sécurité générale

Meilleures pratiques pour la stratégie de sécurité