Configurer et déployer des composants WebPart sécurisés sur votre serveur (Office SharePoint Server)
Mise à jour : 2007-11-02
Microsoft Office SharePoint Server 2007 est fourni avec un jeu de composants WebPart que les administrateurs de site peuvent ajouter à des pages de composants WebPart après avoir installé le produit. Toutefois, votre organisation peut nécessiter des composants WebPart personnalisés. Dans ce cas, un développeur doit écrire des composants WebPart ASP.NET 2.0 personnalisés et vous demander de les installer dans un déploiement d’Office SharePoint Server 2007.
Office SharePoint Server utilise certains des paramètres de gestion de configuration fournis par le Microsoft .NET Framework. Certains de ces paramètres sont stockés dans les fichiers de configuration XML et fournissent un large éventail de paramètres qui permettent aux administrateurs de serveur de gérer l’application Web et son environnement. Pour plus d’informations sur les fichiers de configuration ASP.NET 2.0, voir Machine.Config et Web.Config (https://msdn2.microsoft.com/fr-fr/library/aa302435.aspx) dans « Sécurisation de votre application ASP.NET et des services Web » sur MSDN Library Online.
Options de configuration
Les administrateurs système peuvent déployer des composants WebPart ASP.NET 2.0 dans un déploiement d’Office SharePoint Server dans l’un des deux emplacements :
Répertoire Bin Stocké dans votre répertoire racine de l’application Web.
Global Assembly Cache (GAC) Tous les composants WebPart standard sont automatiquement installés avec le Common Language Runtime du .NET Framework. Le stockage dans le GAC vous permet de partager les composants WebPart entre plusieurs applications. Les composants sont généralement stockés dans C:\WINNT\Assembly.
Chaque emplacement présente des avantages et des inconvénients, comme décrit dans le tableau suivant.
Emplacement de déploiement | Avantages | Inconvénients |
---|---|---|
Répertoire Bin |
Un emplacement de confiance partielle. Par défaut, le code qui s’exécute à partir de ce répertoire a un faible niveau d’autorisations de sécurité d’accès du code. L’administrateur doit explicitement déclencher les autorisations accordées à un composant WebPart afin qu’il puisse fonctionner. En raison de ce niveau de contrôle et des défenses en profondeur, les administrateurs ont tendance à préférer que les assemblys s’exécutent dans le répertoire Bin, avec un ensemble connu d’autorisations de sécurité d’accès du code requis. Un répertoire Bin est également spécifique à une application Web. Cela vous permet d’isoler du code pour une application Web particulière. |
Pour exécuter votre composant WebPart partout, vous devez déployer votre assembly Bin. |
GAC |
Un emplacement global où vous pouvez déployer les assemblys signés. Les assemblys s’exécutent en confiance totale par défaut. Ils sont installés globalement, de sorte qu’ils peuvent être utilisés dans n’importe quelle application Web. |
En règle générale, il n’existe aucune restriction de sécurité d’accès du code sur le code installé dans le GAC ; par conséquent, vous perdez l’avantage de la sécurité de défense en profondeur. En outre, il peut être difficile de déployer vos fichiers de programme de base de données (.pdb) vers des assemblys dans le GAC. |
Définition d’attributs de sécurité spéciaux
Les composants WebPart ASP.NET 2.0 que vous stockez dans le répertoire Bin ont des contraintes spéciales pour la sécurité. Vous pouvez choisir s’il faut définir des attributs de sécurité spéciaux pour votre composant WebPart en fonction de l’utilisation prévue.
Le répertoire Bin est un emplacement de confiance partielle. Par conséquent, votre composant WebPart n’accorde pas automatiquement une confiance totale aux autorisations de code lorsqu’il est exécuté. Dans la mesure où seules des autorisations de confiance partielle sont accordées au code appelant dans votre composant WebPart, le développeur de composants WebPart doit définir l’attribut AllowPartiallyTrustedCallers sur votre composant WebPart ASP.NET 2.0.
Remarque : |
---|
Marquer un composant comme étant « sûr » avec l’attribut AllowPartiallyTrustedCallers place la responsabilité de l’implémentation sécurisée sur le développeur. |
Les autorisations de sécurité d’accès du code pour le répertoire Bin sont très faibles par défaut ; seule l’exécution pure est autorisée. Vous devrez certainement élever ces autorisations pour que votre assembly s’exécute correctement.
Il existe deux façons d’élever les autorisations :
(Recommandé) Créez un fichier de stratégie d’approbation et faites pointer votre fichier Web.config vers le nouveau fichier. Cette option est plus complexe, mais elle offre des autorisations précises pour vos composants WebPart. Pour plus d’informations sur les fichiers de stratégie d’approbation, voir Microsoft Windows SharePoint Services et sécurité d’accès du code (https://msdn2.microsoft.com/fr-fr/library/ms916855(en-us).aspx?amp%3bclcid=0x40c) dans MSDN Library Online.
Augmentez le niveau de confiance globale du répertoire Bin. Dans le fichier Web.config dans votre répertoire racine de l’application, recherchez l’élément
trust
. La valeur par défaut de l’attributlevel
de l’élémenttrust
est WSS_Minimal. Vous pouvez changer la valeur de ce niveau en WSS_Medium. Cette option est plus simple, mais elle accorde de nouvelles autorisations arbitraires dont vous n’aurez peut-être pas besoin, et elle est moins sure que la création d’un fichier de stratégie d’approbation.
Liste des contrôles fiables
Une hypothèse fondamentale des produits et technologies SharePoint est que les utilisateurs non approuvés peuvent télécharger et créer des pages .aspx dans le système sur lequel Office SharePoint Server est en cours d’exécution. Ces utilisateurs doivent être empêchés d’ajouter du code côté serveur dans des pages .aspx, mais il doit exister une liste des contrôles fiables que ces utilisateurs non approuvés peuvent utiliser. Dans Office SharePoint Server, la liste des contrôles fiables est fournie à cet effet.
La liste des contrôles fiables est une liste de contrôles et composants WebPart spécifiques à votre site SharePoint que les administrateurs de serveurs peuvent désigner comme sans danger pour l’invocation dans n’importe quelle page .aspx au sein d’un site Web. Vous stockez cette liste dans le fichier Web.config dans la racine de l’application Web.
Exigences de tâche
Les conditions suivantes sont requises pour effectuer la procédure de cette tâche.
- Privilèges d’administrateur sur un ordinateur serveur qui dispose de l’un des produits serveur dans la version Office 2007 installé.
Pour configurer et déployer des composants WebPart sécurisés sur votre serveur, vous pouvez effectuer les procédures suivantes.