Specificate i firmatari che possono creare cookie firmati e firmati URLs - Amazon CloudFront

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

Specificate i firmatari che possono creare cookie firmati e firmati URLs

Per creare cookie firmati URLs o firmati, è necessario un firmatario. Un firmatario è un gruppo di chiavi attendibile in cui CloudFront crei o un AWS account che contiene una coppia di CloudFront chiavi. Ti consigliamo di utilizzare gruppi di chiavi affidabili con cookie firmati URLs e firmati. Per ulteriori informazioni, consulta Scegli tra gruppi di chiavi affidabili (consigliato) e Account AWS.

Il firmatario ha due scopi:

  • Non appena aggiungi il firmatario alla tua distribuzione, CloudFront inizia a richiedere che gli spettatori utilizzino cookie firmati URLs o firmati per accedere ai tuoi file.

  • Quando crei cookie firmati URLs o firmati, utilizzi la chiave privata della coppia di chiavi del firmatario per firmare una parte del cookie URL o del cookie. Quando qualcuno richiede un file con restrizioni, CloudFront confronta la firma nel cookie URL o nel cookie non firmatoURL, per verificare che non sia stata manomessa. CloudFront verifica inoltre che il cookie URL or sia valido, vale a dire, ad esempio, che la data e l'ora di scadenza non siano trascorse.

Quando specifichi un firmatario, specifichi anche indirettamente i file che richiedono cookie firmati URLs o firmati aggiungendo il firmatario a un comportamento di cache. Se la tua distribuzione ha un solo comportamento nella cache, gli utenti devono utilizzare cookie firmati URLs o firmati per accedere a qualsiasi file della distribuzione. Se crei più comportamenti di cache e aggiungi firmatari ad alcuni comportamenti di cache e non ad altri, puoi richiedere che gli utenti utilizzino i cookie firmati URLs o firmati per accedere ad alcuni file e non ad altri.

Per specificare i firmatari (le chiavi private) autorizzati a creare cookie firmati URLs o firmati e per aggiungere i firmatari alla tua CloudFront distribuzione, esegui le seguenti operazioni:

  1. Decidi se utilizzare un gruppo di chiavi attendibile o un altro Account AWS come firmatario. Ti consigliamo di utilizzare un gruppo di chiavi attendibile. Per ulteriori informazioni, consulta Scegli tra gruppi di chiavi affidabili (consigliato) e Account AWS.

  2. Per il firmatario scelto nel passaggio 1, crea una coppia di chiavi pubbliche-private. Per ulteriori informazioni, consulta Crea coppie di chiavi per i tuoi firmatari.

  3. Se stai usando. NETo Java per creare cookie firmati URLs o firmati, riformatta la chiave privata. Per ulteriori informazioni, consulta Riformatta la chiave privata (. NETe solo Java).

  4. Nella distribuzione per la quale stai creando cookie firmati URLs o firmati, specifica il firmatario. Per ulteriori informazioni, consulta Aggiungi un firmatario a una distribuzione.

Scegli tra gruppi di chiavi affidabili (consigliato) e Account AWS

