<trustInfo>, élément (Application ClickOnce)
Décrit les autorisations de sécurité minimales requises pour l'exécution de l'application sur l'ordinateur client.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet
ID
Unrestricted>
<IPermission
class
version
Unrestricted
/>
</PermissionSet>
<defaultAssemblyRequest
permissionSetReference
/>
<assemblyRequest
name
permissionSetReference
/>
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel
level
uiAccess
/>
</requestedPrivileges>
</security>
</trustInfo>
Éléments et attributs
L'élément trustInfo est obligatoire et se trouve dans l'espace de noms asm.v2. Il ne possède pas d'attributs et contient les éléments suivants.
security
Obligatoire. Cet élément est un enfant de l'élément trustInfo. Il contient l'élément applicationRequestMinimum et n'a pas d'attributs.
applicationRequestMinimum
Obligatoire. Cet élément est un enfant de l'élément security et contient les éléments PermissionSet, assemblyRequest et defaultAssemblyRequest. Cet élément ne possède pas d'attribut.
PermissionSet
Obligatoire. Cet élément est un enfant de l'élément applicationRequestMinimum et contient l'élément IPermission. Cet élément possède les attributs suivants.
Attribut |
Description |
---|---|
ID |
Obligatoire. Identifie le jeu d'autorisations. Cet attribut peut avoir une valeur quelconque. L'ID est référencé dans les attributs defaultAssemblyRequest et assemblyRequest. |
version |
Obligatoire. Identifie la version de l'autorisation. En général, elle a la valeur 1. |
IPermission
Facultatif. Cet élément est un enfant de l'élément PermissionSet. L'élément IPermission identifie une classe d'autorisation de façon complète dans le .NET Framework. L'élément IPermission possède les attributs suivants, mais il peut en avoir d'autres qui correspondent aux propriétés définies sur la classe d'autorisation. Pour connaître la syntaxe d'une autorisation spécifique, consultez les exemples répertoriés dans le fichier Security.config.
Attribut |
Description |
---|---|
class |
Obligatoire. Identifie la classe d'autorisation par son nom fort. Par exemple, le code suivant identifie le type FileDialogPermission. System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
version |
Obligatoire. Identifie la version de l'autorisation. En général, elle a la valeur 1. |
Unrestricted |
Obligatoire. Indique s'il est nécessaire d'accorder cette autorisation sans aucune restriction à l'application. Si la valeur est true, l'autorisation est octroyée de façon non conditionnelle. Si la valeur est false ou si cet attribut n'est pas défini, l'autorisation est limitée par les attributs spécifiques à l'autorisation définis sur la balise IPermission. Prenons l'exemple d'autorisations suivant :
Dans la déclaration de EnvironmentPermission de cet exemple, l'application est limitée à la seule lecture de la variable d'environnement USERNAME tandis que la déclaration de FileDialogPermission concède à l'application une utilisation sans restriction de toutes les classes FileDialog. |
defaultAssemblyRequest
Facultatif. Identifie le jeu d'autorisations accordé à tous les assemblys. Cet élément est un enfant de l'élément applicationRequestMinimum et possède les attributs suivants.
Attribut |
Description |
---|---|
permissionSetReference |
Obligatoire. Identifie l'ID du jeu d'autorisations qui représente l'autorisation par défaut. Le jeu d'autorisations est déclaré dans l'élément PermissionSet. |
assemblyRequest
Facultatif. Identifie les autorisations d'un assembly spécifique. Cet élément est un enfant de l'élément applicationRequestMinimum et possède les attributs suivants.
Attribut |
Description |
---|---|
Name |
Obligatoire. Spécifie le nom d'assembly. |
permissionSetReference |
Obligatoire. Identifie l'ID du jeu d'autorisations dont cet assembly a besoin. Le jeu d'autorisations est déclaré dans l'élément PermissionSet. |
requestedPrivileges
Facultatif. Cet élément est un enfant de l'élément security et contient l'élément requestedExecutionLevel. Cet élément ne possède pas d'attribut.
requestedExecutionLevel
Facultatif. Identifie le niveau de sécurité nécessaire pour l'exécution de l'application. Cet élément ne contient pas d'enfants mais a les attributs suivants.
Attribut |
Description |
---|---|
Level |
Obligatoire. Indique le niveau de sécurité requis par l'application. Les valeurs possibles sont : asInvoker, ne requiert aucune autorisation supplémentaire. Ce niveau ne requiert aucune invite d'approbation supplémentaire. highestAvailable, requiert les autorisations disponibles les plus élevées pour le processus parent. requireAdministrator, requiert des autorisations d'administrateur complètes. Les applications ClickOnce s'installent uniquement avec une valeur de asInvoker. L'installation avec toute autre valeur échouera. |
uiAccess |
Facultatif. Indique si l'application requiert l'accès aux éléments protégés de l'interface utilisateur. Les valeurs sont true ou false et la valeur par défaut est false. Seules les applications signées doivent avoir la valeur true. |
Notes
Si une application ClickOnce requiert davantage d'autorisations que celles octroyées par défaut par l'ordinateur client, le Gestionnaire de confiance du Common Language Runtime demande à l'utilisateur s'il souhaite accorder à l'application ce niveau de confiance élevé. S'il refuse, l'application ne s'exécute pas ; sinon, elle s'exécute avec les autorisations demandées.
Toutes les autorisations demandées à l'aide de defaultAssemblyRequest et assemblyRequest sont accordées sans inviter l'utilisateur à les confirmer si le manifeste de déploiement possède une licence de confiance valide.
Pour plus d'informations sur l'élévation d'autorisations, consultez Sécurisation des applications ClickOnce. Pour plus d'informations sur le déploiement de stratégies, consultez Vue d'ensemble du déploiement d'applications approuvées.
Exemples
Les trois exemples de code suivants illustrent des éléments trustInfo pour les zones de sécurité nommées par défaut, à savoir Internet, LocalIntranet et FullTrust, à utiliser dans le manifeste d'application d'un déploiement ClickOnce.
Le premier exemple illustre l'élément trustInfo pour les autorisations par défaut disponibles dans la zone de sécurité Internet.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="Internet">
<IPermission
class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Access="Open" />
<IPermission
class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Allowed="DomainIsolationByUser"
UserQuota="10240" />
<IPermission
class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution" />
<IPermission
class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Window="SafeTopLevelWindows"
Clipboard="OwnClipboard" />
<IPermission
class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="SafePrinting" />
</PermissionSet>
<defaultAssemblyRequest permissionSetReference="Internet" />
</applicationRequestMinimum>
</security>
</trustInfo>
Le deuxième exemple illustre l'élément trustInfo pour les autorisations par défaut disponibles dans la zone de sécurité LocalIntranet.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="LocalIntranet">
<IPermission
class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Read="USERNAME" />
<IPermission
class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Allowed="AssemblyIsolationByUser"
UserQuota="9223372036854775807"
Expiry="9223372036854775807"
Permanent="True" />
<IPermission
class="System.Security.Permissions.ReflectionPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="ReflectionEmit" />
<IPermission
class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Assertion, Execution" />
<IPermission
class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
class="System.Net.DnsPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="DefaultPrinting" />
<IPermission
class="System.Diagnostics.EventLogPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1" />
</PermissionSet>
<defaultAssemblyRequest permissionSetReference="LocalIntranet" />
</applicationRequestMinimum>
</security>
</trustInfo>
Le troisième exemple illustre l'élément trustInfo pour les autorisations par défaut disponibles dans la zone de sécurité FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>
Voir aussi
Référence
Manifeste d'application ClickOnce