Partager via


Comment : analyser les problèmes d'autorisations d'assembly à l'aide de Caspol.exe

Mise à jour : novembre 2007

Vous pouvez utiliser l'outil Code Access Security Policy Tool (Caspol.exe) pour résoudre des problèmes liés à des assemblys, par exemple qui empêchent leur exécution, qui leur donnent accès à des ressources protégées ou qui les s'exécutent alors qu'ils ne le devraient pas.

Pour analyser des problèmes liés à la non-exécution d'un assembly

  1. Utilisez les options –all et –resolveperm pour déterminer les autorisations accordées à l'assembly par la stratégie :

    caspol –all –resolveperm assembly-file

    Déterminez si l'assembly a le droit de s'exécuter en vérifiant si l'indicateur d'exécution est défini dans la classe SecurityPermission. Si l'assembly a les droits d'exécution, le jeu d'autorisations de sécurité sera illimité ou l'attribut Flags inclura l'indicateur d'exécution.

    Si l'assembly doit accéder à une ressource protégée (par exemple pour accéder à un disque, créer des fenêtres, écrire dans le Registre, etc.), vérifiez si les autorisations appropriées sont définies.

  2. Étant donné que les autorisations accordées par les niveaux de stratégie de l'entreprise, de l'ordinateur et de l'utilisateur se recoupent, une autorisation doit être définie à tous les niveaux pour qu'un assembly la reçoive. Si l'assembly a des autorisations insuffisantes, vérifiez les autorisations accordées à l'assembly à chaque niveau de stratégie :

    caspol –enterprise –resolveperm assembly-file

    caspol –machine –resolvepermassembly-file

    caspol –user –resolvepermassembly-file

  3. Si l'assembly fait partie d'un groupe de codes dont la condition d'appartenance est trop restrictive ou dont le jeu d'autorisations associé ne contient pas les autorisations nécessaires au fonctionnement de l'assembly, ce dernier ne peut pas fonctionner correctement. Si les autorisations accordées au code sont insuffisantes, vous pouvez créer un nouveau groupe de codes qui accorde les autorisations nécessaires à l'assembly.

    Vous pouvez aussi modifier le jeu d'autorisations associé ou la condition d'appartenance de l'un des groupes de codes existants de sorte que l'assembly reçoive les autorisations appropriées. Pour plus d'informations sur la façon de faire ceci, consultez Comment : modifier des groupes de codes à l'aide de Caspol.exe.

Pour analyser un assembly qui accède à des ressources protégées ou s'exécute alors qu'il ne le devrait pas

  • Si un assembly fonctionne mais ne le devrait pas ou s'il accède à des ressources auxquelles il ne devrait pas accéder (telles que des ressources requises pour créer des boîtes de dialogue), trop d'autorisations lui ont été probablement accordées. Utilisez l'option –resolveperm pour déterminer les autorisations accordées à l'assembly. Utilisez ensuite l'option –resolvegroups pour déterminer les groupes de codes auxquels il appartient. Modifiez les conditions d'appartenance ou les jeux d'autorisations associés des groupes de codes associés afin de limiter les autorisations accordées à l'assembly.

Voir aussi

Concepts

Modèle de stratégie de sécurité

Référence

Outil Code Access Security Policy Tool (Caspol.exe)

Autres ressources

Configuration de la stratégie de sécurité à l'aide de l'outil Code Access Security Policy Tool (Caspol.exe)

Résolution de problèmes de stratégie de sécurité à l'aide de Caspol.exe