

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à.

# Creazione di un URL firmato utilizzando una policy di accesso predefinita
<a name="private-content-creating-signed-url-canned-policy"></a>

Per creare un URL firmato utilizzando una policy predefinita, completa la procedura seguente.<a name="private-content-creating-signed-url-canned-policy-procedure"></a>

**Creazione di un URL firmato utilizzando una policy predefinita**

1. Se stai usando .NET o Java per creare un file firmato URLs e se non hai riformattato la chiave privata per la tua coppia di chiavi dal formato.pem predefinito a un formato compatibile con.NET o con Java, fallo ora. Per ulteriori informazioni, consulta [Riformattazione della chiave privata (solo .NET e Java)](private-content-trusted-signers.md#private-content-reformatting-private-key).

1. Concatena i seguenti valori. Puoi utilizzare il formato in questo URL firmato di esempio. 

   ```
   {{https://d111111abcdef8.cloudfront.net/image.jpg}}?{{color=red&size=medium&}}Expires={{1767290400}}&Signature={{nitfHRCrtziwO2HwPfWw~yYDhUF5EwRunQA-j19DzZrvDh6hQ73lDx~-ar3UocvvRQVw6EkC~GdpGQyyOSKQim-TxAnW7d8F5Kkai9HVx0FIu-5jcQb0UEmatEXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6}}&Key-Pair-Id={{K2JCJMDEHXQW5F}}&Hash-Algorithm={{SHA256}}
   ```

   Rimuovi tutti gli spazi vuoti (compresi i caratteri di tabulazione e di nuova riga). È possibile che tu debba includere caratteri di escape nella stringa del codice dell'applicazione. Tutti i valori hanno un tipo `String`.  
**1. {{Base URL for the file}}**  
L'URL di base è l' CloudFront URL che utilizzeresti per accedere al file se non utilizzassi signed URLs, inclusi i parametri della stringa di query, se presenti. Nell’esempio precedente, l’URL di base è `https://d111111abcdef8.cloudfront.net/image.jpg`. Per ulteriori informazioni sul formato delle URLs distribuzioni, vedere[Personalizza il formato URL per i file in CloudFront](LinkFormat.md).  
   + L' CloudFront URL seguente riguarda un file di immagine in una distribuzione (utilizzando il nome di CloudFront dominio). Nota che `image.jpg` è una directory `images`. Il percorso al file nell'URL deve corrispondere al percorso al file nel server HTTP o nel bucket Amazon S3.

     `https://d111111abcdef8.cloudfront.net/images/image.jpg`
   + Il seguente CloudFront URL include una stringa di query:

     `https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large`
   + Di seguito CloudFront URLs sono riportati i file di immagine in una distribuzione. Entrambi utilizzano un nome di dominio alternativo. Il secondo include una stringa di query:

     `https://www.example.com/images/image.jpg`

     `https://www.example.com/images/image.jpg?color=red`
   + L' CloudFront URL seguente riguarda un file di immagine in una distribuzione che utilizza un nome di dominio alternativo e il protocollo HTTPS:

     `https://www.example.com/images/image.jpg`  
** 2. `?`**  
Il carattere `?` indica che i parametri di query seguono l’URL di base. Includi il carattere `?` anche senza specificare alcun parametro di query.  
Puoi specificare i seguenti parametri di query in qualsiasi ordine.  
**3. {{Your query string parameters, if any}}`&`**  
(Facoltativo) Puoi immettere parametri della stringa di query personalizzati. A tale scopo, aggiungi una e commerciale (`&`) tra ciascuno di essi, ad esempio `color=red&size=medium`. Puoi specificare parametri della stringa di query in qualsiasi ordine all’interno dell’URL.  
I parametri della stringa di query non possono essere denominati `Expires``Signature`,`Key-Pair-Id`, o`Hash-Algorithm`.  
** 4. `Expires=`{{date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC)}}**  
La data e l'ora in cui desideri che l'URL blocchi l'accesso al file.  
Specifica la data e l'ora di scadenza in formato Unix (in secondi) e UTC. Ad esempio, la data 1 gennaio 2026 10:00 UTC viene convertita in `1767290400` in un formato Unix, come illustrato nell’esempio all’inizio di questo argomento.   
Per usare il tempo epoch, specifica un numero intero a 64 bit per una data non posteriore a `9223372036854775807` (venerdì 11 aprile 2262 alle 23:47:16.854 UTC).  
  
