Files
mintlify__docs/fr/deploy/csp-configuration.mdx
locadex-agent[bot] 6cd516c819 docs(locadex): add translations (#2667)
Co-authored-by: locadex-agent[bot] <217277504+locadex-agent[bot]@users.noreply.github.com>
2026-01-13 08:59:47 -08:00

158 lines
8.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Configuration de la Content Security Policy (CSP)"
sidebarTitle: "Configuration CSP"
description: "Configurez les en-têtes CSP pour autoriser les ressources Mintlify tout en maintenant la sécurité avec les reverse proxies, les pare-feu et les réseaux appliquant des politiques strictes."
keywords: ["Content Security Policy", "Directives CSP", "En-têtes de sécurité", "Prévention XSS"]
---
La Content Security Policy (CSP) est une norme de sécurité qui aide à prévenir les attaques de cross-site scripting (XSS) en contrôlant les ressources qu’une page web est autorisée à charger. Mintlify fournit une CSP par défaut qui protège la plupart des sites. Si vous hébergez votre documentation derrière un reverse proxy ou un pare-feu qui remplace la CSP par défaut, vous devrez peut-être configurer les en-têtes CSP pour que certaines fonctionnalités fonctionnent correctement.
<div id="csp-directives">
## Directives CSP
</div>
Les directives CSP suivantes servent à contrôler quelles ressources peuvent être chargées :
- `script-src` : contrôle les scripts autorisés à s’exécuter
- `style-src` : contrôle les feuilles de style pouvant être chargées
- `font-src` : contrôle les polices pouvant être chargées
- `img-src` : contrôle les images, icônes et logos pouvant être chargés
- `connect-src` : contrôle les URL auxquelles il est possible de se connecter pour les appels à l’API et les connexions WebSocket
- `frame-src` : contrôle les URL pouvant être intégrées dans des frames ou des iframes
- `default-src` : valeur de repli pour les autres directives lorsqu’elles ne sont pas explicitement définies
<div id="domain-whitelist">
## Liste d’autorisation des domaines
</div>
| Domaine | Finalité | Directive CSP | Obligatoire |
|:-------|:--------|:--------------|:-------|
| `d4tuoctqmanu0.cloudfront.net` | CSS et polices KaTeX | `style-src`, `font-src` | Obligatoire |
| `*.mintlify.dev` | Contenu de la documentation | `connect-src`, `frame-src` | Obligatoire |
| `*.mintlify.com` | Dashboard, API, proxy d’Analytics | `connect-src` | Obligatoire |
| `leaves.mintlify.com` | API Assistant | `connect-src` | Obligatoire |
| `d3gk2c5xim1je2.cloudfront.net` | Icônes, images, logos | `img-src` | Obligatoire |
| `d1ctpt7j8wusba.cloudfront.net` | Fichiers de version et de publication Mint | `connect-src` | Obligatoire |
| `mintcdn.com` | Images, favicons | `img-src`, `connect-src` | Obligatoire |
| `*.mintcdn.com` | Images, favicons | `img-src`, `connect-src` | Obligatoire |
| `api.mintlifytrieve.com` | API de recherche | `connect-src` | Obligatoire |
| `cdn.jsdelivr.net` | Ressources emoji pour images OG | `script-src`, `img-src` | Obligatoire |
| `mintlify.s3.us-west-1.amazonaws.com` | Images hébergées sur S3 | `img-src` | Obligatoire |
| `fonts.googleapis.com` | Google Fonts | `style-src`, `font-src` | Facultatif |
| `www.googletagmanager.com` | Google Analytics/GTM | `script-src`, `connect-src` | Facultatif |
| `cdn.segment.com` | Segment Analytics | `script-src`, `connect-src` | Facultatif |
| `plausible.io` | Plausible Analytics | `script-src`, `connect-src` | Facultatif |
| `us.posthog.com` | PostHog Analytics | `connect-src` | Facultatif |
| `tag.clearbitscripts.com` | Suivi Clearbit | `script-src` | Facultatif |
| `cdn.heapanalytics.com` | Heap Analytics | `script-src` | Facultatif |
| `chat.cdn-plain.com` | Widget de chat Plain | `script-src` | Facultatif |
| `chat-assets.frontapp.com` | Widget de chat Front | `script-src` | Facultatif |
| `browser.sentry-cdn.com` | Suivi des erreurs Sentry | `script-src`, `connect-src` | Facultatif |
| `js.sentry-cdn.com` | SDK JavaScript Sentry | `script-src` | Facultatif |
<div id="example-csp-configuration">
## Exemple de configuration CSP
</div>
<Note>
Incluez uniquement les domains des services que vous utilisez. Supprimez tous les domains d’Analytics que vous n’avez pas configurés pour votre documentation.
</Note>
```text wrap
Content-Security-Policy:
default-src 'self';
script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net www.googletagmanager.com cdn.segment.com plausible.io
us.posthog.com tag.clearbitscripts.com cdn.heapanalytics.com chat.cdn-plain.com chat-assets.frontapp.com
browser.sentry-cdn.com js.sentry-cdn.com;
style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net mintlify.s3.us-west-1.amazonaws.com;
connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com
api.mintlifytrieve.com www.googletagmanager.com cdn.segment.com plausible.io us.posthog.com browser.sentry-cdn.com;
frame-src 'self' *.mintlify.dev;
```
<div id="common-configurations-by-proxy-type">
## Configurations courantes selon le type de proxy
</div>
La plupart des reverse proxies prennent en charge l’ajout d’en-têtes personnalisés.
<div id="cloudflare-configuration">
### Configuration Cloudflare
</div>
Créez une règle de transformation des en-têtes de réponse :
1. Dans votre Dashboard Cloudflare, accédez à **Rules > Overview**.
2. Sélectionnez **Create rule > Response Header Transform Rule**.
3. Configurez la règle :
- **Modify response header**: Set static
- **Header name**: `Content-Security-Policy`
- **Header value**:
```text wrap
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net mintlify.s3.us-west-1.amazonaws.com; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;
```
4. Déployez la règle.
<div id="aws-cloudfront-configuration">
### Configuration de AWS CloudFront
</div>
Ajoutez une stratégie d’en-têtes de réponse dans CloudFront :
```json
{
"ResponseHeadersPolicy": {
"Name": "MintlifyCSP",
"Config": {
"SecurityHeadersConfig": {
"ContentSecurityPolicy": {
"ContentSecurityPolicy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net mintlify.s3.us-west-1.amazonaws.com; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;",
"Override": true
}
}
}
}
}
```
<div id="vercel-configuration">
### Configuration de Vercel
</div>
Ajoutez ceci à votre `vercel.json` :
```json
{
"headers": [
{
"source": "/(.*)",
"headers": [
{
"key": "Content-Security-Policy",
"value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net mintlify.s3.us-west-1.amazonaws.com; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;"
}
]
}
]
}
```
<div id="troubleshooting">
## Dépannage
</div>
Identifiez les violations de la CSP dans la console de votre navigateur :
1. Ouvrez les outils de développement de votre navigateur.
2. Accédez à l’onglet **Console**.
3. Recherchez des erreurs commençant par :
- `Content Security Policy: The page's settings blocked the loading of a resource`
- `Refused to load the script/stylesheet because it violates the following Content Security Policy directive`
- `Refused to connect to because it violates the following Content Security Policy directive`