Vous êtes ici :
CSP et Lightning Locker dans les sites Générateur d'expérience
Les sites Générateur d'expérience utilisent la Stratégie de sécurité des contenus (CSP) et Lightning Locker pour protéger votre site contre les attaques malveillantes et les vulnérabilités de code personnalisé. CSP est une norme W3C qui contrôle la source du contenu pouvant être chargé sur les pages de votre site et qui contribue à la protection contre les attaques de script inter-site (XSS). Lightning Locker est une couche d'architecture Salesforce qui permet d'exécuter en toute sécurité des composants Lightning tiers et un code personnalisé dans une même page de navigateur. Avec différents niveaux de sécurité, vous pouvez optimiser les choix de sécurité et de tolérance au risque de votre site.
Éditions requises
| Disponible avec : Salesforce Classic et Lightning Experience |
| Disponible avec : Essentials Edition, Enterprise Edition, Performance Edition, Unlimited Edition et Developer Edition |
Pour les nouveaux sites créés après la version Spring ’19, la CSP stricte correspond au paramètre CSP défini par défaut.
Qu'est-ce que la CSP ?
La CSP (Stratégie de sécurité des contenus) est une liste de règles qui définissent l'en-tête HTTP « Content-Security-Policy » envoyé au navigateur lorsqu'une personne visite votre site. Les navigateurs Web utilisent ces règles pour bloquer les requêtes à des serveurs inconnus pour des ressources de différente nature, telles que des scripts, des images et d'autres données. La CSP stricte renforce la sécurité de votre site contre les attaques de ce type en empêchant les requêtes à d'autres serveurs, sauf s'ils ont été explicitement approuvés.
La CSP détermine ce qui fait partie ou non de votre site. La définition des limites de votre site est l’un des aspects les plus importants de la CSP. Tout ce qui n'est pas chargé par l'intermédiaire du nom de domaine de votre site, par exemple un logo hébergé sur le site d'une autre société, est considéré comme un hôte tiers. Cette approche de la CSP suit la same-origin policy (politique de même origine) que les navigateurs appliquent déjà. Vous pouvez accéder à des documents hébergés par des tiers, mais vous devez au préalable choisir un niveau de sécurité pour votre site. Vous autorisez ensuite les hôtes appropriés.
Qu'est-ce que Lightning Locker ?
Lightning Locker est une couche d’architecture Salesforce qui renforce la sécurité des composants Lightning tiers dans votre site et le code personnalisé dans votre balisage head. Ces composants tiers et ce code personnalisé peuvent présenter des failles de sécurité qui permettent l'exfiltration de données et des actions éventuellement malveillantes en exploitant ces données.
Lightning Locker contrôle si les composants tiers et le code personnalisé de différents espaces de noms peuvent partager des données et interférer mutuellement. Si des composants tiers ou un code personnalisé utilisent des données confidentielles, la communication entre ces ressources nécessite une attention particulière. Par exemple, sans Lightning Locker, un composant tiers peut inclure un code JavaScript qui capture les données sécurisées que les clients saisissent dans un autre composant, puis envoyer ces données vers ses propres serveurs. Lightning Locker garantit que les composants tiers et le code personnalisé qui interagissent avec les ressources d'autres espaces de noms peuvent être exécutés en toute sécurité, même lorsqu'ils sont sur une même page de navigateur.
Lightning Locker :
- Utilise des conteneurs afin d'isoler tous les composants tiers appartenant à un espace de noms des composants tiers d'autres espace de noms.
- Applique automatiquement les meilleures pratiques de codage afin d'autoriser l'accès uniquement à des API prises en charge et d'éliminer l'accès à des infrastructures non publiées.
- Active des fonctionnalités de sécurité natives dans le navigateur.
Par défaut, Lightning Locker est activé pour votre site. Selon votre niveau de sécurité, vous pouvez choisir de désactiver Lightning Locker pour tous les composants tiers et le code personnalisé.
Niveaux de sécurité
Vous avez le choix entre les niveaux de sécurité ci-dessous.
| Niveau de sécurité | Description |
|---|---|
| CSP stricte : Bloquer l'accès aux scripts en ligne et autoriser l'accès aux hôtes autorisés | Paramètre par défaut pour les sites créés dans Spring ’19 (février 2019) et supérieur. Fournit une sécurité maximale.
|
| CSP relâchée : permettez l'accès aux scripts en ligne et aux hôtes autorisés | Fournit une sécurité modérée.
|
| Autoriser les scripts en ligne et l'accès des scripts n'importe quel hôte tiers | Ne fournit aucune sécurité supplémentaire, mais permet à votre site de fonctionner normalement.
Remarque Cette option est visible uniquement pour les sites créés avant la version Spring ’19. Cette option a été retirée avec la version Spring ’22 (février 2022). |
- Considérations relatives à la conception de la Stratégie de sécurité des contenus et de Lightning Locker
Que vous soyez administrateur, responsable de contenu ou développeur, tenez compte de l'impact des différents de niveau de sécurité sur votre site Générateur l'expérience. L'impact peut être multiple et inattendu. - Liste d'autorisations des hôtes tiers pour les sites Générateur d'expérience
Quel que soit votre niveau de sécurité, vous devez ajouter à la liste d'autorisations toutes les ressources non-script telles que les images, les feuilles de style et les polices hébergées hors de votre site Générateur d'expérience. Si vous référencez des fichiers JavaScript externes dans votre site, vous devez ajouter ces hôtes distants à la liste d'autorisations. - Sélection d'un niveau de sécurité dans les sites Générateur d'expérience
Choisissez un niveau de sécurité afin de contrôler l'exécution des scripts depuis votre site Générateur d'expérience et le partage de données par des composants tiers et un code personnalisé.

