Administration à l'aide d'attributs de groupe de codes

Mise à jour : novembre 2007

Supposons que vous soyez un administrateur d'entreprise chargé d'administrer la stratégie de sécurité d'un certain nombre de postes de travail. Dans le domaine d'entreprise type, l'administrateur réseau possède des privilèges d'administrateur sur chaque serveur et chaque client. Cependant, il n'est pas rare que des utilisateurs individuels disposent de privilèges d'administrateur sur un poste de travail particulier. Dès lors, l'administrateur réseau a des privilèges d'administrateur au niveau de stratégie d'entreprise et l'administrateur du poste de travail a des privilèges d'administrateur au niveau de stratégie de l'ordinateur. Dans cette situation, l'administrateur réseau semble jouir d'un contrôle de stratégie plus grand, car la stratégie d'entreprise est évaluée en premier et la stratégie de l'ordinateur n'est pas autorisée à assouplir les décisions prises en matière de sécurité par l'administrateur de niveau de l'entreprise. Cependant, l'administrateur de niveau ordinateur peut toujours renforcer la sécurité ; il peut ainsi éventuellement arrêter des applications de confiance qui sinon auraient été autorisées à fonctionner. Pour cette raison, des niveaux de stratégie supérieurs peuvent choisir d'exclure de l'évaluation les décisions de stratégie prises à un niveau inférieur.

Vous pouvez adopter cette approche en appliquant l'attribut LevelFinal ou Exclusive à un groupe de codes à l'aide de l'un des outils de stratégie de sécurité.

Attribut Level Final

Appliqué à un groupe de codes, l'attribut LevelFinal exclut de l'évaluation tout niveau de stratégie situé en dessous du niveau en cours. Par exemple, si vous appliquez l'attribut LevelFinal au groupe de codes intranet local au niveau de l'entreprise, aucun groupe de codes au niveau de l'ordinateur ne sera évalué même si un administrateur de niveau ordinateur a effectué des modifications. L'application d'un attribut LevelFinal garantit qu'un assembly associé à un groupe de codes marqué avec cet attribut ne recevra jamais moins d'autorisations à la suite de décisions prises par un administrateur à un niveau de stratégie inférieur. Pour obtenir des informations sur l'application de l'attribut LevelFinal à un groupe de codes par défaut ou personnalisé, consultez Outil .NET Framework Configuration Tool (Mscorcfg.msc) ou Outil Code Access Security Policy Tool (Caspol.exe).

Attribut Exclusive

Appliqué à un groupe de codes, l'attribut Exclusive empêche d'autres groupes de codes du même niveau de stratégie d'être pris en compte lorsque le runtime traite les autorisations des assemblys qui figurent dans le groupe de codes exclusif. Les niveaux de stratégie au-dessus et en dessous du niveau en cours sont toujours évalués cependant. Cet attribut permet à un groupe de codes spécifique de prendre l'unique décision au niveau de stratégie en cours en ce qui concerne les autorisations accordées aux assemblys correspondant à ce groupe. Cette approche est utile quand vous voulez accorder un jeu d'autorisations spécifique à des assemblys particuliers, tout en excluant d'autres groupes de codes sur le même niveau de stratégie.

Notez qu'un assembly n'est pas autorisé à s'exécuter s'il appartient à plusieurs groupes de codes déclarés exclusifs. Par conséquent, utilisez l'attribut Exclusive avec modération lorsque vous administrez une stratégie de sécurité personnalisée. Pour obtenir des informations sur l'application de l'attribut Exclusive à un groupe de codes intégré ou personnalisé, consultez Outil .NET Framework Configuration Tool (Mscorcfg.msc) ou Outil Code Access Security Policy Tool (Caspol.exe).

Voir aussi

Concepts

Attributs de groupe de codes

Groupes de codes

Autres ressources

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

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