Comment : accorder des autorisations aux documents et classeurs dans des emplacements partagés (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.

Si l'emplacement d'un document Microsoft Office 2003 n'est pas sécurisé (par exemple un site SharePoint ou un partage de fichiers sur lequel des utilisateurs, éventuellement malveillants, ont un accès en écriture), ou si vous ignorez quelles sont les personnes autorisées à transférer du contenu, vous pouvez accorder des autorisations uniquement aux documents et classeurs situés à l'emplacement spécifique, au lieu de les accorder à l'ensemble du contenu. Pour cela, utilisez la condition d'appartenance aux documents Office et modifiez la stratégie de sécurité pour vérifier cette condition sur les ordinateurs sur lesquels votre solution s'exécutera. Pour plus d'informations sur la définition de la stratégie de sécurité sur les ordinateurs des utilisateurs finaux, consultez Déploiement de la stratégie de sécurité.

Lorsque vous utilisez la condition d'appartenance aux documents Office, seuls les documents Office sont dignes de confiance ; aucune autorisation n'est accordée aux assemblys et aux exécutables pour qu'ils soient exécutés à partir du partage.

Vous pouvez utiliser les outils de ligne de commande de Visual Studio ou l'outil Configuration de .NET Framework 2.0 pour créer des groupes de codes personnalisés. Les deux méthodes sont expliquées ci-dessous. Toutefois, l'outil Configuration de la version 2.0 du .NET Framework 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).

Création d'un groupe de codes personnalisés à l'aide des outils de ligne de commande de Visual Studio

Pour créer un groupe de codes personnalisés à l'aide des outils de ligne de commande

  1. Ouvrez l'invite de commandes Visual Studio. Si Visual Studio n'est pas installé sur l'ordinateur, ouvrez une invite de commandes Windows et accédez au répertoire Microsoft .NET Framework correspondant à votre version actuelle du .NET Framework. Par exemple :

    %systemroot%\Microsoft.NET\Framework\v2.0.50727
    
  2. Tapez les commandes suivantes, en remplaçant les emplacements, noms et descriptions des exemples de manière appropriée par rapport à votre environnement :

    gacutil -i "C:\Program Files\Microsoft 
    Office\Office11\Addins\Msosec.dll"
    
    caspol -m -ag LocalIntranet_Zone -url \\ServerName\FolderName\* 
    Nothing -n "My Data Folder" -d "Intermediate group for my documents"
    
    caspol -m -ag "My Data Folder" -custom "C:\Program Files\Microsoft 
    Office\Office11\Addins\Msosec.xml" FullTrust -n "My Data Documents" 
    -d "Grants FullTrust to all documents in my data folder"
    
    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.

Création d'un groupe de codes personnalisés à l'aide de l'outil Configuration du .NET Framework

Avant de pouvoir utiliser l'outil Configuration du .NET Framework 2.0, vous devez télécharger et installer le Kit de développement logiciel (SDK) .NET Framework 2.0 à partir du Centre de téléchargement Microsoft.

Lorsque vous utilisez l'outil Configuration du .NET Framework 2.0, suivez ces étapes de base :

  • Ajoutez Msosec.dll au GAC (Global Assembly Cache). Msosec.dll est l'assembly qui implémente Microsoft.Office.Security.Policy.OfficeDocumentMembershipCondition, qui permet d'identifier les documents et classeurs. Vous pouvez rechercher Msosec.dll dans le dossier ADDINS dans l'emplacement d'installation Office, qui est par défaut : \Program Files\Microsoft Office\OFFICE11\ADDINS.

  • Créez un groupe de codes disposant d'autorisations restreintes pour le serveur ou le dossier spécifique (par exemple, Nothing ou LocalIntranet_Zone).

  • Créez un second groupe de codes sous le premier, qui accorde une confiance totale aux documents Office.

    Remarque :

    Si vous utilisez Msosec dans votre stratégie, il aura un impact négatif sur les performances de tout le code managé sur l'ordinateur. Il est recommandé de ne pas ajouter Msosec à des serveurs ou à d'autres ordinateurs lorsqu'il n'est pas requis.