Per utilizzare i cookie firmati URLs o firmati, è necessario un firmatario. Un firmatario è un gruppo di chiavi attendibile in CloudFront cui crei o un gruppo Account AWS che contiene una coppia di CloudFront chiavi. Ti consigliamo di utilizzare i gruppi di chiavi attendibili per i seguenti motivi:

  • Con i gruppi di CloudFront chiavi, non è necessario utilizzare l' AWS account utente root per gestire le chiavi pubbliche per i cookie CloudFront firmati URLs e firmati. AWS le migliori pratiche consigliano di non utilizzare l'utente root quando non è necessario.

  • Con i gruppi di CloudFront chiavi, puoi gestire chiavi pubbliche, gruppi di chiavi e firmatari attendibili utilizzando. CloudFront API È possibile utilizzare il API per automatizzare la creazione e la rotazione delle chiavi. Quando si utilizza l'utente AWS root, è necessario utilizzare il per AWS Management Console gestire le coppie di CloudFront chiavi, quindi non è possibile automatizzare il processo.

  • Poiché puoi gestire i gruppi di chiavi con CloudFront API, puoi anche utilizzare le politiche di autorizzazione AWS Identity and Access Management (IAM) per limitare ciò che i diversi utenti sono autorizzati a fare. Ad esempio, puoi consentire agli utenti di caricare chiavi pubbliche, ma non eliminarle. In alternativa, puoi consentire agli utenti di eliminare le chiavi pubbliche, ma solo quando vengono soddisfatte determinate condizioni, ad esempio l'utilizzo dell'autenticazione a più fattori, l'invio della richiesta da una determinata rete o l'invio della richiesta entro un determinato intervallo di data e ora.

  • Con i gruppi di CloudFront chiavi, puoi associare un numero maggiore di chiavi pubbliche alla tua CloudFront distribuzione, offrendoti una maggiore flessibilità nel modo in cui utilizzi e gestisci le chiavi pubbliche. Per impostazione predefinita, puoi associare fino a quattro gruppi di chiavi a una singola distribuzione e disporre di un massimo di cinque chiavi pubbliche in un gruppo di chiavi.

    Quando si utilizza l'utente root dell' AWS account per gestire le coppie di CloudFront chiavi, è possibile avere solo fino a due coppie di CloudFront chiavi attive per AWS account.

Crea coppie di chiavi per i tuoi firmatari

Ogni firmatario utilizzato per creare cookie CloudFront firmati URLs o firmati deve disporre di una coppia di key pair pubblica-privata. Il firmatario utilizza la propria chiave privata per firmare i URL cookie e CloudFront utilizza la chiave pubblica per verificare la firma.

Il modo in cui si crea una coppia di chiavi dipende dal fatto che si utilizzi un gruppo di chiavi attendibile come firmatario (consigliato) o una coppia di CloudFront chiavi. Per ulteriori informazioni, consultare le sezioni indicate di seguito. La coppia di chiavi creata deve soddisfare i seguenti requisiti:

  • Deve essere una coppia di RSA chiavi SSH -2.

  • Deve essere in formato con codifica base64PEM.

  • Deve essere una coppia di chiavi a 2048 bit.

Per proteggere le applicazioni, ti consigliamo di ruotare periodicamente le coppie di chiavi. Per ulteriori informazioni, consulta Rotazione di coppie di chiavi.

Crea una coppia di chiavi per un gruppo di chiavi attendibile (scelta consigliata)

Per creare una coppia di chiavi per un gruppo di chiavi attendibile, attieniti alla seguente procedura:

  1. Creare la coppia di chiavi pubbliche-private.

  2. Carica la chiave pubblica su. CloudFront

  3. Aggiungi la chiave pubblica a un gruppo di CloudFront chiavi.

Per ulteriori informazioni, consulta le procedure seguenti.

Per creare una coppia di chiavi
Nota

Nei passaggi seguenti viene utilizzato Open SSL come esempio di un modo per creare una coppia di key pair. Esistono molti altri modi per creare una RSA key pair.

  1. Il comando di esempio seguente utilizza Open SSL per generare una coppia di RSA key pair con una lunghezza di 2048 bit e salvarla nel file denominato. private_key.pem

    openssl genrsa -out private_key.pem 2048
  2. Il file risultante contiene la chiave pubblica e quella privata. Il comando di esempio seguente estrae la chiave pubblica dal file denominato private_key.pem.

    openssl rsa -pubout -in private_key.pem -out public_key.pem

    Puoi caricare la chiave pubblica (nel file public_key.pem) in un secondo momento, nella procedura seguente.

