Manifest - Inhoudsbeveiligingsbeleid

Een optionele manifestsleutel die een inhoudbeveiligingsbeleid voor het webplatform bevat dat beperkingen specificeert voor de scripts, stijlen en andere bronnen die een extensie kan gebruiken. Binnen deze manifestsleutel kan afzonderlijk optioneel beleid worden gedefinieerd voor zowel extensiepagina's als extensiepagina's in de sandbox.

Het beleid 'extensiepagina's' is van toepassing op pagina- en werkcontexten in de extensie. Dit omvat onder meer de pop-up van de extensie, de achtergrondwerker en tabbladen met HTML-pagina's of iframes die door de extensie zijn geopend. Het sandboxbeleid is van toepassing op alle pagina's die in het manifest als sandboxpagina zijn opgegeven.

Standaardbeleid

Als het inhoudsbeveiligingsbeleid niet door de gebruiker in het manifest is gedefinieerd, worden de standaardeigenschappen gebruikt voor zowel extensiepagina's als extensiepagina's in de sandbox.

Deze standaardwaarden komen overeen met het opgeven van het volgende beleid in uw manifest:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self';",
    "sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
  }
  // ...
}

In dit geval laadt de extensie alleen lokale scripts en objecten uit de eigen verpakte bronnen. WebAssembly wordt uitgeschakeld en de extensie voert geen inline Javascript uit en kan geen tekenreeksen evalueren als uitvoerbare code. Als er een sandboxpagina wordt toegevoegd, heeft deze soepelere machtigingen voor het evalueren van scripts van buiten de extensie.

Minimaal en aangepast inhoudbeveiligingsbeleid

Ontwikkelaars kunnen regels voor hun extensie toevoegen of verwijderen, of het minimaal vereiste inhoudbeveiligingsbeleid gebruiken, afhankelijk van de behoeften van hun project.

Beleid voor extensiepagina's

Chrome handhaaft een minimaal inhoudsbeveiligingsbeleid voor extensiepagina's. Het komt overeen met het opgeven van het volgende beleid in uw manifest:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
  }
  // ...
}

Het extension_pages beleid kan niet worden versoepeld boven deze minimumwaarde. Met andere woorden, u kunt geen andere scriptbronnen aan richtlijnen toevoegen, zoals het toevoegen van 'unsafe-eval' aan script-src . Als u een niet-toegestane bron aan het beleid van uw extensie toevoegt, genereert Chrome tijdens de installatie een foutmelding als deze:

'content_security_policy.extension_pages': Insecure CSP value "'unsafe-eval'" in directive 'script-src'.

Beleid voor sandboxpagina's

Het standaardbeleid voor pagina's in de sandbox is veel soepeler dan voor extensiepagina's, omdat de sandboxpagina geen toegang heeft tot extensie-API's of directe toegang tot niet-sandboxpagina's. Het sandbox-inhoudbeveiligingsbeleid kan indien nodig worden aangepast.