Limita l'accesso a un' AWS Elemental MediaStore origine - 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à.

Limita l'accesso a un' AWS Elemental MediaStore origine

CloudFront fornisce il controllo dell'accesso all'origine (OAC) per limitare l'accesso a un'origine. AWS Elemental MediaStore

Crea un nuovo controllo di accesso all'origine

Completa i passaggi descritti nei seguenti argomenti per configurare un nuovo controllo di accesso di origine in CloudFront.

Prerequisiti

Prima di creare e configurare il controllo di accesso all'origine, è necessario disporre di una CloudFront distribuzione con un' MediaStore origine.

Concedere all'origine il permesso di controllo dell'accesso all' MediaStore origine

Prima di creare un controllo di accesso all'origine o di configurarlo in una CloudFront distribuzione, assicurati che l'OAC disponga dell'autorizzazione per accedere all' MediaStore origine. Esegui questa operazione dopo aver creato una CloudFront distribuzione, ma prima di aggiungere l'OAC all' MediaStoreorigine nella configurazione di distribuzione.

Per concedere all'OAC l'autorizzazione ad accedere all' MediaStore origine, utilizza una policy del MediaStore contenitore per consentire al CloudFront service principal (cloudfront.amazonaws.com) di accedere all'origine. Utilizzate un Condition elemento della policy per consentire l'accesso CloudFront al MediaStore contenitore solo quando la richiesta è per conto della CloudFront distribuzione che contiene l' MediaStore origine.

Di seguito sono riportati alcuni esempi di politiche relative ai MediaStore container che consentono a un CloudFront OAC di accedere a un' MediaStore origine.

Esempio MediaStore policy relativa ai contenitori che consente l'accesso in sola lettura a un OAC CloudFront
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadOnly", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "mediastore:GetObject" ], "Resource": "arn:aws:mediastore:<region>:111122223333:container/<container name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" }, "Bool": { "aws:SecureTransport": "true" } } } ] }
Esempio MediaStore politica del contenitore che consente l'accesso in lettura e scrittura a un OAC CloudFront
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadWrite", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "mediastore:GetObject", "mediastore:PutObject" ], "Resource": "arn:aws:mediastore:<region>:111122223333:container/<container name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" }, "Bool": { "aws:SecureTransport": "true" } } } ] }
Nota

Per consentire l'accesso in scrittura, è necessario configurare i metodi HTTP consentiti da includere PUT nelle impostazioni di comportamento della CloudFront distribuzione.

Crea il controllo di accesso all'origine

Per creare un OAC, puoi utilizzare l' AWS Management Console, AWS CloudFormation AWS CLI, o l' CloudFront API.

Console
Per creare un controllo di accesso all'origine
  1. Accedi AWS Management Console e apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Nel pannello di navigazione a sinistra, scegli Accesso origine.

  3. Scegli Crea un'impostazione di controllo.

  4. Nel modulo Crea un'impostazione di controllo, effettua le seguenti operazioni:

    1. Nel riquadro Dettagli, inserisci un Nome e (facoltativamente) una Descrizione per il controllo degli accessi all'origine.

    2. Nel riquadro Impostazioni, si consiglia di mantenere l'impostazione predefinita (Richieste di firma (consigliato)). Per ulteriori informazioni, consulta Impostazioni avanzate per il controllo dell'accesso all'origine.

  5. Scegli MediaStore dal menu a discesa del tipo di origine.

  6. Scegli Crea.

    Dopo aver creato l'OAC, prendere nota del Nome. In questa procedura, eseguire le seguenti operazioni:

Per aggiungere un controllo di accesso all'origine a un' MediaStore origine in una distribuzione
  1. Apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Scegli una distribuzione con un' MediaStore origine a cui desideri aggiungere l'OAC, quindi scegli la scheda Origins.

  3. Seleziona l' MediaStore origine a cui vuoi aggiungere l'OAC, quindi scegli Modifica.

  4. Seleziona HTTPS solo per il protocollo di origine.

  5. Nel menu a discesa Controllo degli accessi origine, scegliere l'OAC che desideri utilizzare.

  6. Seleziona Salvataggio delle modifiche.

La distribuzione inizia a essere distribuita in tutte le CloudFront edge location. Quando un'edge location riceve la nuova configurazione, firma tutte le richieste che invia all'origine del MediaStore bucket.

CloudFormation

Per creare un controllo di accesso all'origine (OAC) con AWS CloudFormation, usa il tipo di AWS::CloudFront::OriginAccessControl risorsa. L'esempio seguente mostra la sintassi del AWS CloudFormation modello, in formato YAML, per creare un controllo di accesso all'origine.

Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: ExampleOAC OriginAccessControlOriginType: mediastore SigningBehavior: always SigningProtocol: sigv4

Per ulteriori informazioni, consulta AWS::CloudFront::OriginAccessControl nella Guida per l'AWS CloudFormation utente.

CLI

Per creare un controllo di accesso all'origine con AWS Command Line Interface (AWS CLI), utilizzate il aws cloudfront create-origin-access-control comando. È possibile utilizzare un file di input per fornire i parametri di input del comando, anziché specificare ogni singolo parametro come input della riga di comando.