Pour ajouter Msosec.dll au cache d'assembly

  1. Ouvrez une session sur l'ordinateur en tant qu'administrateur.

  2. Dans le Panneau de configuration, ouvrez Outils d'administration et exécutez Configuration de Microsoft .NET Framework 2.0.

  3. Sous le nœud Racine de la console, développez Configuration du .NET Framework 2.0, puis développez Poste de travail.

  4. Cliquez avec le bouton droit sur Cache d'assemblys, puis cliquez sur Ajouter.

  5. Naviguez vers Msosec.dll dans le dossier d'installation d'Office. Par exemple :

    C:\Program Files\Microsoft Office\Office11\Addins\Msosec.dll

  6. Sélectionnez Msosec.dll, puis cliquez sur Ouvrir pour ajouter le fichier au cache d'assembly.

Pour créer un groupe de codes disposant d'autorisations restreintes pour le serveur ou dossier

  1. Sous le nœud Machine, développez Code Groups, puis All_Code.

  2. Cliquez avec le bouton droit sur LocalIntranet_Zone, puis cliquez sur Nouveau.

    Cette étape suppose que le serveur 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.

  3. Nommez le groupe de codes. Pour cet exemple, utilisez Customer Data Folder.

    Ce groupe de codes n'accorde pas d'autorisations au dossier ; il s'agit simplement d'un conteneur pour le prochain groupe de codes.

  4. Cliquez sur Suivant.

  5. Dans la liste Choisissez le type de condition pour ce groupe de codes, sélectionnez URL.

  6. Dans la zone de texte URL, tapez le chemin d'accès au dossier partagé.

    L'astérisque placé à la fin est important, car il permet d'appliquer les autorisations à tous les fichiers et sous-dossiers de ce dossier. Par exemple :

    \\ServerName\ShareName\*

  7. Cliquez sur Suivant.

  8. Dans la liste Utiliser un jeu d'autorisations existant, sélectionnez Nothing.

    La valeur par défaut est FullTrust. Vous devez la remplacer par Nothing afin de ne pas accorder d'autorisations maximales à l'ensemble des fichiers de l'emplacement spécifié.

  9. Cliquez sur Suivant, puis sur Terminer.

Pour créer un groupe de codes qui accorde une confiance totale aux documents Office

  1. Cliquez avec le bouton droit sur le nouveau groupe de codes ; dans cet exemple, il s'agit de Customer Data Folder. Cliquez ensuite sur Nouveau.

  2. Nommez le groupe de codes. Pour cet exemple, utilisez Customer Data Documents.

  3. Cliquez sur Suivant.

  4. Dans la liste Choisissez le type de condition pour ce groupe de codes, sélectionnez (Personnalisé).

  5. Cliquez sur Importer, puis naviguez vers Msosec.xml dans le dossier d'installation d'Office. Par exemple :

    C:\Program Files\Microsoft Office\Office11\Addins\Msosec.xml

  6. Sélectionnez Msosec.xml, puis cliquez sur Ouvrir pour importer la condition de code personnalisé XML.

  7. Cliquez sur Suivant.

  8. Dans la liste Utiliser un jeu d'autorisations existant, sélectionnez FullTrust.

  9. Cliquez sur Suivant, puis sur Terminer.

Pour plus d'informations sur l'octroi de niveaux de confiance, consultez Configuration de la stratégie de sécurité à l'aide de l'outil .NET Framework Configuration Tool (Mscorcfg.msc) et Configuration de la stratégie de sécurité à l'aide de l'outil Code Access Security Policy Tool (Caspol.exe).

Voir aussi

Tâches

Comment : ajouter un assembly à la liste des assemblys de stratégie

Comment : ajouter des assemblys à la stratégie de sécurité à l'aide de Caspol.exe

Concepts

Déploiement sécurisé (Office System 2003)

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)

Autres ressources

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