Caspol.exe (outil Stratégie de sécurité d'accès du code)
L'outil Stratégie de sécurité d'accès du code (CAS) (Caspol.exe) permet aux utilisateurs et aux administrateurs de modifier la stratégie de sécurité au niveau de l'ordinateur, de l'utilisateur et de l'entreprise.
Important
À compter de .NET Framework 4, Caspol.exe n’affecte pas la stratégie CAS, sauf si l’<élément >legacyCasPolicy> a la valeur true
. Tous les paramètres affichés ou modifiés par CasPol.exe affectent uniquement les applications qui choisissent d’utiliser la stratégie CAS.
Remarque
La sécurité d’accès du code (CAS) a été déconseillée dans toutes les versions du .NET Framework et de .NET. Les versions récentes de .NET ne respectent pas les annotations CAS et produisent des erreurs si les API liées à CAS sont utilisées. Les développeurs doivent chercher des moyens alternatifs pour accomplir les tâches liées à la sécurité.
Notes
Les ordinateurs 64 bits comprennent des versions 64 bits et 32 bits de stratégie de sécurité. Pour garantir que vos modifications de stratégie s'appliquent aux applications 32 bits et 64 bits, exécutez les versions 32 bits et 64 bits de Caspol.exe.
Cet outil de stratégie de sécurité d’accès du code est automatiquement installé avec .NET Framework et Visual Studio. Vous trouverez Caspol.exe dans le répertoire %windir%\Microsoft.NET\Framework\version sur les systèmes 32 bits ou %windir%\Microsoft.NET\Framework64\version sur les systèmes 64 bits. (Par exemple, l’emplacement est %windir%\Microsoft.NET\Framework64\v4.030319\caspol.exe pour .NET Framework 4 sur un système 64 bits.) Plusieurs versions de l’outil peuvent être installées si votre ordinateur exécute plusieurs versions de .NET Framework côte à côte. Vous pouvez exécuter l'outil depuis le répertoire d'installation. Toutefois, nous vous recommandons d’utiliser l’invite de commandes développeur Visual Studio ou Visual Studio Developer PowerShell pour éviter de devoir accéder au dossier d’installation.
À l'invite de commandes, tapez :
Syntaxe
caspol [options]
Paramètres
Option | Description |
---|---|
-addfulltrust assembly_file or -af assembly_file |
Ajoute un assembly qui implémente un objet de sécurité personnalisé (autorisation personnalisée ou condition d'appartenance personnalisée) à la liste des assemblys de confiance pour un niveau de stratégie précis. L’argument assembly_file spécifie l’assembly à ajouter. Ce fichier doit être signé avec un nom fort. Vous pouvez signer un assembly avec un nom fort à l'aide de l’outil Strong Name (Sn.exe). Lorsqu'un jeu d'autorisations contenant une autorisation personnalisée est ajouté à la stratégie, l'assembly implémentant cette autorisation personnalisée doit être ajouté à la liste des assemblys de confiance totale pour le niveau de stratégie considéré. Les assemblys qui implémentent des objets de sécurité personnalisés (groupes de codes ou conditions d'appartenance personnalisés) et utilisés dans une stratégie de sécurité (stratégie de l'ordinateur notamment) doivent toujours être ajoutés à la liste des assemblys de confiance totale. Attention : Si l’assembly qui implémente l’objet de sécurité personnalisé référence d’autres assemblys, vous devez d’abord ajouter les assemblys référencés à la liste des assemblys de confiance totale. Les objets de sécurité personnalisés créés à l'aide de Visual Basic, C++ et JScript référencent Microsoft.VisualBasic.dll, Microsoft.VisualC.dll ou Microsoft.JScript.dll, respectivement. Ces assemblys ne sont pas par défaut dans la liste des assemblys de confiance totale. Vous devez ajouter l'assembly approprié à la liste de confiance totale avant d'ajouter un objet de sécurité personnalisé. Dans le cas contraire, vous risquez de perturber le système de sécurité et de provoquer l'échec du chargement de tous les assemblys. Dans ce cas, l’option -all -reset de Caspol.exe ne corrige pas la sécurité. Pour corriger la sécurité, vous devez manuellement modifier les fichiers de sécurité pour supprimer l'objet de sécurité personnalisé. |
-addgroup {parent_label | parent_name} mship pset_name [flags] or -ag {parent_label | parent_name} mship pset_name [flags] |
Ajoute un nouveau groupe de codes à la hiérarchie des groupes de codes. Vous pouvez spécifier l'argument parent_label ou parent_name. L’argument parent_label indique le nom du groupe de codes parent du groupe ajouté (comme 1. ou 1.1.). L'argument parent_name indique le nom du groupe de codes parent du groupe de codes ajouté. Comme parent_label et parent_name peuvent être utilisés indifféremment, Caspol.exe doit être capable de faire la distinction entre les deux. Dès lors, parent_name ne peut pas commencer par un chiffre. Par ailleurs, parent_name ne peut contenir que les lettres de A à Z, les chiffres de 0 à 9 et le caractère de soulignement. L'argument mship spécifie la condition d'appartenance au nouveau groupe de codes. Pour plus d’informations, consultez le tableau des arguments mship, plus loin dans cette section. L’argument pset_name est le nom du jeu d’autorisations associé au nouveau groupe de codes. Vous pouvez également définir un ou plusieurs flags pour le nouveau groupe. Pour plus d’informations, consultez le tableau des arguments flags, plus loin dans cette section. |
-addpset {psfile | psfile pset_name} or -ap {named_psfile | psfile pset_name} |
Ajoute un nouveau jeu d'autorisations nommé à la stratégie. Ce jeu d'autorisations doit être créé au format XML et stocké dans un fichier .xml. Si le fichier XML contient le nom du jeu d'autorisations, seul ce fichier (psfile) est spécifié. Si le fichier XML ne contient pas le nom du jeu d’autorisations, vous devez spécifier le nom du fichier XML (psfile) et le nom du jeu d’autorisations (pset_name). Toutes les autorisations utilisées dans un jeu d’autorisations doivent être définies dans les assemblys contenus dans le Global Assembly Cache. |
-a[ll] | Indique que toutes les options qui suivent celle-ci s'appliquent aux stratégies de l'ordinateur, de l'utilisateur et de l'entreprise. L'option -all fait toujours référence à la stratégie de l'utilisateur actuellement connecté. Pour faire référence à la stratégie d'un autre utilisateur que l'utilisateur actuel, utilisez l'option -customall. |
-chggroup {label |name} {mship | pset_name | Drapeaux } or -cg {label |name} {mship | pset_name | Drapeaux } |
Change la condition d'appartenance ou le jeu d'autorisations d'un groupe de codes ou change les paramètres des indicateurs exclusive, levelfinal, name et description. Vous pouvez spécifier l'argument label ou l'argument name. L’argument label indique l’étiquette (telle que 1. ou 1,1.) du groupe de codes. L'argument name indique le nom du groupe de codes à modifier. Comme label et name peuvent être utilisés indifféremment, Caspol.exe doit être capable de faire la distinction entre les deux. Par conséquent, name ne peut pas commencer par un chiffre. Par ailleurs, name ne peut contenir que les lettres de A à Z, les chiffres de 0 à 9 et le caractère de soulignement. L’argument pset_name indique le nom du jeu d’autorisations à associer au groupe de codes. Consultez les tableaux fournis plus loin dans cette section pour plus d’informations sur les arguments mship et flags. |
-chgpset psfile pset_name or -cp psfile pset_name |
Change le jeu d'autorisations nommé. L’argument psfile fournit la nouvelle définition du jeu d’autorisations ; il s’agit d’un fichier de jeu d’autorisations sérialisé au format XML. L’argument pset_name spécifie le nom du jeu d’autorisations que vous souhaitez remplacer. |
-customall path or -ca path |
Indique que toutes les options qui suivent celle-ci s'appliquent aux stratégies de l'ordinateur, de l'entreprise et de l'utilisateur personnalisé spécifié. Vous devez spécifier l’emplacement du fichier de configuration de sécurité associé à l’utilisateur personnalisé dans l’argument path. |
-cu[stomuser] path | Permet d’administrer une stratégie d’utilisateur personnalisée qui n’appartient pas à l’utilisateur pour lequel Caspol.exe s’exécute. Vous devez spécifier l’emplacement du fichier de configuration de sécurité associé à l’utilisateur personnalisé dans l’argument path. |
-enterprise or -en |
Indique que toutes les options qui suivent celle-ci s'appliquent à la stratégie de niveau entreprise. Les utilisateurs qui ne sont pas des administrateurs de l’entreprise ne bénéficient pas d’autorisations suffisantes pour modifier la stratégie de l’entreprise, même s’ils peuvent l’afficher. Dans les scénarios qui ne se situent pas au niveau de l’entreprise, cette stratégie n’a, par défaut, aucune incidence sur les stratégies de niveau ordinateur et utilisateur. |
-e[xecution] {on | off} | Active ou désactive le mécanisme qui vérifie l'autorisation à mettre en œuvre avant que le code ne commence à s'exécuter. Remarque : Ce commutateur est supprimé dans .NET Framework 4 et versions ultérieures. |
-f[orce] | Supprime le test d'autodestruction de l'outil et modifie la stratégie selon les instructions de l'utilisateur. Normalement, Caspol.exe vérifie si les changements de stratégie sont susceptibles de nuire à son exécution correcte. Le cas échéant, Caspol.exe n’enregistre pas la modification et imprime un message d’erreur. Pour obliger Caspol.exe à modifier la stratégie même si cela l'empêche de s'exécuter, utilisez l'option –force. |
-h[elp] | Affiche la syntaxe de commande et les options de Caspol.exe. |
-l[ist] | Affiche la hiérarchie des groupes de codes et les jeux d'autorisations définis pour l'ordinateur, l'utilisateur ou l'entreprise spécifiés ou pour tous les niveaux de stratégie. Caspol.exe affiche d’abord l’étiquette du groupe de codes, puis son nom s’il n’est pas nul. |
-listdescription or -ld |
Affiche les descriptions de tous les groupes de codes définis pour le niveau de stratégie spécifié. |
-listfulltrust or -lf |
Affiche le contenu de la liste des assemblys de confiance totale pour le niveau de stratégie spécifié. |
-listgroups or -lg |
Affiche les groupes de codes du niveau de stratégie spécifié ou de tous les niveaux de stratégie. Caspol.exe affiche d’abord l’étiquette du groupe de codes, puis son nom s’il n’est pas nul. |
-listpset ou -lp | Affiche les jeux d'autorisations associés au niveau de stratégie spécifié ou à tous les niveaux de stratégie. |
-m[achine] | Indique que toutes les options qui suivent celle-ci s'appliquent à la stratégie de niveau ordinateur. Les utilisateurs qui ne sont pas des administrateurs ne bénéficient pas d’autorisations suffisantes pour modifier la stratégie de l’ordinateur, même s’ils peuvent l’afficher. Pour les administrateurs, -machine est l'option par défaut. |
-polchgprompt {on | off} or -pp {on | off} |
Active ou désactive l'invite de commandes qui s'affiche lorsque Caspol.exe est exécuté avec une option susceptible d'entraîner des changements de stratégie. |
-quiet or -q |
Désactive temporairement l'invite normalement affichée pour une option entraînant des changements de stratégie. Le paramètre de l'invite de modification globale ne change pas. Utilisez l'option pour une seule commande à la fois afin d'éviter de désactiver l'invite pour toutes les commandes Caspol.exe. |
-r[ecover] | Restaure une stratégie à partir d'un fichier de sauvegarde. Dès qu'une stratégie est modifiée, Caspol.exe stocke l'ancienne stratégie dans un fichier de sauvegarde. |
-remfulltrust assembly_file or -rf assembly_file |
Supprime un assembly de la liste des assemblys de confiance totale associée à un niveau de stratégie donné. Cette opération s'impose lorsqu'un jeu d'autorisations contenant une autorisation personnalisée n'est plus utilisé par la stratégie. Toutefois, vous ne devez supprimer un assembly qui implémente une autorisation personnalisée de la liste des assemblys de confiance totale que si cet assembly n’implémente aucune autre autorisation personnalisée en cours d’utilisation. Lorsque vous supprimez un assembly de la liste, vous devez également supprimer les assemblys dont il dépend. |
-remgroup {label |name} or -rg {label | name} |
Supprime le groupe de codes spécifié par son étiquette ou son nom. Si le groupe de codes spécifié comprend des groupes de codes enfants, Caspol.exe supprime également ces groupes enfants. |
-rempset pset_name or -rp pset_name |
Supprime de la stratégie le jeu d'autorisations spécifié. L'argument pset_name indique le jeu d'autorisations à supprimer. Caspol.exe ne supprime le jeu d’autorisations que s’il n’est pas associé à un groupe de codes. Il n’est pas possible de supprimer les jeux d’autorisations par défaut (intégrés). |
-reset or -rs |
Retourne l'état par défaut de la stratégie et l'enregistre sur le disque. Cette option est utile lorsqu'une stratégie modifiée semble irréparable et que vous souhaitez recommencer avec les paramètres d'installation par défaut. Il peut également être commode de procéder à une réinitialisation pour utiliser la stratégie par défaut comme point de départ et apporter ensuite des modifications à des fichiers de configuration de sécurité spécifiques. Pour plus d'informations, consultez Modification manuelle des fichiers de configuration de sécurité. |
-resetlockdown or -rsld |
Retourne la version plus restrictive de l'état par défaut de la stratégie et l'enregistre sur le disque ; crée une sauvegarde de la stratégie antérieure de l'ordinateur et l'enregistre sur un fichier security.config.bac . La stratégie verrouillée est similaire à la stratégie par défaut, mais elle n'accorde aucune autorisation pour coder à partir des zones Local Intranet , Trusted Sites et Internet et les groupes de codes correspondants n'ont pas de groupes de codes enfants. |
-resolvegroup assembly_file or -rsg assembly_file |
Affiche les groupes de codes auxquels appartient un assembly particulier (assembly_file). Par défaut, cette option affiche la stratégie de niveau ordinateur, utilisateur et entreprise auxquels appartient l'assembly. Pour afficher un seul niveau de stratégie, utilisez cette option avec l'option -machine, -user ou -enterprise. |
-resolveperm assembly_file or -rsp assembly_file |
Affiche toutes les autorisations que le niveau de stratégie de sécurité spécifié (ou par défaut) accorderait à l'assembly si ce dernier avait la possibilité de s'exécuter. L’argument assembly_file spécifie l’assembly. Si vous spécifiez l'option -all, Caspol.exe calcule les autorisations de l'assembly sur la base de la stratégie de l'utilisateur, de l'ordinateur et de l'entreprise ; sinon, les règles de comportement par défaut s'appliquent. |
-s[ecurity] {on | off} | Active ou désactive la sécurité d'accès du code. L'option -s off ne désactive pas la sécurité basée sur les rôles. Remarque : Ce commutateur est supprimé dans .NET Framework 4 et versions ultérieures. Attention : Si la sécurité d’accès du code est désactivée, toutes les demandes d’accès au code aboutissent. La désactivation de la sécurité expose le système aux attaques de code nuisible tel que les virus et les vers. La désactivation de la sécurité permet d’améliorer les performances, mais ne doit être utilisée que lorsque d’autres mesures de sécurité ont été prises pour permettre de s’assurer que la sécurité globale du système ne sera pas compromise. Ces autres mesures de sécurité consistent notamment à déconnecter les réseaux publics, à sécuriser physiquement les ordinateurs, etc. |
-u[ser] | Indique que toutes les options qui suivent celle-ci s'appliquent à la stratégie de niveau utilisateur associée à l'utilisateur pour le compte duquel Caspol.exe est exécuté. Pour les utilisateurs qui ne sont pas des administrateurs, -user est l'option par défaut. |
-? | Affiche la syntaxe de commande et les options de Caspol.exe. |
L'argument mship qui spécifie la condition d'appartenance d’un groupe de codes peut être utilisé avec les options -addgroup et -chggroup. Chaque argument mship est implémenté comme classe .NET Framework. Pour spécifier mship, utilisez l’une des solutions suivantes.
Argument | Description |
---|---|
-allcode | Spécifie l'ensemble du code. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.AllMembershipCondition. |
-appdir | Spécifie le répertoire de l'application. Si vous spécifiez –appdir comme condition d'appartenance, la preuve fournie par l'URL du code est comparée à la preuve fournie par le répertoire d'application du même code. Si les deux preuves sont identiques, la condition d'appartenance est satisfaite. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.ApplicationDirectoryMembershipCondition. |
-custom xmlfile | Ajoute une condition d'appartenance personnalisée. L’argument obligatoire xmlfile spécifie le fichier .xml qui contient la sérialisation XML de la condition d’appartenance personnalisée. |
-hash HashAlg {-hex hashValue-file | assembly_file } | Spécifie un code qui contient la valeur de hachage de l'assembly donné. Pour utiliser une valeur de hachage comme condition d'appartenance à un groupe de codes, vous devez spécifier la valeur de hachage ou le fichier d'assembly. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.HashMembershipCondition. |
-pub { -cert cert_file_name | -file signed_file_name-hex | hex_string } |
Spécifie un code qui présente l'éditeur de logiciel indiqué par un fichier de certificat, une signature sur un fichier ou la représentation hexadécimale d'un certificat X509. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.PublisherMembershipCondition. |
-site web | Spécifie un code qui présente le site d'origine donné. Par exemple :-site** www.proseware.com Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.SiteMembershipCondition. |
-strong -file file_name {name-noname | } {version-noversion} | | Spécifie un code avec un nom fort spécifique désigné par son nom de fichier, le nom de l'assembly (chaîne) et la version de l'assembly au format major.minor.build.revision. Par exemple : -strong -file myAssembly.exe myAssembly 1.2.3.4 Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.StrongNameMembershipCondition. |
-URL | Spécifie un code qui provient de l'URL donnée. L'URL doit contenir un protocole, tel que http:// ou ftp:// . En outre, un caractère générique (*) peut être utilisé pour spécifier plusieurs assemblys pour une même URL. Remarque : Parce qu’une URL peut être identifiée à l’aide de plusieurs noms, l’utilisation d’une URL comme condition d’appartenance n’est pas un moyen sûr d’établir l’identité du code. Lorsque cela est possible, utilisez une condition d'appartenance à nom fort, une condition d'appartenance d'un éditeur ou la condition d'appartenance de hachage. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.UrlMembershipCondition. |
-zone zonename | Spécifie un code qui présente la zone d'origine donnée. L'argument zonename peut avoir l'une des valeurs suivantes : MyComputer, Intranet, Trusted, Internet ou Untrusted. Pour plus d'informations sur cette condition d'appartenance, reportez-vous à la classe ZoneMembershipCondition. |
L’argument flags qui peut être utilisé avec les options –addgroup et –chggroup est spécifié de la façon suivante.
Argument | Description |
---|---|
-description "description" | S’il est utilisé avec l'option –addgroup, spécifie la description d'un groupe de codes à ajouter. S’il est utilisé avec l'option –chggroup, spécifie la description d'un groupe de codes à modifier. L’argument description doit être entouré de guillemets doubles. |
-exclusive {on|off} | Lorsque cette option est définie sur on, indique que seul le jeu d’autorisations associé au groupe de codes que vous ajoutez ou modifiez est pris en compte quand un code satisfait la condition d’appartenance du groupe de codes. Quand cette option est définie sur off, Caspol.exe tient compte des jeux d'autorisations de tous les groupes de codes correspondants du niveau de stratégie. |
-levelfinal {on|off} | Quand cette option est définie sur on, cela indique qu’aucun des niveaux de stratégie inférieurs au niveau du groupe de codes ajouté ou modifié n'est pris en compte. Cette option est généralement utilisée au niveau de la stratégie de l'ordinateur. Par exemple, si vous définissez cet indicateur pour un groupe de codes au niveau de l'ordinateur et qu'il existe un code satisfaisant à la condition d'appartenance de ce groupe de codes, Caspol.exe ne calcule pas (ni n'applique) la stratégie de niveau utilisateur pour ce code. |
-name "nom" | S’il est utilisé avec l'option –addgroup, spécifie le nom de script d'un groupe de codes à ajouter. S’il est utilisé avec l'option –chggroup, spécifie le nom de script d'un groupe de codes à modifier. L’argument name doit être entouré de guillemets doubles. L’argument name ne doit pas commencer par un chiffre et ne peut contenir que les lettres de A à Z, les chiffres de 0 à 9 et le caractère de soulignement. Vous pouvez faire référence aux groupes de codes par cet argument name au lieu d'utiliser leur étiquette numérique. L'argument name est également très utile dans les scripts. |
Notes
La stratégie de sécurité se définit sur trois niveaux : ordinateur, utilisateur et entreprise. Le jeu d'autorisations dont bénéficie un assembly est déterminé par l'intersection entre les jeux d'autorisations accordés par ces trois niveaux de stratégie. Chaque niveau de stratégie est représenté par une structure hiérarchique de groupes de codes. Chaque groupe de codes possède une condition d'appartenance qui détermine quel code est membre de ce groupe. Un jeu d'autorisations nommé est également associé à chaque groupe de codes. Ce jeu d'autorisations spécifie les autorisations que peut accorder le runtime au code qui satisfait à la condition d'appartenance. Une hiérarchie de groupes de codes et les jeux d'autorisations nommés associés définissent et gèrent chaque niveau de la stratégie de sécurité. Vous pouvez utiliser les options –user, -customuser, –machine et -enterprise pour définir le niveau de stratégie de sécurité.
Pour plus d'informations sur les stratégies de sécurité et sur la manière dont le runtime détermine les autorisations à accorder au code, consultez Gestion de la stratégie de sécurité.
Références aux groupes de codes et aux jeux d'autorisations
Pour faciliter les références aux groupes de codes d'une hiérarchie, l'option -list affiche une liste des groupes de codes avec des retraits et les étiquettes numériques correspondantes (1, 1.1, 1.1.1, etc.). Les autres opérations effectuées depuis la ligne de commande qui ciblent les groupes de codes utilisent également les étiquettes numériques pour faire référence à des groupes de codes particuliers.
Les jeux d'autorisations nommés sont référencés par leurs noms. L'option –list affiche la liste des groupes de codes suivie d'une liste des jeux d'autorisations nommés disponibles dans cette stratégie.
Comportement de Caspol.exe
Toutes les options sauf -s[ecurity] {on | off} utilisent la version du .NET Framework avec laquelle Caspol.exe a été installé. Si vous exécutez Caspol.exe installé avec la version X du runtime, les modifications s'appliquent uniquement à cette version. Les autres installations côte-à-côte du runtime, si elles existent, ne sont pas affectées. Si vous exécutez Caspol.exe à partir de la ligne de commande sans être dans un répertoire d’une version spécifique du runtime, l’outil est exécuté à partir du premier répertoire de version du runtime du chemin (généralement la version la plus récente du runtime installée).
L’option -s[ecurity] {on | off} est une opération à l’échelle de l’ordinateur. La désactivation de la sécurité d'accès du code met fin aux contrôles de sécurité pour tout le code managé et tous les utilisateurs sur l'ordinateur. Si des versions côte-à-côte de .NET Framework sont installées, cette commande désactive la sécurité pour chaque version installée sur l'ordinateur. Bien que l'option -list indique que la sécurité est désactivée, rien d'autre ne l'indique clairement aux autres utilisateurs.
Quand un utilisateur sans droit d'administration exécute Caspol.exe, toutes les options concernent la stratégie de niveau utilisateur, sauf si l'option –machine est spécifiée. Quand un administrateur exécute Caspol.exe, toutes les options concernent la stratégie de niveau ordinateur, sauf si l'option –user est spécifiée.
Pour fonctionner, Caspol.exe doit bénéficier d'une autorisation équivalente à Everything. Cet outil est muni d'un mécanisme de protection qui interdit toute modification de stratégie susceptible d'empêcher l'octroi des autorisations indispensables à l'exécution de Caspol.exe. Si vous essayez d'effectuer de telles modifications, Caspol.exe vous envoie une notification indiquant que la modification de stratégie demandée détruit l'objet et qu'elle est par conséquent refusée. Vous pouvez désactiver ce mécanisme de protection pour une commande donnée à l’aide de l’option –force.
Modification manuelle des fichiers de configuration de sécurité
Il existe trois fichiers de configuration de sécurité qui correspondent aux trois niveaux de sécurité pris en charge par Caspol.exe : ordinateur, utilisateur et entreprise. Ces fichiers sont créés uniquement sur le disque lorsque la stratégie de l'ordinateur, de l'utilisateur ou de l'entreprise est modifiée à l'aide de Caspol.exe. Vous pouvez utiliser l'option –reset de Caspol.exe pour enregistrer la stratégie de sécurité par défaut sur le disque, si nécessaire.
Dans la plupart des cas, il n’est pas recommandé de modifier manuellement les fichiers de configuration de sécurité. Il existe cependant des situations où ces modifications sont indispensables, par exemple lorsqu'un administrateur veut modifier la configuration de sécurité d'un utilisateur particulier.
Exemples
-addfulltrust
Supposez qu'un jeu d'autorisations contenant une autorisation personnalisée a été ajouté à la stratégie de l'ordinateur. Cette autorisation personnalisée est implémentée dans MyPerm.exe
, et MyPerm.exe
fait référence aux classes de MyOther.exe
. Les deux assemblys doivent être ajoutés à la liste des assemblys de confiance totale. La commande suivante ajoute l'assembly MyPerm.exe
à la liste des assemblys de confiance totale pour la stratégie de l'ordinateur.
caspol -machine -addfulltrust MyPerm.exe
La commande suivante ajoute l'assembly MyOther.exe
à la liste des assemblys de confiance totale pour la stratégie de l'ordinateur.
caspol -machine -addfulltrust MyOther.exe
-addgroup
La commande suivante ajoute un groupe de codes enfant à la racine de la hiérarchie des groupes de codes de la stratégie de l'ordinateur. Le nouveau groupe de codes est membre de la zone Internet et il est associé au jeu d'autorisations Execution.
caspol -machine -addgroup 1. -zone Internet Execution
La commande suivante ajoute un groupe de codes enfant qui donne des autorisations Intranet local au partage \\netserver\netshare.
caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet
-addpset
La commande suivante ajoute le jeu d'autorisations Mypset
à la stratégie de l'utilisateur.
caspol -user -addpset Mypset.xml Mypset
-chggroup
La commande suivante change le jeu d'autorisations défini dans la stratégie d'utilisateur du groupe de codes étiqueté 1.2. en jeu d’autorisations Execution.
caspol -user -chggroup 1.2. Execution
La commande suivante change la condition d'appartenance dans la stratégie par défaut du groupe de codes étiqueté 1.2.1. et change le paramètre de l’indicateur exclusive. La condition d'appartenance est définie comme un code qui provient de la zone Internet avec l'indicateur exclusive activé.
caspol -chggroup 1.2.1. -zone Internet -exclusive on
-chgpset
La commande suivante substitue au jeu d'autorisations Mypset
le jeu d'autorisations contenu dans newpset.xml
. Notez que la version actuelle ne prend pas en charge la modification des jeux d’autorisations utilisés par la hiérarchie des groupes de codes.
caspol -chgpset Mypset newpset.xml
-force
La commande suivante entraîne l'association du groupe de codes racine de la stratégie d'utilisateur (étiqueté 1) au jeu d'autorisations nommé Nothing. Cela empêche l'exécution de Caspol.exe.
caspol -force -user -chggroup 1 Nothing
-recover
La commande suivante récupère la stratégie d'ordinateur enregistrée le plus récemment.
caspol -machine -recover
-remgroup
La commande suivante supprime le groupe de codes étiqueté 1.1. Si ce groupe de codes comprend des groupes de codes enfants, ces derniers sont également supprimés.
caspol -remgroup 1.1.
-rempset
La commande suivante supprime le jeu d'autorisations Execution de la stratégie d'utilisateur.
caspol -user -rempset Execution
La commande suivante supprime Mypset
du niveau de stratégie de l'utilisateur.
caspol -rempset MyPset
-resolvegroup
La commande suivante affiche tous les groupes de codes de la stratégie d'ordinateur à laquelle appartient myassembly
.
caspol -machine -resolvegroup myassembly
La commande suivante affiche tous les groupes de codes de la stratégie d'ordinateur, d'entreprise et d'utilisateur personnalisé à laquelle appartient myassembly
.
caspol -customall "c:\config_test\security.config" -resolvegroup myassembly
-resolveperm
La commande suivante calcule les autorisations de testassembly
en fonction des niveaux de stratégie d'ordinateur et d'utilisateur.
caspol -all -resolveperm testassembly