Per creare un controllo di accesso all'origine (CLI con file di input)
  1. Per creare un file denominato origin-access-control.yaml, utilizza il comando seguente. Tale file contiene tutti i parametri di input per il comando create-origin-access-control.

    aws cloudfront create-origin-access-control --generate-cli-skeleton yaml-input > origin-access-control.yaml
  2. Aprire il file origin-access-control.yaml appena creato. Modifica il file per aggiungere un nome per l'OAC, una descrizione (opzionale) e modificare SigningBehavior in always. Quindi salvare il file.

    Per ulteriori informazioni sulle impostazioni OAC, consultare Impostazioni avanzate per il controllo dell'accesso all'origine.

  3. Utilizzare il comando seguente per creare il controllo di accesso origine utilizzando i parametri di input dal file origin-access-control.yaml.

    aws cloudfront create-origin-access-control --cli-input-yaml file://origin-access-control.yaml

    Prendere nota del valore Id nell'output del comando. È necessario per aggiungere l'OAC a un' MediaStore origine in una CloudFront distribuzione.

Per collegare un OAC a un' MediaStore origine in una distribuzione esistente (CLI con file di input)
  1. Utilizzate il comando seguente per salvare la configurazione di distribuzione per la CloudFront distribuzione a cui desiderate aggiungere l'OAC. La distribuzione deve avere un' MediaStore origine.

    aws cloudfront get-distribution-config --id <CloudFront distribution ID> --output yaml > dist-config.yaml
  2. Aprire il file denominato dist-config.yaml appena creato. Modifica il file apportando le seguenti modifiche:

    • Nell'oggetto Origins, aggiungi l'ID dell'OAC al campo a cui è stato assegnato il nome OriginAccessControlId.

    • Rimuovi il valore dal campo denominato OriginAccessIdentity, se esiste.

    • Rinominare il campo ETag in IfMatch, ma non modificare il valore del campo.

    Salvare il file al termine.

  3. Utilizzare il comando seguente per aggiornare la distribuzione e utilizzare il controllo di accesso origine.

    aws cloudfront update-distribution --id <CloudFront distribution ID> --cli-input-yaml file://dist-config.yaml

La distribuzione inizia a essere distribuita in tutte le CloudFront edge location. Quando una edge location riceve la nuova configurazione, firma tutte le richieste inviate all' MediaStoreorigine.

API

Per creare un controllo di accesso all'origine con l' CloudFront API, usa CreateOriginAccessControl. Per ulteriori informazioni sui campi specificati in questa chiamata API, consulta la documentazione di riferimento sull'API per il tuo AWS SDK o altro client API.

Dopo aver creato un controllo di accesso di origine, puoi collegarlo a un' MediaStore origine in una distribuzione, utilizzando una delle seguenti chiamate API:

Per entrambe queste chiamate API, fornire l'ID di controllo dell'accesso origine nel campo OriginAccessControlId, all'interno di un'origine. Per ulteriori informazioni sugli altri campi specificati in queste chiamate API, consulta Riferimento alle impostazioni di distribuzione la documentazione di riferimento sull'API per il tuo AWS SDK o altro client API.

Impostazioni avanzate per il controllo dell'accesso all'origine

La funzionalità di controllo dell'accesso all' CloudFront origine include impostazioni avanzate destinate solo a casi d'uso specifici. Usa le impostazioni consigliate a meno che tu non abbia una necessità specifica per le impostazioni avanzate.

Origin Access Control contiene un'impostazione denominata Signing behavior (nella console) o SigningBehavior (nell'API, CLI e AWS CloudFormation). Questa impostazione offre le seguenti opzioni:

Firma sempre le richieste di origine (impostazione consigliata)

Si consiglia di utilizzare questa impostazione, denominata Richieste di firma (consigliata) nella console, oppure always nell'API, nell'interfaccia a riga di comando e AWS CloudFormation. Con questa impostazione, firma CloudFront sempre tutte le richieste che invia all' MediaStore origine.

Non firmare le richieste di origine

Questa impostazione è denominata Non firmare le richieste nella console, oppure nevernell'API, nell'interfaccia a riga di comando e AWS CloudFormation. Usa questa impostazione per disattivare il controllo dell'accesso all'origine per tutte le origini in tutte le distribuzioni che utilizzano questo controllo di accesso all'origine. Ciò consente di risparmiare tempo e fatica rispetto alla rimozione di un controllo di accesso all'origine da tutte le origini e le distribuzioni che lo utilizzano, uno per uno. Con questa impostazione, CloudFront non firma alcuna richiesta inviata all' MediaStore origine.

avvertimento

Per utilizzare questa impostazione, l' MediaStore origine deve essere accessibile pubblicamente. Se utilizzi questa impostazione con un' MediaStore origine non accessibile pubblicamente, CloudFront non puoi accedere all'origine. L' MediaStore origine restituisce gli errori CloudFront e li CloudFront trasmette agli spettatori. Per ulteriori informazioni, consulta l'esempio di politica del MediaStore contenitore per l'accesso pubblico in lettura tramite HTTPS.

Non ignorare l'intestazione del visualizzatore (client) Authorization

Questa impostazione è denominata Non sovrascrivere l'intestazione di autorizzazionenella console, oppure no-override nell'API, nell'interfaccia a riga di comando e AWS CloudFormation. Utilizza questa impostazione quando desideri firmare CloudFront le richieste di origine solo quando la richiesta del visualizzatore corrispondente non include un'Authorizationintestazione. Con questa impostazione, CloudFront trasmette l'Authorizationintestazione della richiesta del visualizzatore quando ne è presente una, ma firma la richiesta di origine (aggiungendo la propria Authorization intestazione) quando la richiesta del visualizzatore non include un'intestazione. Authorization

avvertimento

Per trasmettere l'Authorizationintestazione dalla richiesta del visualizzatore, è necessario aggiungere l'Authorizationintestazione a una politica di cache per tutti i comportamenti della cache che utilizzano le MediaStore origini associate a questo controllo di accesso all'origine.