Vue d’ensemble de solutions en bac à sable (SharePoint Server 2010)

 

S’applique à : SharePoint Foundation 2010, SharePoint Server 2010

Dernière rubrique modifiée : 2016-11-30

Une solutionMicrosoft SharePoint Server 2010 est un package déployable et réutilisable qui peut contenir, entre autres, des fonctionnalités et des définitions de site. Les solutions peuvent être activées ou désactivées séparément. Vous pouvez déployer une solution directement sur votre batterie de serveurs SharePoint Server ou dans un bac à sable. Un bac à sable est un environnement d’exécution restreint qui permet aux programmes d’accéder à certaines ressources uniquement et qui empêche les problèmes qui se produisent dans le bac à sable d’affecter le reste de l’environnement serveur. Les solutions que vous déployez dans un bac à sable, qui sont appelées solutions en mode bac à sable, ne peuvent pas utiliser certains ordinateurs et ressources réseau et ne peuvent pas accéder au contenu en dehors de la collection de sites dans laquelle elles sont déployées. Pour plus d’informations sur les solutions, voir Vue d’ensemble des solutions (https://go.microsoft.com/fwlink/?linkid=156638&clcid=0x40C).

Étant donné que les solutions en bac à sable ne peuvent pas affecter l’ensemble de la batterie de serveurs, elles n’ont pas besoin d’être déployées par un administrateur de batterie de serveurs. Elles peuvent être déployées par un administrateur de collection de sites ou, dans certaines situations, par un utilisateur qui dispose du niveau d’autorisation Contrôle total à la racine de la collection de sites. Toutefois, seul un administrateur de batterie de serveurs peut configurer les paramètres liés aux solutions en bac à sable, tels que l’équilibrage de charge, les couches, les quotas et les points de ressources, et promouvoir une solution en bac à sable pour qu’elle s’exécute directement sur la batterie de serveurs, en dehors de l’environnement en mode bac à sable.

Cet article introduit les concepts liés aux solutions en bac à sable, décrit les utilisations et les avantages des solutions en bac à sable, explique les différences entre les solutions en bac à sable et celles qui sont déployées sur la batterie de serveurs, résume comment les solutions en bac à sable sont déployées et exécutées, explique les points de ressources et les quotas et décrit les tâches associées à l’administration des solutions en bac à sable. Cet article ne contient pas de procédures indiquant comment configurer ou déployer des solutions en bac à sable. Pour plus d’informations sur la réalisation de tâches spécifiques liées aux solutions en bac à sable, voir Administration des solutions en bac à sable (SharePoint Server 2010) et Installation, désinstallation et mise à niveau des solutions en bac à sable (sandbox) (https://go.microsoft.com/fwlink/?linkid=220252&clcid=0x40C).

Dans cet article :

  • Utilisation et avantages des solutions en bac à sable

  • Présentation des solutions en bac à sable

  • Déploiement des solutions en bac à sable

  • Présentation du service de solutions en bac à sable

  • Présentation des quotas et des points de ressources

  • Administration des solutions en bac à sable

Utilisation et avantages des solutions en bac à sable

Il existe deux scénarios courants dans lesquels il est approprié d’utiliser les solutions en bac à sable :

  • Lorsqu’une organisation souhaite exécuter du code pour les employés sur un site SharePoint Server de production et que ce code n’a pas été rigoureusement révisé et testé.

  • Lorsqu’un hébergeur souhaite laisser les propriétaires de sites SharePoint Server hébergés télécharger et exécuter du code personnalisé.

Les principaux avantages de l’utilisation de solutions en bac à sable sont les suivants :

  • Vous pouvez ajouter des solutions en bac à sable à l’environnement SharePoint Server de production sans risque de modifier les processus à l’extérieur du bac à sable.

  • Les administrateurs de collection de sites peuvent déployer les solutions en bac à sable, ce qui décharge les administrateurs de batterie de serveurs de cette tâche.

  • L’évolutivité et la flexibilité augmentent, car les bacs à sable sont exécutés dans un processus distinct qui peut être limité par des quotas et leur effet sur la batterie de serveurs peut être surveillé.

  • Une solution n’a pas besoin d’être modifiée ou recompilée si elle est transférée à partir d’un bac à sable pour fonctionner directement sur la batterie de serveurs.

Présentation des solutions en bac à sable

Les solutions sont empaquetées dans des fichiers .wsp qui peuvent contenir des fonctionnalités, des définitions de site, des composants WebPart et des assemblys. Il existe deux types de solutions : les solutions de batterie de serveurs et les solutions en bac à sable. Les solutions de batterie de serveurs sont déployées sur des serveurs Web frontaux par un administrateur de batterie, disposent d’un accès total au modèle objet serveur et ne sont sujettes à aucune limite d’utilisation. Pour leur part, les solutions en bac à sable peuvent être déployées par un administrateur de collection de sites — ou par un utilisateur qui dispose du niveau d’autorisation Contrôle total à la racine de la collection de sites — dans la galerie de solutions d’une collection de sites. Les solutions en bac à sable disposent d’un accès limité au modèle objet serveur et s’exécutent dans un contexte de sécurité restreint qui permet d’isoler et de surveiller leur code. Les administrateurs de batterie peuvent activer ou désactiver les solutions en bac à sable et définir des limites d’utilisation pour protéger les serveurs de la batterie d’un code malveillant. Pour plus d’informations sur les solutions, voir Blocs de contruction : Solutions (https://go.microsoft.com/fwlink/?linkid=220253&clcid=0x40C).

Ce que ne peuvent pas effectuer les solutions en bac à sable

Une solution SharePoint Server doit contenir le fichier de configuration nommé manifest.xml et elle peut également contenir des fichiers de configuration supplémentaires et des assemblys. Si la solution doit s’exécuter dans un bac à sable, l’assembly et les fichiers de configuration sont limités à ce qu’ils peuvent effectuer.

La liste suivante identifie les choses les plus courantes qu’un assembly qui s’exécute dans un bac à sable ne peut pas faire :

  • Se connecter aux ressources qui ne se trouvent pas sur la batterie de serveurs locale.

  • Accéder à une base de données.

  • Modifier le modèle de thread.

  • Appeler du code non managé.

  • Écrire sur disque.

  • Accéder aux ressources dans une autre collection de sites.

Pour plus d’informations sur les opérations qu’une solution en bac à sable peut et ne peut pas effectuer, voir Qu’est-ce qui peut être implémenté dans une solution en bac à sable (sandbox) ? (https://go.microsoft.com/fwlink/?linkid=220254&clcid=0x40C) et Restrictions imposées aux solutions en bac à sable (sandbox) (https://go.microsoft.com/fwlink/?linkid=220255&clcid=0x40C).

Présentation de l’équilibrage de charge pour les solutions en bac à sable

SharePoint Server fournit deux schémas d’équilibrage de charge qui permettent de déterminer le serveur sur lequel exécuter une solution en bac à sable. Les administrateurs de batterie peuvent sélectionner l’un des schémas d’équilibrage de charge suivants à appliquer aux solutions en bac à sable dans la batterie de serveurs :

  • Équilibrage de charge local   La solution en bac à sable s’exécute sur le serveur qui a reçu la demande.

  • Équilibrage de charge distant   Le serveur sur lequel la solution en bac à sable s’exécute est sélectionné en fonction de critères d’affinité avec celle-ci et la solution en bac à sable est exécutée sur un serveur sur lequel elle est déjà chargée et sur lequel elle a déjà été exécutée. Cette option permet de traiter plus rapidement la demande liée à la solution.

Quel que soit le schéma d’équilibrage de charge que vous sélectionnez, le service de solutions en bac à sable doit être en cours d’exécution sur chaque serveur sur lequel vous souhaitez exécuter les solutions en bac à sable.

Notes

Le service de solutions en bac à sable porte différents noms, suivant l’endroit où vous y accédez. Dans le site Web Administration centrale de SharePoint, le service s’appelle Service de code en mode bac à sable Microsoft SharePoint Foundation. Dans la console Services sur le serveur, le service correspond au service hôte de code utilisateur SharePoint. Pour éviter toute confusion, cet article désigne le service par « service de solutions en bac à sable ».

Vous pouvez augmenter l’isolation des solutions en bac à sable en utilisant l’équilibrage de charge distant et en exécutant le service de solutions en bac à sable uniquement sur des serveurs spécifiques. Dans un environnement de production, nous vous recommandons d’utiliser l’équilibrage de charge distant et de réserver un serveur à l’exécution de solutions en bac à sable. Pour plus d’informations sur la façon de déterminer le schéma d’équilibrage de charge à utiliser, voir Envisager d'équilibrer la charge du code des solutions en bac à sable dans Planifier des solutions en mode bac à sable (SharePoint Server 2010).

Comparaison de solutions en bac à sable et de batterie de serveurs

Le tableau suivant compare les solutions qui s’exécutent dans une batterie de serveurs aux solutions qui s’exécutent dans un bac à sable.

Aspect Batterie de serveurs Bac à sable

Processus de déploiement

Ajoutez la solution et déployez-la dans la batterie de serveurs.

Téléchargez la solution dans une collection de sites, puis activez-la dans la collection de sites.

Qui peut déployer

L’administrateur de batterie de serveurs.

Si la solution contient un assembly, seul un administrateur de collection de sites peut la déployer. Si la solution ne contient pas d’assembly, un utilisateur qui dispose d’un niveau d’autorisation Contrôle total à la racine de la collection de sites peut la déployer.

Accès aux données

Illimité.

La solution peut accéder uniquement au contenu à partir de la collection de sites dans laquelle elle a été déployée.

Processus dans lequel la solution s’exécute

Processus de travail IIS non restreint, ou n’importe quel processus dans lequel la solution est déployée.

Processus de travail distinct qui a des autorisations restreintes.

Sécurité d’accès au code

Le développeur de solutions peut définir la stratégie de sécurité d’accès au code lors de la création du package de la solution.

Restreinte.

Surveillance

Non surveillé.

Surveillé et limité par les quotas définis par l’administrateur de batterie de serveurs.

Équilibrage de charge

Varie en fonction du type de solution.

Configurable séparément à partir de solutions qui ne sont pas en mode bac à sable.

Fonctionnalités de la solution

Illimitées.

Limitées, comme décrit dans Ce que ne peuvent pas effectuer les solutions en bac à sable, plus haut dans cet article.

Bien que les solutions en bac à sable soient restreintes quant au code qu’elles peuvent ou ne peuvent pas utiliser et quant aux données auxquelles elles peuvent ou ne peuvent pas accéder, vous pouvez créer un type spécial d’opération qui s’exécute dans un processus de confiance totale et qui peut être appelée depuis une solution en bac à sable. Ce dispositif est connu sous l’appellation proxy de confiance totale. Pour plus d’informations sur les proxys de confiance totale, voir Solutions en bac à sable en partenariat avec les proxys de confiance totale (https://go.microsoft.com/fwlink/?linkid=220256&clcid=0x40C) (éventuellement en anglais) et Chapitre 4 : solutions en bac à sable (https://go.microsoft.com/fwlink/?linkid=219528&clcid=0x40C) (éventuellement en anglais).

Déploiement des solutions en bac à sable

Toute page d’un site SharePoint Server peut contenir des composants s’exécutant dans un bac à sable outre ceux qui s’exécutent directement dans une batterie de serveurs. Les composants déployés dans la batterie de serveurs sont exécutés dans le processus de travail des services Internet (IIS). Les composants déployés dans le bac à sable s’exécutent dans un processus en bac à sable.

La liste suivante identifie des composants que vous pouvez déployer dans un bac à sable :

  • Composants WebPart

  • Récepteurs d’événements

  • Récepteurs de fonctionnalité

  • Activités de flux de travail Microsoft SharePoint Designer personnalisées

  • Logique métier Microsoft InfoPath

Les étapes suivantes décrivent les tâches à effectuer pour préparer et déployer les solutions en bac à sable :

  1. Un administrateur de batterie de serveurs exécute les tâches suivantes une fois seulement :

  2. Un administrateur de collection de sites ou un utilisateur qui dispose du niveau d’autorisation Contrôle total à la racine de la collection de sites transfère une solution vers la galerie de solutions de la collection de sites. Pour plus d’informations sur le transfert d’une solution vers une galerie de solutions, voir Installation, désinstallation et mise à niveau des solutions en bac à sable (sandbox) (https://go.microsoft.com/fwlink/?linkid=220252&clcid=0x40C).

  3. Un administrateur de collection de sites active la solution. Si celle-ci ne contient pas d’assembly, un utilisateur qui dispose du niveau d’autorisation Contrôle total à la racine de la collection de sites peut également activer la solution. Des outils de validation s’exécutent sur la solution. Si la solution n’est pas validée, elle n’est pas activée. Pour plus d’informations sur la validation et sur l’activation d’une solution en bac à sable, voir Installation, désinstallation et mise à niveau des solutions en bac à sable (sandbox) (https://go.microsoft.com/fwlink/?linkid=220252&clcid=0x40C).

Les administrateurs de collection de sites peuvent surveiller les ressources utilisées par les solutions en bac à sable et désactiver des solutions en bac à sable dans la collection de sites. Si, une fois déployée, une solution en bac à sable commence à utiliser trop de ressources ou engendre des problèmes dans l’environnement en bac à sable, un administrateur de batterie peut empêcher la solution en bac à sable de s’exécuter sur la batterie de serveurs. Éventuellement, un administrateur de batterie de serveurs peut également supprimer la nécessité d’exécuter une solution en bac à sable dans un bac à sable en réinstallant la solution en tant que solution de batterie de serveurs. S’il n’est plus nécessaire d’exécuter la solution dans un bac à sable, lorsque la solution est exécutée dans n’importe quelle collection de sites dans la batterie de serveurs, elle ne fonctionnera plus dans l’environnement en bac à sable. Pour plus d’informations sur le blocage d’une solution en bac à sable, voir Bloquer ou débloquer une solution en mode bac à sable (SharePoint Server 2010). Pour plus d’informations sur l’installation d’une solution de batterie de serveurs, voir Déployer des packages de solutions (SharePoint Server 2010).

Présentation du service de solutions en bac à sable

Le service de solutions en bac à sable gère l’exécution des solutions en bac à sable dans l’ensemble d’une batterie de serveurs. Deux processus s’exécutent au sein du service de solutions en bac à sable : le processus de travail et le processus de proxy. Chaque solution en bac à sable s’exécute dans un domaine d’application au sein du processus de travail. Le processus de travail gère les solutions en bac à sable en limitant les ressources accessibles par chaque solution et en arrêtant les processus dont l’exécution prend trop de temps. Chaque processus de travail est associé à un processus de proxy qui gère les appels au modèle objet SharePoint. Pour une explication détaillée du fonctionnement du service de solutions en bac à sable, voir « Fonctionnement du modèle d’exécution en bac à sable » dans Solutions en bac à sable (https://go.microsoft.com/fwlink/?linkid=220257&clcid=0x40C) (éventuellement en anglais).

Présentation des couches

Sur la base du nombre moyen de ressources par demande utilisées par les solutions en bac à sable, il est possible de les grouper en couches dans le service de solutions en bac à sable. Comme le montre l’illustration suivante, une couche dans le service de solutions en bac à sable contient un ou plusieurs processus de travail dans lesquels s’exécutent les solutions en bac à sable. Chaque solution en bac à sable s’exécute dans son propre domaine d’application, qui est réutilisé lorsque la solution est appelée.

Niveaux dans le service des solutions en bac à sable

Par défaut, toutes les solutions en bac à sable s’exécutent dans le service de solutions en bac à sable dans une même couche, qui contient un seul processus de travail. Par défaut, ce processus de travail peut exécuter jusqu’à 10 domaines d’application. Un administrateur de batterie peut configurer des couches et des processus de travail supplémentaires dans le service de solutions en bac à sable afin de séparer les solutions à des fins de performances, de sécurité et de fiabilité. Si une solution en bac à sable dans un processus de travail donné utilise trop de ressources, cette solution entraîne l’arrêt de toutes les solutions en bac à sable dans ce processus de travail. Étant donné que les solutions en bac à sable font l’objet d’une surveillance quant à la quantité de ressources qu’elles utilisent, elles sont automatiquement réparties en couches supplémentaires en fonction de leur utilisation des ressources par rapport au jour précédent. Par conséquent, la création de processus de travail et de couches supplémentaires permet d’isoler les solutions en bac à sable et protège les solutions au comportement normal des solutions au comportement anormal en obligeant ces dernières à s’exécuter dans différentes couches.

Les administrateurs de batterie peuvent définir les propriétés suivantes pour chaque couche :

  • ResourceMaxValue   Cette propriété est un nombre qui détermine les solutions en bac à sable qui s’exécuteront dans la couche. La valeur par défaut est 0 et la propriété doit être définie sur une valeur supérieure pour que la couche soit utilisée.

  • MaximumWorkerProcesses   Cette propriété représente le nombre maximal de processus de travail pouvant s’exécuter dans la couche. La valeur par défaut est 1. La définition de cette propriété sur une valeur supérieure à 1 entraîne la création d’un processus de travail supplémentaire sur le serveur qui gère la demande.

  • MaximumAppDomainsPerProcess   Cette propriété représente le nombre maximal de domaines d’application qui peuvent s’exécuter dans un processus de travail au sein de la couche. La valeur par défaut est 10.

  • MaximumConnectionsPerProcess   Cette propriété représente le nombre maximal de connexions autorisées entre le service de solutions en bac à sable et un processus de travail dans la couche. La valeur par défaut est 1.

  • PriorityPerProcess   Cette propriété représente la priorité que le système d’exploitation a affectée aux processus de travail dans la couche.

Pour plus d’informations sur les couches, voir Utilisation de couches d’exécution pour protéger les solutions en bac à sable au comportement normal (https://go.microsoft.com/fwlink/?linkid=220258&clcid=0x40C) (éventuellement en anglais) et Couches en bac à sable (https://go.microsoft.com/fwlink/?linkid=217145&clcid=0x40C) (éventuellement en anglais). Pour plus d’informations sur la configuration des couches, voir Configurer les couches de service de solutions en mode bac à sable (sandbox) (SharePoint Server 2010).

Présentation des quotas et des points de ressources

L’utilisation des ressources par les solutions en bac à sable fait l’objet d’une surveillance basée sur les quotas par défaut, qui sont surveillés par collection de sites. Lorsque vous définissez des quotas pour vos collections de sites, vous empêchez n’importe quelle solution en bac à sable d’utiliser trop de ressources système. Si une ou plusieurs solutions en bac à sable dépassent le quota qui a été défini pour la collection de sites, toutes les solutions en bac à sable dans cette collection de sites sont automatiquement arrêtées jusqu’à ce que le travail du minuteur Mise à jour quotidienne de l’utilisation des ressources de la solution s’exécute, ce qui se produit généralement chaque nuit.

Les quotas sont gérés par le biais du site Web Administration centrale de SharePoint sous la forme d’un numéro unique contrôlant le total cumulé des points de ressources autorisés par jour pour l’ensemble des solutions en bac à sable au sein d’une collection de sites. Les administrateurs de batterie peuvent créer un modèle de quota qui peut être appliqué à n’importe quelle collection de sites dans la batterie de serveurs. Pour plus d’informations sur la planification de quotas, voir Planifier la gestion des quotas (SharePoint Server 2010). Pour plus d’informations sur la création de modèles de quota, voir Créer, modifier et supprimer des modèles de quota (SharePoint Server 2010). Pour plus d’informations sur la définition du quota de ressources maximal pour une collection de sites spécifique, voir Modifier les limites de stockage d’une collection de sites dans Gérer les limites de stockage des collections de sites (SharePoint Server 2010).

Pour restreindre les ressources consommées par vos solutions en bac à sable, vous devez définir des points de ressources. Les points de ressources correspondent à des niveaux spécifiques d’utilisation des ressources que vous pouvez définir pour un nombre maximum de 15 mesures de ressources (ressources système à surveiller) et sont comptabilisés pour l’ensemble de la collection de sites lorsque des solutions en bac à sable s’exécutent. Lorsque vous affichez les mesures des ressources dans un quota, vous voyez le nombre de ressources par point ; il s’agit du nombre de fois qu’une ressource particulière peut être utilisée jusqu’à ce qu’un point de ressource spécifique soit comptabilisé. Pour chaque mesure de ressource, les administrateurs de batterie peuvent configurer les propriétés suivantes :

  • MinimumThreshold   Niveau minimal d’utilisation des ressources qui doit être atteint pour être comptabilisé dans le total en cours pour le quota de collection de sites.

  • AbosoluteLimit   Niveau maximal d’utilisation des ressources dans une demande donnée à partir duquel le processus de travail est arrêté.

  • ResourcesPerPoint   Quantité ou niveau d’une ressource spécifique qui représente un point de ressource et qui est comptabilisé dans le quota total pour la collection de sites.

Lorsque l’utilisation des ressources atteint la limite spécifiée par la propriété ResourcePerPoint, la collection de sites comptabilise un point de ressource. Si le nombre cumulé des points de ressources dépasse le quota défini pour une collection de sites, toutes les solutions en bac à sable dans cette dernière sont désactivées pour le reste de la journée.

Les limites de point de ressource par défaut seront probablement satisfaisantes dans la plupart des scénarios. Toutefois, vous pouvez ajuster des limites de point de ressource spécifiques pour autoriser leur augmentation lorsque cela est approprié. Pour plus d’informations sur l’ajustement de limites de point de ressource spécifiques, voir Configurer des points de ressources pour les solutions en bac à sable (sandbox) (SharePoint Server 2010).

Les administrateurs de batterie peuvent affiner la distribution des points de ressources en utilisant Windows PowerShell dans un script pour configurer la distribution des différents points de ressources dans le quota de solution en bac à sable pour une collection de sites. Pour obtenir une liste des mesures de ressources individuelles et connaître le seuil minimal, la limite absolue et les ressources par point pour chaque mesure de ressource, voir Limites de l’utilisation des ressources sur les solutions en bac à sable dans SharePoint 2010(https://go.microsoft.com/fwlink/?linkid=217149&clcid=0x40C). Pour plus d’informations sur la configuration des paramètres de mesures de ressources spécifiques, voir Configurer des points de ressources pour les solutions en bac à sable (sandbox) (SharePoint Server 2010).

Notes

Si vous constatez qu’une solution en bac à sable fait systématiquement un mauvais usage des ressources serveur, vous pouvez la bloquer jusqu’à ce que le développeur puisse corriger la situation. Pour plus d’informations sur la façon de bloquer et de débloquer des solutions en bac à sable, voir Bloquer ou débloquer une solution en mode bac à sable (SharePoint Server 2010).

Administration des solutions en bac à sable

En tant qu’administrateur de batterie, vous pouvez effectuer les opérations suivantes pour administrer les solutions en bac à sable et le service de solutions en bac à sable :

  • activer le service de solutions en bac à sable sur les serveurs de la batterie ;

  • modifier le schéma d’équilibrage de charge pour une batterie de serveurs ;

  • bloquer ou débloquer une solution en bac à sable sur une batterie de serveurs ;

  • configurer des quotas pour les collections de sites sur une batterie de serveurs ;

  • configurer des modèles de quota sur une batterie de serveurs ;

  • utiliser Windows PowerShell pour :

    • afficher les paramètres de quota d’une collection de sites ;

    • afficher et configurer les points de ressources de mesures de ressources spécifiques ;

    • afficher et configurer les couches du service de solutions en bac à sable.

Pour plus d’informations sur l’administration des solutions en bac à sable et du service de solutions en bac à sable, voir Administration des solutions en bac à sable (SharePoint Server 2010).

Les administrateurs de collection de sites peuvent effectuer les opérations suivantes pour administrer les solutions en bac à sable :

See Also

Concepts

Planifier des solutions en mode bac à sable (SharePoint Server 2010)
Administration des solutions en bac à sable (SharePoint Server 2010)

Other Resources

Centre de ressources des solutions en bac à sable (éventuellement en anglais)
Architecture des solutions en bac à sable (sandbox) (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x40C)
Solutions en mode bac à sable dans SharePoint 2010
Installation, désinstallation et mise à niveau des solutions en bac à sable (sandbox) dans SharePoint 2010
Centre de ressources : nouveautés de Microsoft SharePoint Server 2010