Per caricare la chiave pubblica in CloudFront
  1. Accedi a AWS Management Console e apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Nel menu di navigazione, scegli Public keys (Chiavi pubbliche).

  3. Scegli Crea chiave pubblica.

  4. Nella finestra Crea chiave pubblica, procedi come segue:

    1. In Key name (Nome chiave), digita un nome per identificare la chiave pubblica.

    2. In Key value (Valore chiave), incolla la chiave pubblica. Se hai seguito i passaggi descritti nella procedura precedente, la chiave pubblica si trova nel file denominato public_key.pem. Per copiare e incollare il contenuto della chiave pubblica, puoi procedere come segue:

      • Usa il comando cat sulla riga di comando macOS o Linux, in questo modo:

        cat public_key.pem

        Copia l'output di quel comando, quindi incollalo nel campo Key value (Valore chiave).

      • Apri il public_key.pem file con un editor di testo semplice come Notepad (su Windows) o (su macOS). TextEdit Copia il contenuto del file, quindi incollalo nel campo Key value (Valore chiave).

    3. (Facoltativo) Per Comment (Commento), aggiungi un commento per descrivere la chiave pubblica.

    Al termine, scegli Add (Aggiungi).

  5. Registra l'ID della chiave pubblica. Lo utilizzerai in seguito quando crei cookie firmati URLs o firmati, come valore del campo. Key-Pair-Id

