

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di una politica di sicurezza dei contenuti con la libreria client Amazon Chime SDK per JavaScript
<a name="content-security"></a>

Le moderne applicazioni Web utilizzano una politica di sicurezza dei contenuti per proteggere gli utenti da determinate classi di attacchi. Le applicazioni che utilizzano il `VideoFxProcessor` devono includere le direttive politiche descritte in questa sezione. Le direttive consentono all'SDK Amazon Chime di accedere alle risorse di cui ha bisogno in fase di esecuzione.

**Topics**
+ [Direttive obbligatorie sulla politica di sicurezza dei contenuti](#required-csp)
+ [Esempio di politica di sicurezza dei contenuti](#example-csp)
+ [Errori delle politiche di sicurezza dei contenuti](#csp-errors)
+ [Cross-origin politica di sicurezza dei contenuti di opener](#cross-origin-policy)

## Direttive obbligatorie sulla politica di sicurezza dei contenuti
<a name="required-csp"></a>

È necessario utilizzare le seguenti direttive relative alla politica di sicurezza dei contenuti.
+ Per `script-src:` aggiungere `blob: https://*.sdkassets.chime.aws` al caricamento del codice di elaborazione video e `wasm-unsafe-eval` consentirne l'esecuzione. 
+ Per `script-src-elem:` aggiungere o `blob:` `https://*.sdkassets.chime.aws` caricare il codice di elaborazione video dal sorgente.
+ Per `worker-src:` `blob: https://*.sdkassets.chime.aws` aggiungere un worker a JavaScript più origini.

Se ometti una di queste voci o se usi intestazioni e `http-equiv` meta tag HTTP per specificare una policy e le escludi inavvertitamente per intersezione, non sarà possibile inizializzare un filtro in background. Il filtro sembra non essere supportato oppure crea un processore di frame video no-op. Nella console del browser verranno visualizzati errori come:

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

### Direttive necessarie per la politica degli script
<a name="required-script"></a>

Per funzionare, la `VideoFxProcessor` classe deve caricare JavaScript le classi in fase di esecuzione da una rete di distribuzione di contenuti Amazon. Queste classi utilizzano WebGL2 per implementare la post-elaborazione per i video. Per consentire a un'applicazione di recuperare ed eseguire queste classi, è necessario includere le seguenti direttive:
+ `script-src 'self' blob: https://*.sdkassets.chime.aws`
+ `script-src-elem 'self' blob: https://*.sdkassets.chime.aws`

**Nota**  
Per il supporto completo su Safari e Firefox, è necessario utilizzare le direttive `script-src` and`script-src-elem`.

### Direttiva sulla politica dei lavoratori
<a name="required-worker"></a>

`VideoFxProcessor`Carica le JavaScript classi come blob per eseguire un thread di lavoro Web. Il thread utilizza modelli di apprendimento automatico per elaborare i video. Per concedere a un'applicazione l'accesso per il recupero e l'utilizzo di questo worker, includi la seguente direttiva:

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

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

`VideoFxProcessor`Carica un modulo WebAssembly (WASM) dalla stessa rete di distribuzione Amazon-owned dei contenuti. In Chrome 95 e versioni successive, i moduli WASM compilati non possono essere trasferiti attraverso i limiti di più moduli. Per consentire il recupero e l'istanziazione di questi moduli, `'wasm-unsafe-eval'` includeteli nella direttiva. `script-src`

Per ulteriori informazioni sulla documentazione della Content Security Policy per WebAssembly, consulta [WebAssembly Content Security](https://github.com/WebAssembly/content-security-policy/blob/main/proposals/CSP.md) Policy su. GitHub

### (Facoltativo) Direttiva sulla politica relativa alle immagini di sfondo
<a name="optional-directives"></a>

Per utilizzare un'immagine di sfondo caricata dinamicamente con un filtro di sostituzione dello sfondo, è `VideoFxProcessor` necessario avere accesso all'immagine. Per fare ciò, includi una `connect-src` direttiva con il dominio che ospita l'immagine.

## Esempio di politica di sicurezza dei contenuti
<a name="example-csp"></a>

La seguente politica di esempio consente di utilizzare il`VideoFxProcessor`. Le `connect-src` definizioni non sono specifiche di a`VideoFxProcessor`. Sono invece correlati all'audio e al video di una riunione Amazon Chime SDK.

```
<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>
```

## Errori delle politiche di sicurezza dei contenuti
<a name="csp-errors"></a>

Se ometti una delle direttive richieste, questa non verrà istanziata e non `VideoFxProcessor` sarà supportata. In tal caso, nella console del browser viene visualizzato il seguente errore (o simile):

```
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 politica di sicurezza dei contenuti di opener
<a name="cross-origin-policy"></a>

Per limitare l'utilizzo della memoria, il modulo preferisce utilizzare un `SharedArrayBuffer` per l'elaborazione. Tuttavia, ciò richiede una configurazione attenta della sicurezza web. È necessario impostare le seguenti intestazioni quando si pubblica l'HTML dell'applicazione:

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

Il server deve impostarli perché non hanno meta-tag equivalenti. Se non imposti queste intestazioni, i filtri di sfondo potrebbero utilizzare un po' più di RAM. 

I filtri di sfondo possono essere CPU-intensive e GPU-intensive. Alcuni dispositivi mobili e computer portatili o desktop con specifiche inferiori potrebbero non essere in grado di eseguire i filtri insieme a più flussi video.