Configuration d’un fichier CSP

Une Politique de sécurité du contenu(CSP) est utilisée pour restreindre les ressources qu’un navigateur est autorisé à utiliser. La CSP peut également limiter les fonctionnalités des ressources de script et de style. Adobe Experience Platform Web SDK ne nécessite pas de CSP, mais l’ajout d’un CSP peut réduire la surface d’attaque pour vous protéger contre les attaques malveillantes.

La CSP doit refléter la manière dont Experience Platform Web SDK est déployé et configuré. La CSP suivante indique les modifications qui peuvent être nécessaires au bon fonctionnement du SDK. D’autres paramètres de CSP seront probablement requis en fonction de votre environnement spécifique.

Exemple de politique de sécurité du contenu

Les exemples suivants montrent comment configurer une CSP.

Autoriser l’accès au domaine Edge

default-src 'self';
connect-src 'self' EDGE-DOMAIN

Dans l’exemple ci-dessus, EDGE-DOMAIN doit être remplacé par le domaine propriétaire. Le domaine propriétaire est configuré pour le paramètre edgeDomain. Si aucun domaine propriétaire n’a été configuré, EDGE-DOMAIN doit être remplacé par *.adobedc.net. Si la migration des visiteurs est activée à l’aide de idMigrationEnabled, la directive connect-src doit également inclure *.demdex.net.

Utiliser NONCE pour autoriser les éléments de script et de style intégrés

Experience Platform Web SDK pouvez modifier le contenu de la page et doivent être approuvés pour créer des balises de style et de script intégrées. Pour ce faire, Adobe recommande d’utiliser une valeur à usage unique pour la directive CSP default-src. Une valeur à usage unique est un jeton aléatoire généré par le serveur et cryptographiquement puissant, généré une fois par page vue unique.

default-src 'nonce-SERVER-GENERATED-NONCE'

En outre, la valeur à usage unique de la CSP doit être ajoutée en tant qu’attribut à la balise de script Experience Platform Web SDK code de base. Experience Platform Web SDK utilisera ensuite cette valeur à usage unique lors de l’ajout de balises de script ou de style intégrées à la page :

<script nonce="SERVER-GENERATED-NONCE">
  !function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
  []).push(o),n[o]=function(){var u=arguments;return new Promise(
  function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
  (window,["alloy"]);
</script>

Si aucune valeur à usage unique n’est utilisée, l’autre option consiste à ajouter des unsafe-inline aux directives script-src et style-src CSP :

script-src 'unsafe-inline'
style-src 'unsafe-inline'
NOTE
Adobe ne recommande pas de spécifier unsafe-inline car cela permet à n’importe quel script de s’exécuter sur la page, ce qui limite les avantages de la CSP.

Configuration d’un CSP pour la messagerie In-App in-app-messaging

Lorsque vous configurez la messagerie Web In-App, vous devez inclure la directive suivante dans votre CSP :

default-src  blob:;
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636