Per aggiungere la chiave pubblica a un gruppo di chiavi
  1. Apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Nel menu di navigazione, scegli Key groups (Gruppi di chiavi).

  3. Scegli Add key group (Aggiungi gruppo di chiavi).

  4. Nella pagina Create key group (Crea gruppo di chiavi) effettua le operazioni seguenti:

    1. In Key group name (Nome gruppo di chiavi), digita un nome per identificare il gruppo di chiavi.

    2. (Facoltativo) Per Comment (Commento), digita un commento per descrivere il gruppo di chiavi.

    3. Per Public keys (Chiavi pubbliche), seleziona la chiave pubblica da aggiungere al gruppo di chiavi, quindi scegli Add (Aggiungi). Ripeti questo passaggio per ogni chiave pubblica che desideri aggiungere al gruppo di chiavi.

  5. Scegli Create key group (Crea gruppo di chiavi).

  6. Registra il nome del gruppo di chiavi. La si usa in seguito per associare il gruppo di chiavi a un comportamento della cache in una CloudFront distribuzione. (In CloudFront API, si utilizza l'ID del gruppo di chiavi per associare il gruppo di chiavi a un comportamento della cache.)

Importante

Ti consigliamo di creare una chiave pubblica per un gruppo di chiavi attendibili invece della seguente procedura. Per il metodo consigliato per creare chiavi pubbliche per i cookie firmati URLs e firmati, consultaCrea una coppia di chiavi per un gruppo di chiavi attendibile (scelta consigliata).

È possibile creare una CloudFront key pair nei seguenti modi:

Per creare coppie di CloudFront chiavi in AWS Management Console
  1. Accedi AWS Management Console utilizzando le credenziali dell' AWS account utente root.

    Importante

    IAMgli utenti non possono creare coppie di CloudFront chiavi. Devi accedere utilizzando le credenziali utente root per creare coppie di chiavi.

  2. Scegli il nome dell'account, quindi scegli My Security Credentials (Le mie credenziali di sicurezza).

  3. Scegli coppie di CloudFront chiavi.

  4. Conferma di non avere più di una coppia di chiavi attiva. Non puoi creare una coppia di chiavi se hai già due coppie di chiavi attive.

  5. Scegli Create New Key Pair (Crea nuova coppia di chiavi).

    Nota

    Puoi anche scegliere di creare la tua coppia di chiavi e caricare la chiave pubblica. CloudFront le coppie di chiavi supportano chiavi a 1024, 2048 o 4096 bit.

  6. Nella finestra di dialogo Create Key Pair (Crea coppia di chiavi) scegli Download Private Key File (Scarica il file della chiave privata), quindi salva il file nel computer.

    Importante

    Salva la chiave privata per la tua coppia di CloudFront chiavi in una posizione sicura e imposta le autorizzazioni sul file in modo che solo gli amministratori desiderati possano leggerlo. Se qualcuno ottiene la tua chiave privata, può generare cookie firmati URLs e firmati validi e scaricare i tuoi contenuti. Non è possibile recuperare nuovamente la chiave privata, quindi se la si perde o la si elimina, è necessario creare una nuova coppia di CloudFront chiavi.

  7. Registra l'ID per la tua coppia di chiavi. (Nel AWS Management Console, questo è chiamato Access Key ID.) Lo utilizzerai quando crei cookie firmati URLs o firmati.

Riformatta la chiave privata (. NETe solo Java)

Se stai usando. NETo Java per creare cookie firmati URLs o firmati, non è possibile utilizzare la chiave privata della coppia di chiavi nel PEM formato predefinito per creare la firma. Effettua invece le seguenti operazioni:

  • . NETframework: converte la chiave privata nel XML formato in cui è. NETusi del framework. Sono disponibili vari strumenti per eseguire la conversione.

  • Java: converte la chiave privata in DER formato. Un modo per farlo è con il seguente SSL comando Open. Nel comando seguente, private_key.pem è il nome del file che contiene la chiave privata PEM -formatted ed private_key.der è il nome del file che contiene la chiave privata DER -formatted dopo l'esecuzione del comando.

    openssl pkcs8 -topk8 -nocrypt -in private_key.pem -inform PEM -out private_key.der -outform DER

    Per assicurarti che l'encoder funzioni correttamente, aggiungi la crittografia Java Bouncy JAR Castle al tuo progetto, quindi aggiungi il provider Bouncy APIs Castle.

Aggiungi un firmatario a una distribuzione

Un firmatario è il gruppo di chiavi attendibile (consigliato) o CloudFront la coppia di chiavi che può creare cookie firmati URLs e firmati per una distribuzione. Per utilizzare i cookie firmati URLs o firmati con una CloudFront distribuzione, devi specificare un firmatario.

I firmatari sono associati ai comportamenti cache. Ciò consente di richiedere cookie firmati URLs o firmati per alcuni file e non per altri della stessa distribuzione. Una distribuzione richiede cookie firmati URLs o cookie solo per i file associati ai comportamenti di cache corrispondenti.

Analogamente, un firmatario può firmare URLs o utilizzare cookie solo per i file associati ai comportamenti di cache corrispondenti. Ad esempio, se hai un firmatario per un comportamento di cache e un firmatario diverso per un diverso comportamento di cache, nessuno dei due firmatari può creare cookie firmati URLs o cookie per i file associati all'altro comportamento di cache.

Importante

Prima di aggiungere un firmatario alla distribuzione, effettua le seguenti operazioni:

  • Definisci con attenzione i pattern di percorso nei comportamenti cache e la sequenza dei comportamenti cache in modo da non concedere agli utenti l'accesso non intenzionale al contenuto o impedisca loro di accedere ai contenuti che desideri essere disponibili per tutti.

    Ad esempio, supponiamo che una richiesta corrisponda al modello di percorso per due comportamenti cache. Il primo comportamento di cache non richiede cookie firmati URLs o firmati, mentre il secondo lo richiede. Gli utenti saranno in grado di accedere ai file senza utilizzare cookie firmati URLs o firmati perché CloudFront elabora il comportamento della cache associato alla prima corrispondenza.

    Per ulteriori informazioni sui modelli di percorso, consulta Modello di percorso.

  • Per una distribuzione che stai già utilizzando per distribuire contenuti, assicurati di essere pronto a iniziare a generare cookie firmati URLs e firmati prima di aggiungere un firmatario. Quando aggiungi un firmatario, CloudFront rifiuta le richieste che non includono un cookie firmato URL o firmato valido.

Puoi aggiungere firmatari alla tua distribuzione utilizzando la CloudFront console o il. CloudFront API

Console

La procedura seguente illustra come aggiungere un gruppo di chiavi attendibili come firmatario. Puoi anche aggiungerne uno Account AWS come firmatario attendibile, ma non è consigliato.

Per aggiungere un firmatario a una distribuzione utilizzando la console
  1. Registra l'ID gruppo di chiavi del gruppo di chiavi che desideri utilizzare come firmatario attendibile. Per ulteriori informazioni, consulta Crea una coppia di chiavi per un gruppo di chiavi attendibile (scelta consigliata).

  2. Apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  3. Scegli la distribuzione di cui desideri proteggere i file con cookie firmati URLs o firmati.

    Nota

    Per aggiungere un firmatario a una nuova distribuzione, specifica le stesse impostazioni descritte nel passaggio 6 per la creazione della distribuzione.

  4. Scegli la scheda Behaviors (Comportamenti).

  5. Seleziona il comportamento della cache il cui modello di percorso corrisponde ai file che desideri proteggere con cookie firmati URLs o firmati, quindi scegli Modifica.

  6. Nella pagina Edit Behavior (Modifica comportamento) effettua le operazioni seguenti:

    1. Per Limita l'accesso degli spettatori (utilizza cookie firmati URLs o firmati), scegli .

    2. Per Trusted Key Groups or Trusted Signer (Gruppi di chiavi attendibili o Firmatari attendibili), scegli Trusted Key Groups (Gruppi di chiavi attendibili)

    3. Per Trusted Key Groups (Gruppi di chiavi attendibili), scegli il gruppo di chiavi da aggiungere, quindi scegli Add (Aggiungi). Ripeti l'operazione se desideri aggiungere più di un gruppo di chiavi.

  7. Scegli Yes, Edit (Sì, Modifica) per aggiornare il comportamento cache.

API

Puoi utilizzare il CloudFront API per aggiungere un gruppo di chiavi attendibile come firmatario. Puoi aggiungere un firmatario a una distribuzione esistente o a una nuova distribuzione. In entrambi i casi, specifica i valori nell'elemento TrustedKeyGroups.

Puoi anche aggiungerne uno Account AWS come firmatario attendibile, ma non è consigliato.

Consulta i seguenti argomenti in Amazon CloudFront API Reference:

Rotazione di coppie di chiavi

Ti consigliamo di ruotare (modificare) periodicamente le coppie di chiavi per i cookie firmati URLs e firmati. Per ruotare le coppie di chiavi che utilizzi per creare cookie firmati URLs o firmati senza invalidarli URLs o cookie che non sono ancora scaduti, esegui le seguenti operazioni:

  1. Crea una nuova coppia di chiavi e aggiungi la chiave pubblica a un gruppo di chiavi. Per ulteriori informazioni, consulta Crea una coppia di chiavi per un gruppo di chiavi attendibile (scelta consigliata).

  2. Se nel passaggio precedente hai creato un nuovo gruppo di chiavi, aggiungi il gruppo di chiavi alla distribuzione come firmatario.

    Importante

    Non rimuovere le chiavi pubbliche esistenti dal gruppo di chiavi o i gruppi di chiavi dalla distribuzione. Aggiungi solo nuovi elementi.

  3. Aggiorna la tua applicazione per creare firme utilizzando la chiave privata della nuova coppia di chiavi. Verifica che i cookie firmati URLs o quelli firmati con le nuove chiavi private funzionino.

  4. Attendi che sia trascorsa la data di scadenza URLs o che i cookie siano stati firmati utilizzando la chiave privata precedente. Quindi rimuovi la vecchia chiave pubblica dal gruppo di chiavi. Se hai creato un nuovo gruppo di chiavi nel passaggio 2, rimuovi il vecchio gruppo di chiavi dalla distribuzione.