Comment : accorder des autorisations à des dossiers et des assemblys (Office System 2003)

Mise à jour : novembre 2007

S'applique à

Les informations dans cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

  • Projets au niveau de l'application

Version de Microsoft Office

  • Microsoft Office 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Les procédures suivantes accordent des autorisations de confiance totale à l'assembly ou au dossier d'une solution Visual Studio Tools pour Office. En règle générale, on accorde des autorisations à un assembly spécifique. Si vous possédez plusieurs assemblys et êtes certain que l'emplacement est sécurisé, vous pouvez accorder une confiance totale au dossier contenant les assemblys. Si vous accordez un niveau de confiance au dossier, cette confiance est également accordée à tous les assemblys présents dans ce dossier et ses sous-dossiers.

Il existe trois façons d'accorder des autorisations à des dossiers et des assemblys dans les solutions Office :

  • Utilisation de la propriété Emplacement des assemblys de confiance dans Visual Studio. (Utile uniquement pendant le développement.)

    La propriété Emplacement des assemblys de confiance fonctionne uniquement pendant le développement ; elle n'a aucun effet sur les utilisateurs finaux. Par conséquent, vous ne pouvez pas utiliser cette méthode pour le déploiement. Pour plus d'informations, consultez Propriétés des projets Visual Studio Tools pour Office.

  • À l'aide de l'outil Configuration de Microsoft .NET Framework 2.0.

    Cet outil fournit une interface graphique utilisateur pour l'utilisation d'une stratégie de sécurité. Il n'est pas inclus avec Visual Studio 2008. Vous pouvez télécharger l'outil dans le cadre du Kit de développement .NET Framework 2.0 SDK à partir du Centre de téléchargement Microsoft. Pour obtenir un exemple, consultez .NET Framework 2.0 Software Development Kit (SDK) (x86).

  • À l'aide de l'outil Stratégie de sécurité d'accès du code (Caspol.exe).

    Cet outil est une interface de ligne de commande pour l'utilisation d'une stratégie de sécurité.

Remarque :

Voici les étapes de base nécessaires à la définition de votre propre stratégie de sécurité, dans le but de développer et de tester des assemblys. N'utilisez pas ces étapes pour accorder un niveau de confiance à des assemblys ou à des répertoires si vous n'êtes pas certain qu'ils sont fiables et sécurisés. Pour plus d'informations sur la définition de la stratégie de sécurité, consultez Déploiement de la stratégie de sécurité et Configuration des groupes de codes à l'aide de l'outil .NET Framework Configuration Tool (Mscorcfg.msc).

Utilisation de la propriété Emplacement des assemblys de confiance

Lorsque vous créez un projet, une confiance totale basée sur l'emplacement est accordée par défaut. Si Emplacement des assemblys de confiance a été modifié, vous pouvez appliquer de nouveau les paramètres par défaut.

Pour accorder une confiance totale à des assemblys de projet sur votre ordinateur de développement

  1. Dans Visual Studio, sélectionnez le nœud du projet dans l'Explorateur de solutions.

  2. Dans la fenêtre Propriétés, sélectionnez Emplacement des assemblys de confiance.

  3. Affectez la valeur true à la propriété.

  4. Dans le menu Générer, cliquez sur Générer la solution.

Utilisation de l'outil Configuration de .NET Framework 2.0

Pour installer cet outil, téléchargez et installez le Kit de développement logiciel (SDK) .NET Framework 2.0 à partir du Centre de téléchargement Microsoft.

La procédure à suivre varie en fonction de l'emplacement de l'assembly ou du dossier :

  • Sur votre ordinateur local.

  • Sur un autre ordinateur sur un réseau (ou un lecteur mappé).

