Partager via


Notions fondamentales de la sécurité d'accès du code

Chaque application qui cible le Common Language Runtime (autrement dit, chaque application managée) doit interagir avec le système de sécurité du runtime. Lorsqu'une application managée est chargée, son hôte lui attribue automatiquement un jeu d'autorisations. Ces autorisations sont déterminées par les paramètres de sécurité locaux de l'hôte ou par le bac à sable (sandbox) dans lequel se trouve l'application. En fonction de ces autorisations, l'application peut s'exécuter correctement ou générer une exception de sécurité.

L'hôte par défaut pour les applications bureautiques permet d'exécuter du code avec une confiance totale. Par conséquent, si votre application cible la bureautique, elle a un jeu d'autorisations illimité. D'autres hôtes ou bacs à sable (sandbox) fournissent un jeu d'autorisations limité pour les applications. Étant donné que le jeu d'autorisations peut changer d'un hôte à l'autre, l'application que vous concevez doit utiliser uniquement les autorisations permises par votre hôte cible.

Vous devez connaître les concepts de sécurité d'accès du code suivants pour écrire des applications efficaces ciblant le Common Language Runtime :

  • Écriture de code de type sécurisé : pour permettre au code de bénéficier de la sécurité d'accès du code, vous devez utiliser un compilateur qui génère du code de type sécurisé vérifié. Pour plus d'informations, consultez Écriture de code de type sécurisé vérifié.

  • Syntaxe impérative et déclarative : l'interaction avec le système de sécurité du runtime a lieu grâce à des appels de sécurité impératifs et déclaratifs. Les appels déclaratifs sont effectués à l'aide d'attributs ; les appels impératifs sont réalisés à l'aide de nouvelles instances de classes dans votre code. Certains appels peuvent être effectués de manière impérative uniquement, d'autres peuvent l'être de manière déclarative uniquement et certains peuvent l'être des deux manières. Pour plus d'informations, consultez Syntaxe de sécurité.

  • Utilisation des bibliothèques de classes sécurisées : les bibliothèques de classes utilisent la sécurité d'accès du code afin de spécifier les autorisations qu'elles exigent pour être accessibles. Vous devez connaître les autorisations requises pour accéder aux bibliothèques utilisées par votre code.

  • Code transparent : dans le .NET Framework version 4 et les versions ultérieures, vous devez non seulement identifier les autorisations spécifiques, mais également déterminer si votre code doit être transparent de sécurité (security-transparent). Le code transparent de sécurité ne peut pas appeler de types ni de membres critiques de sécurité (security-critical). Cette règle s'applique aux applications de confiance totale et aux applications partiellement fiables. Pour plus d'informations, consultez Utilisation des bibliothèques de classes sécurisées et Code transparent de sécurité (security-transparent).

Voir aussi

Concepts

Écriture de code de type sécurisé vérifié

Syntaxe de sécurité

Demande d'autorisations

Utilisation des bibliothèques de classes sécurisées

Sécurité d'accès du code