Per informazioni sul formato UTC, consulta [RFC 3339, Date and Time on the Internet: Timestamps](https://tools.ietf.org/html/rfc3339).  
** 5. `&Signature=`{{hashed and signed version of the policy statement}}**  
Una versione con hash, firma e codifica base64 della dichiarazione di policy JSON. Per ulteriori informazioni, consulta [Creazione di una firma per un URL firmato che utilizza una policy di accesso predefinita](#private-content-canned-policy-creating-signature).  
** 6. `&Key-Pair-Id=`{{public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature}}**  
L'ID di una chiave CloudFront pubblica, ad esempio`K2JCJMDEHXQW5F`. L'ID della chiave pubblica indica CloudFront quale chiave pubblica utilizzare per convalidare l'URL firmato. CloudFront confronta le informazioni contenute nella firma con quelle contenute nell'informativa per verificare che l'URL non sia stato manomesso.  
Questa chiave pubblica deve appartenere a un gruppo di chiavi che sia un firmatario attendibile nella distribuzione. Per ulteriori informazioni, consulta [Specificate i firmatari che possono creare cookie firmati e firmati URLs](private-content-trusted-signers.md).  
** 7. `&Hash-Algorithm=`{{SHA1 or SHA256}}**  
(Facoltativo) L'algoritmo hash utilizzato per creare la firma. I valori supportati sono `SHA1` e `SHA256`. Se non si specifica questo parametro, il valore CloudFront predefinito è. `SHA1`

## Creazione di una firma per un URL firmato che utilizza una policy di accesso predefinita
<a name="private-content-canned-policy-creating-signature"></a>

Per creare la firma per un URL firmato che utilizza una policy di accesso predefinita, completa le seguenti procedure.

**Topics**
+ [Creazione di una dichiarazione di policy per un URL firmato che utilizza una policy di accesso predefinita](#private-content-canned-policy-creating-policy-statement)
+ [Creazione di una firma per un URL firmato che utilizza una policy di accesso predefinita](#private-content-canned-policy-signing-policy-statement)

### Creazione di una dichiarazione di policy per un URL firmato che utilizza una policy di accesso predefinita
<a name="private-content-canned-policy-creating-policy-statement"></a>

Quando crei un URL firmato utilizzando una policy predefinita, il parametro `Signature` è una versione con hash e firma di una dichiarazione di policy. Per i criteri firmati URLs che utilizzano una politica predefinita, non includi l'informativa nell'URL, mentre per quelli firmati URLs che utilizzano una politica personalizzata. Per creare una dichiarazione di policy, esegui la procedura descritta di seguito.<a name="private-content-canned-policy-creating-policy-statement-procedure"></a>

**Per creare la dichiarazione di policy per un URL firmato che utilizza una policy predefinita**

1. Crea la dichiarazione di policy utilizzando il formato JSON seguente e la codifica caratteri UTF-8. Includi tutta le punteggiatura e altri valori letterali esattamente come specificato. Per informazioni sui parametri `Resource` e `DateLessThan`, consulta [Valori da specificare in una dichiarazione di policy per un URL firmato che utilizza una policy predefinita](#private-content-canned-policy-statement-values).

   ```
   {
       "Statement": [
           {
               "Resource": "base URL or stream name",
               "Condition": {
                   "DateLessThan": {
                       "AWS:EpochTime": ending date and time in Unix time format and UTC
                   }
               }
           }
       ]
   }
   ```

1. Rimuovi tutti gli spazi vuoti (inclusi i caratteri di nuova riga e le tabulazioni) dalla dichiarazione di policy. È possibile che tu debba includere caratteri di escape nella stringa del codice dell'applicazione.

#### Valori da specificare in una dichiarazione di policy per un URL firmato che utilizza una policy predefinita
<a name="private-content-canned-policy-statement-values"></a>

Quando crei una dichiarazione di policy per una policy predefinita, specifichi i valori seguenti.

**Risorsa**  
Puoi specificare un solo valore per `Resource`.
L'URL di base che include le stringhe di query, se presenti, ma escludendo CloudFront `Expires`, `Signature``Key-Pair-Id`, e `Hash-Algorithm` i parametri, ad esempio:  
`https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes`  
Tenere presente quanto segue:  
+ **Protocollo**: il valore deve iniziare con `http://` o `https://`.
+ **Parametri di stringa di query**: se non hai parametri di stringa di query, ometti il punto di domanda.
+ **Nomi di dominio alternativi**: se specifichi un nome di dominio alternativo (CNAME) nell'URL, devi specificarlo quando fai riferimento al file nella pagina Web o nell'applicazione. Non specificare l'URL di Amazon S3 per l'oggetto.

**DateLessThan**  
La data e l'ora di scadenza per l'URL in formato Unix (in secondi) e UTC. Ad esempio, le 10:00 UTC del 1° gennaio 2026 vengono convertite in 1767290400 nel formato orario Unix.  
Questo valore deve corrispondere al valore del parametro di stringa di query `Expires` nell'URL firmato. Non racchiudere il valore tra virgolette.  
Per ulteriori informazioni, consulta [When CloudFront controlla la data e l'ora di scadenza in un URL firmato](private-content-signed-urls.md#private-content-check-expiration).

#### Esempio di dichiarazione di policy per un URL firmato che utilizza una policy predefinita
<a name="private-content-canned-policy-creating-policy-statement-example"></a>

Quando si utilizza la seguente dichiarazione politica di esempio in un URL firmato, un utente può accedere al file `https://d111111abcdef8.cloudfront.net/horizon.jpg` fino alle 10:00 UTC del 1° gennaio 2026:

```
{
    "Statement": [
        {
            "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes",
            "Condition": {
                "DateLessThan": {
                    "AWS:EpochTime": 1767290400
                }
            }
        }
    ]
}
```

### Creazione di una firma per un URL firmato che utilizza una policy di accesso predefinita
<a name="private-content-canned-policy-signing-policy-statement"></a>

Per creare il valore per il parametro `Signature` in un URL firmato, devi sottoporre a hashing e firmare la dichiarazione di policy creata in [Creazione di una dichiarazione di policy per un URL firmato che utilizza una policy di accesso predefinita](#private-content-canned-policy-creating-policy-statement).

Per ulteriori informazioni ed esempi su come sottoporre a hashing, firmare e codificare la dichiarazione di policy, consulta:
+ [Comandi Linux e OpenSSL per la crittografia e la codifica base64](private-content-linux-openssl.md)
+ [Codice di esempio per la creazione di una firma per un URL firmato](PrivateCFSignatureCodeAndExamples.md)

**Nota**  
Gli esempi collegati utilizzano SHA-1 per impostazione predefinita. Per utilizzare invece SHA-256, sostituiscilo `sha1` con `sha256` nei comandi OpenSSL e includi il parametro di `Hash-Algorithm=SHA256` query nell'URL firmato.<a name="private-content-canned-policy-creating-signature-download-procedure"></a>

**Opzione 1: per creare una firma utilizzando una policy predefinita**

1. Utilizzate la funzione hash SHA-1 o SHA-256 e la chiave privata RSA o ECDSA generata per eseguire l'hash e firmare la dichiarazione di policy creata nella procedura. [Per creare la dichiarazione di policy per un URL firmato che utilizza una policy predefinita](#private-content-canned-policy-creating-policy-statement-procedure) Utilizza la versione della dichiarazione di policy che non include più spazi vuoti.

   Se si utilizza SHA-256, è necessario includerlo nell'URL firmato. `&Hash-Algorithm=SHA256`

   Per la chiave privata richiesta dalla funzione hash, utilizza una chiave privata la cui chiave pubblica si trova in un gruppo di chiavi attendibili attivo per la distribuzione.
**Nota**  
Il metodo utilizzato per sottoporre a hashing e firmare la dichiarazione di policy dipende dalla piattaforma e dal linguaggio di programmazione. Per il codice di esempio, consulta [Codice di esempio per la creazione di una firma per un URL firmato](PrivateCFSignatureCodeAndExamples.md).

1. Rimuovi gli spazi vuoti (inclusi i caratteri di nuova riga e le tabulazioni) dalla stringa con hash e firmata.

1. Codifica la stringa utilizzando la codifica base64 MIME. Per ulteriori informazioni, vedere [Sezione 6.8, Base64 Content-Transfer-Encoding in RFC 2045,](https://tools.ietf.org/html/rfc2045#section-6.8) *MIME (Multipurpose Internet Mail Extensions), parte prima: Formato dei corpi dei messaggi Internet*.

1. Sostituisci i caratteri non validi nella stringa di query dell'URL con caratteri validi. La tabella seguente elenca i caratteri validi e non validi.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-canned-policy.html)

1. Aggiungi il valore risultante all'URL firmato dopo `&Signature=` e ritorna a [Creazione di un URL firmato utilizzando una policy predefinita](#private-content-creating-signed-url-canned-policy-procedure) per completare il concatenamento delle parti dell'URL firmato.