Pour accorder une confiance totale à un assembly ou à un dossier situé sur votre ordinateur local

  1. Dans le Panneau de configuration, ouvrez Outils d'administration.

  2. Exécutez Configuration de Microsoft .NET Framework 2.0.

    Remarque :

    Il peut y avoir plusieurs outils similaires dont le nom commence par Microsoft .NET Framework. Vérifiez que l'outil de configuration que vous utilisez correspond à votre version du runtime.

  3. Dans l'arborescence sur le côté gauche, développez Configuration .NET Framework 2.0, Poste de travail, Stratégie de sécurité du runtime, Utilisateur, Groupes de codes, All_Code, puis VSTOProjects.

    Remarque :

    Si vous n'avez pas compilé de projet Visual Studio Tools pour Office auparavant, vous ne disposez pas du dossier VSTOProjects. Vous pouvez ajouter le nouveau groupe de codes au nœud racine All_Code, ou compiler un projet Visual Studio Tools pour Office pour que le dossier VSTOProjects soit créé automatiquement.

    Sur la droite se trouve la description du groupe de codes VSTOProjects, qui comporte une section Tasks en bas de la page.

  4. Dans la section Tasks, cliquez sur Ajouter un groupe de codes enfant.

    L'Assistant Créer un groupe de codes démarre.

  5. Sélectionnez Créer un nouveau groupe de codes, puis tapez un nom et une description qui vous aideront à identifier le projet. Cliquez sur Suivant.

  6. Dans la liste Choisissez le type de condition pour ce groupe de codes, cliquez sur URL.

  7. Dans la zone URL, tapez le chemin d'accès complet de l'assembly, ou le chemin d'accès au dossier Bin du projet suivi d'un astérisque (par exemple, c:\chemin d'accès\ExcelApplication1.dll ou c:\chemin d'accès\ExcelApplication1\bin\*).

  8. Cliquez sur Suivant.

    Remarque :

    Si vous tapez le chemin d'accès du dossier Bin, une confiance totale est accordée à tous les assemblys contenus dans ce dossier et dans ses sous-dossiers sur votre ordinateur. Assurez-vous qu'aucune personne non autorisée n'a accès aux dossiers d'un niveau de confiance totale car quelqu'un pourrait placer un assembly malveillant dans le dossier et l'assembly serait exécuté avec une confiance totale.

    Attention :

    N'accordez pas des autorisations à l'ensemble d'un disque dur (tel que C:\*) ou à des dossiers généraux tels que Mes documents, car vous pourriez accorder des autorisations à des assemblys mis en cache à partir d'Internet ou de messages électroniques. Accordez des autorisations uniquement à des dossiers de projet spécifiques qui contiennent des assemblys pouvant être exécutés en toute sécurité.

  9. Sélectionnez Utiliser un jeu d'autorisations existant, puis FullTrust dans la liste.

  10. Cliquez sur Suivant.

  11. Cliquez sur Terminer.

