<trustInfo>, élément (application ClickOnce)<trustInfo> element (ClickOnce application)

Décrit les autorisations de sécurité minimales dont doit disposer l’application pour qu’elle s’exécute sur l’ordinateur client.Describes the minimum security permissions required for the application to run on the client computer.

SyntaxeSyntax


      <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 attributsElements and attributes

L’élément trustInfo est obligatoire et se trouve dans l’espace de noms asm.v2 .The trustInfo element is required and is in the asm.v2 namespace. Il n’a aucun attribut et contient les éléments suivants.It has no attributes and contains the following elements.

securitysecurity

Obligatoire.Required. Cet élément est un enfant de l’élément trustInfo .This element is a child of the trustInfo element. Il contient l’élément applicationRequestMinimum et n’a pas d’attributs.It contains the applicationRequestMinimum element and has no attributes.

applicationRequestMinimumapplicationRequestMinimum

Obligatoire.Required. Cet élément est un enfant de l’élément security et contient les éléments PermissionSet, assemblyRequestet defaultAssemblyRequest.This element is a child of the security element and contains the PermissionSet, assemblyRequest, and defaultAssemblyRequestelements. Cet élément n’a pas d’attributs.This element has no attributes.

PermissionSetPermissionSet

Obligatoire.Required. Cet élément est un enfant de l’élément applicationRequestMinimum et contient l’élément IPermission .This element is a child of the applicationRequestMinimum element and contains the IPermission element. Cet élément comprend les attributs suivants.This element has the following attributes.

  • ID

    Obligatoire.Required. Identifie le jeu d’autorisations.Identifies the permission set. Cet attribut peut avoir n’importe quelle valeur.This attribute can be any value. L’ID est référencé dans les attributs defaultAssemblyRequest et assemblyRequest .The ID is referenced in the defaultAssemblyRequest and assemblyRequest attributes.

  • version

    Obligatoire.Required. Identifie la version de l’autorisation.Identifies the version of the permission. En général, cette valeur est égale à 1.Normally this value is 1.

IPermissionIPermission

Facultatif.Optional. Cet élément est un enfant de l’élément PermissionSet .This element is a child of the PermissionSet element. Le IPermission élément identifie entièrement une classe d’autorisation dans le .NET Framework.The IPermission element fully identifies a permission class in the .NET Framework. L’élément IPermission comprend les attributs suivants, mais il peut en avoir d’autres qui correspondent aux propriétés de la classe d’autorisation.The IPermission element has the following attributes, but can have additional attributes that correspond to properties on the permission class. Pour trouver la syntaxe d’une autorisation spécifique, consultez les exemples figurant dans le fichier Security.config.To find out the syntax for a specific permission, see the examples listed in the Security.config file.

  • class

    Obligatoire.Required. Identifie la classe d’autorisation par son nom fort.Identifies the permission class by strong name. Par exemple, le code suivant identifie le type FileDialogPermission .For example, the following code identifies the FileDialogPermission type.

    System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

  • version

    Obligatoire.Required. Identifie la version de l’autorisation.Identifies the version of the permission. En général, cette valeur est égale à 1.Usually this value is 1.

  • Unrestricted

    Obligatoire.Required. Indique si l’application doit se voir accorder cette autorisation sans aucune limite.Identifies whether the application needs an unrestricted grant of this permission. Si cet attribut a la valeur true, l’autorisation est accordée à l’application de manière inconditionnelle.If true, the permission grant is unconditional. Si cet attribut a la valeur false, ou s’il n’est pas défini, des restrictions sont imposées à l’application en fonction d’attributs spécifiques à l’autorisation définis dans la balise IPermission .If false, or if this attribute is undefined, it is restricted according to the permission-specific attributes defined on the IPermission tag. Prenez les autorisations suivantes :Take the following permissions:

    <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" />
    

    Dans cet exemple, la déclaration d’ EnvironmentPermission indique que l’application peut uniquement lire la variable d’environnement USERNAME, tandis que la déclaration de FileDialogPermission permet à l’application d’utiliser toutes les classes FileDialog sans aucune restriction.In this example, the declaration for EnvironmentPermission restricts the application to reading only the environment variable USERNAME, whereas the declaration for FileDialogPermission gives the application unrestricted use of all FileDialog classes.

defaultAssemblyRequestdefaultAssemblyRequest

Facultatif.Optional. Identifie le jeu d’autorisations accordé à tous les assemblys.Identifies the set of permissions granted to all assemblies. Cet élément est un enfant de l’élément applicationRequestMinimum et contient l’attribut suivant.This element is a child of the applicationRequestMinimum element and has the following attribute.

  • permissionSetReference

    Obligatoire.Required. Identifie l’ID du jeu d’autorisations qui est l’autorisation par défaut.Identifies the ID of the permission set that is the default permission. Le jeu d’autorisations est déclaré dans l’élément PermissionSet .The permission set is declared in the PermissionSet element.

