

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden einer Inhaltssicherheitsrichtlinie mit der Amazon Chime SDK-Clientbibliothek für JavaScript
<a name="content-security"></a>

Moderne Webanwendungen verwenden eine Inhaltssicherheitsrichtlinie, um Benutzer vor bestimmten Arten von Angriffen zu schützen. Anwendungen, die die verwenden, `VideoFxProcessor` müssen die in diesem Abschnitt beschriebenen Richtlinienrichtlinien enthalten. Die Direktiven gewähren dem Amazon Chime SDK Zugriff auf die Ressourcen, die es zur Laufzeit benötigt.

**Topics**
+ [Erforderliche Richtlinien zur Inhaltssicherheitsrichtlinie](#required-csp)
+ [Beispiel für eine Richtlinie zur Inhaltssicherheit](#example-csp)
+ [Fehler in der Inhaltssicherheitsrichtlinie](#csp-errors)
+ [Cross-origin Sicherheitsrichtlinie für Opener Content](#cross-origin-policy)

## Erforderliche Richtlinien zur Inhaltssicherheitsrichtlinie
<a name="required-csp"></a>

Sie müssen die folgenden Richtlinien für Inhaltssicherheitsrichtlinien verwenden.
+ Zum `script-src:` Hinzufügen`blob: https://*.sdkassets.chime.aws`, um den Videoverarbeitungscode `wasm-unsafe-eval` zu laden und seine Ausführung zu ermöglichen. 
+ Zum `script-src-elem:` Hinzufügen `blob:``https://*.sdkassets.chime.aws`, um den Videoverarbeitungscode aus der Quelle zu laden.
+ Zum `worker-src:` Hinzufügen`blob: https://*.sdkassets.chime.aws`, um den Worker JavaScript ursprungsübergreifend zu laden.

Wenn Sie einen dieser Einträge weglassen oder HTTP-Header und `http-equiv` Metatags verwenden, um eine Richtlinie zu spezifizieren und versehentlich einen dieser Einträge aufgrund von Überschneidungen ausschließen, kann ein Hintergrundfilter nicht initialisiert werden. Der Filter scheint nicht unterstützt zu werden, oder er erzeugt einen No-Op-Videoframe-Prozessor. In Ihrer Browserkonsole werden Fehler angezeigt, wie z. B.:

```
Refused to connect to
'https://static.sdkassets.chime.aws/bgblur/workers/worker.js…'
because it violates the document's content security policy.
```

### Erforderliche Richtlinien für Skriptrichtlinien
<a name="required-script"></a>

Um zu funktionieren, muss die `VideoFxProcessor` Klasse zur Laufzeit JavaScript Klassen aus einem Amazon Content Delivery Network laden. Diese Klassen verwenden WebGL2, um die Nachbearbeitung von Videos zu implementieren. Damit eine Anwendung diese Klassen abrufen und ausführen kann, müssen Sie die folgenden Anweisungen angeben:
+ `script-src 'self' blob: https://*.sdkassets.chime.aws`
+ `script-src-elem 'self' blob: https://*.sdkassets.chime.aws`

**Anmerkung**  
Für die vollständige Unterstützung von Safari und Firefox müssen Sie die `script-src-elem` Direktiven `script-src` und verwenden.

### Richtlinie zur Arbeitnehmerpolitik
<a name="required-worker"></a>

Die `VideoFxProcessor` lädt JavaScript Klassen als Blob, um einen Web-Worker-Thread auszuführen. Der Thread verwendet Modelle für maschinelles Lernen, um Videos zu verarbeiten. Um einer Anwendung Zugriff auf das Abrufen und Verwenden dieses Workers zu gewähren, fügen Sie die folgende Anweisung hinzu:

`worker-src 'self' blob: https://*.sdkassets.chime.aws`

### WebAssembly Richtlinie
<a name="required-web-assembly"></a>

Die `VideoFxProcessor` lädt ein WebAssembly (WASM-) Modul aus demselben Amazon-owned Content Delivery Network. In Chrome 95 und höher können kompilierte WASM-Module nicht über mehrere Modulgrenzen hinweg weitergegeben werden. Um das Abrufen und Instanziieren dieser Module zu ermöglichen, fügen Sie sie in die Direktive ein`'wasm-unsafe-eval'`. `script-src`

Weitere Informationen zur Dokumentation der Content Security Policy für WebAssembly finden Sie unter [WebAssembly Content Security](https://github.com/WebAssembly/content-security-policy/blob/main/proposals/CSP.md) Policy unter. GitHub

### (Optional) Richtlinie zur Richtlinie „Hintergrundbild“
<a name="optional-directives"></a>

Um ein dynamisch geladenes Hintergrundbild mit einem Ersatzfilter für den Hintergrund zu verwenden, `VideoFxProcessor` müssen sie Zugriff auf das Bild haben. Fügen Sie dazu der Domain, die das Bild hostet, eine `connect-src` Direktive hinzu.

## Beispiel für eine Richtlinie zur Inhaltssicherheit
<a name="example-csp"></a>

Mit der folgenden Beispielrichtlinie können Sie die verwenden`VideoFxProcessor`. Die `connect-src` Definitionen sind nicht spezifisch für `VideoFxProcessor` a. Stattdessen beziehen sie sich auf die Audio- und Videodaten eines Amazon Chime SDK-Meetings.

```
<head>
    <meta http-equiv="Content-Security-Policy" 
        content="base-uri 'self';    
        connect-src       'self' https://*.chime.aws wss://*.chime.aws https://*.amazonaws.com wss://*.chime.aws https://*.ingest.chime.aws;
        script-src        'self' blob: 'wasm-unsafe-eval' https://*.sdkassets.chime.aws; 
        script-src-elem   'self' blob: https://*.sdkassets.chime.aws;
        worker-src        'self' blob: https://*.sdkassets.chime.aws;">
</head>
```

## Fehler in der Inhaltssicherheitsrichtlinie
<a name="csp-errors"></a>

Wenn Sie eine der erforderlichen Anweisungen weglassen, `VideoFxProcessor` werden sie nicht instanziiert und nicht unterstützt. In diesem Fall wird der folgende (oder ein ähnlicher) Fehler in der Browserkonsole angezeigt:

```
Refused to connect to
'https://static.sdkassets.chime.aws/ml_media_fx/otherassets/worker.js'
because it violates the document's content security policy.
```

## Cross-origin Sicherheitsrichtlinie für Opener Content
<a name="cross-origin-policy"></a>

Um die Speichernutzung zu begrenzen, verwendet das Modul bevorzugt a `SharedArrayBuffer` für die Verarbeitung. Dies erfordert jedoch, dass Sie die Websicherheit sorgfältig konfigurieren. Sie müssen die folgenden Header festlegen, wenn Sie den HTML-Code Ihrer Anwendung bereitstellen:

```
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
```

Der Server muss diese festlegen, da sie keine Metatag-Entsprechungen haben. Wenn Sie diese Header nicht festlegen, verbrauchen die Hintergrundfilter möglicherweise etwas mehr RAM. 

Hintergrundfilter können CPU-intensive und GPU-intensive sein. Einige Mobilgeräte und Laptops oder Desktop-Computer mit niedrigerer Spezifikation sind möglicherweise nicht in der Lage, die Filter zusammen mit mehreren Videostreams auszuführen.