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

Mise à jour : novembre 2007

Chaque application qui cible le Common Language Runtime doit interagir avec le système de sécurité du runtime. Lorsqu'une application est exécutée, elle est automatiquement évaluée et reçoit un jeu d'autorisations de la part du runtime. En fonction des autorisations reçues, l'application peut s'exécuter correctement ou générer une exception de sécurité. Les paramètres de sécurité locaux d'un ordinateur particulier décident finalement des autorisations que le code reçoit. Puisque ces paramètres peuvent varier d'un ordinateur à l'autre, vous ne pouvez jamais être sûr que votre code recevra les autorisations suffisantes pour s'exécuter. Ceci est en opposition avec le monde du développement non managé où vous n'avez pas à vous inquiéter de l'autorisation de votre code.

Chaque développeur doit 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 ne peuvent être effectués que de manière impérative tandis que d'autres ne peuvent l'être que de manière déclarative. Certains appels peuvent être effectués des deux manières. Pour plus d'informations, consultez Syntaxe de sécurité.

  • Demande d'autorisations pour votre code : les demandes s'appliquent à la portée de l'assembly, où votre code informe le runtime des autorisations dont il a besoin pour s'exécuter ou dont il ne veut expressément pas. Les demandes de sécurité sont évaluées par le runtime lorsque votre code est chargé en mémoire. Les demandes ne peuvent pas influencer le runtime pour qu'il donne à votre code plus d'autorisations que celles qu'il lui aurait données si la demande n'avait pas été faite. Les demandes sont néanmoins ce que votre code utilise pour informer le runtime des autorisations dont il a besoin pour s'exécuter. Pour plus d'informations, consultez Demande d'autorisations.

  • Utilisation des bibliothèques de classes sécurisées : vos 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 être informé des autorisations requises pour accéder aux bibliothèques que votre code utilise et faire les demandes appropriées dans votre code. Pour plus d'informations, consultez Utilisation des bibliothèques de classes sécurisées.

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

Autres ressources

Sécurité d'accès du code