assemblyRequestassemblyRequest

Facultatif.Optional. Identifie les autorisations d’un assembly spécifique.Identifies permissions for a specific assembly. Cet élément est un enfant de l’élément applicationRequestMinimum et comprend les attributs suivants.This element is a child of the applicationRequestMinimum element and has the following attributes.

  • Name

    Obligatoire.Required. Identifie le nom de l’assembly.Identifies the assembly name.

  • permissionSetReference

    Obligatoire.Required. Identifie l’ID du jeu d’autorisations dont a besoin cet assembly.Identifies the ID of the permission set that this assembly requires. Le jeu d’autorisations est déclaré dans l’élément PermissionSet .The permission set is declared in the PermissionSet element.

requestedPrivilegesrequestedPrivileges

Facultatif.Optional. Cet élément est un enfant de l’élément security et contient l’élément requestedExecutionLevel .This element is a child of the security element and contains the requestedExecutionLevel element. Cet élément n’a pas d’attributs.This element has no attributes.

requestedExecutionLevelrequestedExecutionLevel

Facultatif.Optional. Identifie le niveau de sécurité auquel les demandes d’application doivent être exécutées.Identifies the security level at which the application requests to be executed. Cet élément n’a pas d’enfants et comprend les attributs suivants.This element has no children and has the following attributes.

  • Level

    Obligatoire.Required. Indique le niveau de sécurité demandé par l’application.Indicates the security level the application is requesting. Les valeurs possibles sont :Possible values are:

    asInvoker: ne demande aucune autorisation supplémentaire.asInvoker, requesting no additional permissions. Ce niveau ne nécessite aucune invite d’approbation supplémentaire.This level requires no additional trust prompts.

    highestAvailable: demande les autorisations les plus élevées pouvant être octroyées au processus parent.highestAvailable, requesting the highest permissions available to the parent process.

    requireAdministrator: demande d’autorisations d’administrateur complètes.requireAdministrator, requesting full administrator permissions.

    Les applicationsClickOnceClickOnce sont uniquement installées avec la valeur asInvoker.ClickOnceClickOnce applications will only install with a value of asInvoker. Toute installation effectuée avec une autre valeur se soldera par un échec.Installing with any other value will fail.

  • uiAccess

    Facultatif.Optional. Indique si l’application nécessite l’accès aux éléments protégés de l’interface utilisateur.Indicates whether the application requires access to protected user interface elements. La valeur peut être true ou false(false étant la valeur par défaut).Values are either true or false, and the default is false. Seules les applications signées doivent avoir la valeur true.Only signed applications should have a value of true.

NotesRemarks

Si une application ClickOnceClickOnce demande davantage d’autorisations que celles accordé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 privilège élevé.If a ClickOnceClickOnce application asks for more permissions than the client computer will grant by default, the common language runtime's Trust Manager will ask the user if she wants to grant the application this elevated level of trust. S’il refuse, l’application ne fonctionne pas ; s’il accepte, elle s’exécute avec les autorisations demandées.If she says no, the application will not run; otherwise, it will run with the requested permissions.

Toutes les autorisations demandées à l’aide de defaultAssemblyRequest et d’ assemblyRequest sont accordées sans demander confirmation à l’utilisateur si le manifeste de déploiement dispose d’une licence de confiance valide.All permissions requested using defaultAssemblyRequest and assemblyRequest will be granted without user prompting if the deployment manifest has a valid Trust License.

Pour plus d’informations sur l’élévation d’autorisations, consultez sécurisation des Applications ClickOnce.For more information about Permission Elevation, see Securing ClickOnce Applications. Pour plus d’informations sur le déploiement de stratégies, consultez Trusted Application Deployment Overview.For more information about policy deployment, see Trusted Application Deployment Overview.

ExemplesExamples

Les trois exemples de code suivants illustrent les éléments trustInfo pour les zones de sécurité nommées par défaut (Internet, LocalIntranet et FullTrust). Vous utilisez ces éléments dans le manifeste d’application d’un déploiement ClickOnceClickOnce .The following three code examples illustrate trustInfo elements for the default named security zones—Internet, LocalIntranet, and FullTrust—for use in a ClickOnceClickOnce deployment's application manifest.

Le premier exemple illustre l’élément trustInfo pour les autorisations par défaut disponibles dans la zone de sécurité Internet.The first example illustrates the trustInfo element for the default permissions available in the Internet security zone.

<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.The second example illustrates the trustInfo element for the default permissions available in the LocalIntranet security zone.

<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.The third example illustrates the trustInfo element for the default permissions available in the FullTrust security zone.

<trustInfo>
  <security>
    <applicationRequestMinimum>
      <PermissionSet ID="FullTrust" Unrestricted="true" />
      <defaultAssemblyRequest permissionSetReference="FullTrust" />
    </applicationRequestMinimum>
  </security>
</trustInfo>

Voir aussiSee also