Pour accorder une confiance totale à un assembly ou à un dossier situé sur un ordinateur réseau ou un lecteur mappé

  1. Dans le Panneau de configuration, ouvrez Outils d'administration.

  2. Exécutez Configuration de Microsoft .NET Framework 2.0.

    Remarque :

    Il peut y avoir plusieurs outils similaires dont le nom commence par Microsoft .NET Framework. Vérifiez que l'outil de configuration que vous utilisez correspond à votre version du runtime.

  3. Dans l'arborescence sur le côté gauche, développez Configuration .NET Framework 2.0, Poste de travail, Stratégie de sécurité du runtime, Ordinateur, Groupes de codes, puis All_Code.

    Remarque :

    Vous devez être administrateur pour accorder une confiance totale à un assembly ou à un dossier situé sur un ordinateur réseau, et le niveau de confiance doit être accordé au niveau de l'ordinateur plutôt qu'au niveau de l'utilisateur.

  4. Cliquez avec le bouton droit sur LocalIntranet_Zone sous All_Code, puis cliquez sur Nouveau.

    Cette étape suppose que le serveur utilisé se trouve dans la zone intranet locale. S'il a été ajouté à la zone Sites de confiance dans Internet Explorer, cliquez plutôt avec le bouton droit sur Trusted_Zone. Si l'assembly se trouve sur un lecteur mappé, vous devez utiliser LocalIntranet_Zone.

  5. Tapez un nom et une description qui vous aideront à identifier le projet. Cliquez sur Suivant.

  6. Dans la liste Choisissez le type de condition pour ce groupe de codes, cliquez sur URL.

  7. Dans la zone URL, tapez le chemin d'accès complet de l'assembly, ou le chemin d'accès au dossier Bin du projet suivi d'un astérisque (par exemple, \\NomServeur\NomDossier\ExcelApplication1.dll ou http://NomServeur/NomDossier/ExcelApplication1/bin/*)).

  8. Cliquez sur Suivant.

    Remarque :

    Si vous tapez le chemin d'accès du dossier Bin, une confiance totale sera accordée à tous les assemblys contenus dans ce dossier et dans ses sous-dossiers sur votre ordinateur. Si vous ne savez pas avec certitude si ces dossiers sont sécurisés, des autorisations aussi larges peuvent constituer un risque en matière de sécurité.

  9. Sélectionnez Utiliser un jeu d'autorisations existant, puis FullTrust dans la liste.

  10. Cliquez sur Suivant.

  11. Cliquez sur Terminer.

Utilisation de l'outil Stratégie de sécurité d'accès du code (Caspol.exe)

Vous pouvez également accorder une confiance totale à un dossier à partir d'une invite de commandes en utilisant l'outil de ligne de commande Stratégie de sécurité d'accès du code (Caspol.exe). Pour plus d'informations sur Caspol.exe, consultez Outil Code Access Security Policy Tool (Caspol.exe).

Vous pouvez accorder un niveau de confiance à un dossier sur votre ordinateur local au niveau de l'utilisateur avec des autorisations d'utilisateur normales. Pour accorder un niveau de confiance à un emplacement réseau, vous devez disposer de privilèges d'administrateur et modifier la stratégie de sécurité au niveau de l'ordinateur. Le niveau de stratégie de l'ordinateur agit indépendamment du niveau de stratégie de l'utilisateur et n'accorde pas une confiance totale à la zone Intranet même si c'est le cas de la stratégie de l'utilisateur. Les niveaux de stratégie doivent s'accorder.

Conseil :

Tapez les commandes manuellement. Le fait de copier et coller les commandes dans l'invite de commandes peut entraîner des erreurs Option inconnue.

Pour accorder une confiance totale à un dossier local

  • Tapez la commande suivante à l'invite de commandes Visual Studio.

    caspol -u -ag All_Code -url 
    C:\<FolderName>\<FolderName>\* FullTrust -n "<Name>" -d
    "<Description>"
    

Pour accorder une confiance totale à un dossier réseau

  • Tapez la commande suivante à l'invite de commandes Visual Studio.

    caspol -m -ag LocalIntranet_Zone -url 
    \\<ServerName>\<FolderName>\* FullTrust -n "<Name>" -d 
    "<Description>"
    

Pour plus d'informations, consultez Comment : ajouter des groupes de codes à l'aide de Caspol.exe.

Remarque :

Une fois que la stratégie est déployée, toute personne affectée par la modification de la stratégie doit quitter, puis redémarrer toutes les applications Office utilisées dans la solution avant que les modifications apportées à la stratégie ne soient appliquées. Si Microsoft Office Word fait partie de la solution, les utilisateurs doivent également quitter et redémarrer Microsoft Office Outlook. En outre, si un utilisateur a ouvert un document ou un classeur dans Internet Explorer, il est possible que le processus soit encore en cours d'exécution. Vérifiez le Gestionnaire des tâches Windows pour vous assurer qu'il n'existe aucune instance de l'application Office. D'autres applications hébergeant des applications Office peuvent également empêcher la mise en vigueur des nouvelles autorisations. Les utilisateurs doivent quitter toutes les applications qui utilisent Office, qu'elles soient hébergées ou autonomes, lorsque des stratégies de sécurité sont modifiées.

Voir aussi

Tâches

Comment : supprimer des autorisations de dossiers ou d'assemblys (Office System 2003)

Concepts

Spécifications de sécurité pour exécuter des solutions Office (Office System 2003)

Meilleures pratiques pour la sécurité dans les solutions Office (Office System 2003)

Considérations spécifiques sur la sécurité pour les solutions Office

Groupes de codes

Sécurisation des applications

Autres ressources

Sécurité dans les solutions Office (Office System 2003)