View a markdown version of this page

Limita l'accesso all'origine di un punto di accesso multiregionale Amazon S3 - 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 all'origine di un punto di accesso multiregionale Amazon S3

Puoi utilizzare Origin Access Control (OAC) per limitare l'accesso all'origine di un punto di accesso multiregionale Amazon S3. Gli access point multiregionali S3 forniscono un endpoint globale che indirizza le richieste al bucket S3 più vicino in base alla latenza di rete.

Per informazioni sull'uso di OAC con un'origine di bucket Amazon S3 standard, consulta. Limitazione dell’accesso a un’origine Amazon S3

Prerequisiti

Prima di creare e configurare l'OAC, è necessario disporre di una CloudFront distribuzione con un punto di accesso multiregionale Amazon S3. Il nome di dominio di origine deve utilizzare il formato del nome host S3 Multi-Region Access Point:

multi-region-access-point-alias.accesspoint.s3-global.amazonaws.com

Per ulteriori informazioni sulla creazione di un punto di accesso multiregionale S3, consulta Creazione di punti di accesso multiregionali nella Guida per l'utente di Amazon Simple Storage Service.

Concedi CloudFront l'autorizzazione per accedere al punto di accesso multiregionale S3

Aggiorna la politica del punto di accesso multiregionale per consentire al principale del CloudFront servizio (cloudfront.amazonaws.com) di accedere al punto di accesso multiregionale. Utilizzate un Condition elemento della politica per consentire l'accesso CloudFront al punto di accesso multiregionale solo quando la richiesta è per conto della CloudFront distribuzione che contiene l'origine.

Per informazioni sull'aggiunta o la modifica di una policy Multi-Region Access Point, consulta gli esempi di policy Multi-Region Access Point nella Guida per l'utente di Amazon Simple Storage Service.

Esempio Policy per punti di accesso multiregionali per OAC CloudFront
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccess", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap/object/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Concedi CloudFront l'autorizzazione per accedere ai bucket S3 sottostanti

Oltre alla politica del punto di accesso multiregionale, devi anche concedere l' CloudFrontautorizzazione per accedere a ciascuno dei bucket S3 sottostanti associati al punto di accesso multiregionale. Ci sono due modi per farlo:

Opzione 1: concedere l'accesso solo a CloudFront

Aggiungi una policy sui bucket a ciascun bucket S3 che consenta al responsabile del CloudFront servizio di accedere al bucket. Utilizza questa opzione quando devi consentire anche l'accesso diretto al bucket da altre fonti.

Esempio Politica del bucket S3 per un bucket sottostante
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccessViaMRAP", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Opzione 2: delega l'accesso completo al punto di accesso multiregionale

Concedi al punto di accesso multiregionale l'accesso completo a ciascun bucket sottostante. Con questo approccio, tutti gli accessi al bucket sono controllati dalla politica Multi-Region Access Point, che semplifica la gestione degli accessi. Consigliamo questa opzione per i casi d'uso che non richiedono l'accesso diretto al bucket.

Esempio Policy del bucket S3 che delega l'accesso al punto di accesso multiregionale
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateAccessToMRAP", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1", "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointArn": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap" } } } ] }

Per ulteriori informazioni, consulta l'esempio di policy Multi-Region Access Point nella Guida per l'utente di Amazon Simple Storage Service.

Importante

È necessario aggiungere questa policy sui bucket a ogni bucket S3 associato al punto di accesso multiregionale. Se in un bucket manca la policy, le CloudFront richieste indirizzate a quel bucket verranno rifiutate.

SSE-KMS

Se gli oggetti nei bucket S3 sottostanti sono crittografati utilizzando la crittografia lato server con AWS KMS (SSE-KMS), devi assicurarti che la distribuzione disponga dell'autorizzazione per utilizzare la chiave. CloudFront AWS KMS Poiché i punti di accesso multiregionali S3 possono instradare le richieste verso i bucket in più regioni, è necessario aggiungere una dichiarazione alla politica chiave KMS in ogni regione in cui un bucket sottostante utilizza SSE-KMS. Per informazioni su come modificare un criterio delle chiavi, consulta Modifica di una policy delle chiavinella Guida per gli sviluppatori AWS Key Management Service .

Esempio Dichiarazione della policy della chiave KMS

L'esempio seguente mostra una dichiarazione politica chiave KMS che consente alla CloudFront distribuzione con OAC di accedere a una chiave KMS per SSE-KMS.

{ "Sid": "AllowCloudFrontServicePrincipalSSE-KMS", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } }
Importante

È necessario aggiungere questa dichiarazione politica chiave alla chiave KMS in ogni regione in cui un bucket S3 sottostante utilizza la crittografia SSE-KMS.

Creazione del controllo di accesso origine

Per creare un controllo di accesso all'origine (OAC), puoi utilizzare l',, o l'API Console di gestione AWS. CloudFormation AWS CLI CloudFront

Console
Per creare un controllo di accesso all'origine
  1. Accedi Console di gestione AWS 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 S3 Multi-Region Access Point dal menu a discesa del tipo Origin.

  6. Scegli Create (Crea).

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

Per aggiungere un controllo di accesso di origine a un'origine S3 Multi-Region Access Point in una distribuzione
  1. Apri la CloudFront console all'indirizzo. https://console.aws.amazon.com/cloudfront/v4/home

  2. Scegli una distribuzione con un'origine S3 Multi-Region Access Point a cui desideri aggiungere l'OAC, quindi scegli la scheda Origins.

  3. Seleziona l'origine del punto di accesso multiregionale S3 a cui desideri aggiungere l'OAC, quindi scegli Modifica.

  4. Per Accesso origine, scegli Impostazioni di controllo di accesso origine (consigliato).

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

  6. Scegli Save changes (Salva modifiche).

La distribuzione inizia a essere distribuita in tutte le edge location. CloudFront Quando una edge location riceve la nuova configurazione, firma tutte le richieste che invia all'origine del punto di accesso multiregionale S3.

CLI

Utilizza il comando create-origin-access-control:

aws cloudfront create-origin-access-control \ --origin-access-control-config '{ "Name": "my-s3-mrap-oac", "Description": "OAC for S3 Multi-Region Access Point", "SigningProtocol": "sigv4a", "SigningBehavior": "always", "OriginAccessControlOriginType": "s3mrap" }'
CloudFormation

Specificare i seguenti valori in: OriginAccessControlConfig

  • SigningProtocol: sigv4a

  • SigningBehavior: alwaysnever, o no-override

  • OriginAccessControlOriginType: s3mrap

Esempio CloudFormation modello
Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: my-s3-mrap-oac OriginAccessControlOriginType: s3mrap SigningBehavior: always SigningProtocol: sigv4a

Comportamento della firma

Le opzioni di comportamento di firma per le origini dei punti di accesso multiregione S3 sono le stesse delle normali origini dei bucket Amazon S3. Per ulteriori informazioni, consulta Impostazioni avanzate per il controllo dell'accesso all'origine la sezione Limitare l'accesso a un'origine Amazon S3.