View a markdown version of this page

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

Puoi utilizzare il controllo di accesso all'origine (OAC) per limitare l'accesso all'origine di un Access Point di Amazon S3 Multi-Region. Gli Multi-Region access point S3 forniscono un endpoint globale che indirizza le richieste al bucket S3 più vicino in base alla latenza di rete.

Nota

L'OAC con punti di Multi-Region accesso S3 non è supportato per gli endpoint MRAP supportati da bucket nelle regioni opt-in. Le richieste indirizzate a un bucket in una regione opt-in avranno esito negativo. Tutti i bucket associati all' Multi-Region Access Point devono trovarsi in regioni abilitate per impostazione predefinita.

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

Prerequisiti

Prima di creare e configurare OAC, devi disporre di una CloudFront distribuzione con origine da un punto di accesso Amazon Multi-Region S3. Il nome di dominio di origine deve utilizzare il formato hostname S3 Multi-Region Access Point:

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

Per ulteriori informazioni sulla creazione di un Multi-Region Access Point S3, consulta Creating Multi-Region Access Points nella Amazon Simple Storage Service User Guide.

Concedi CloudFront l'autorizzazione per accedere all'Access Point S3 Multi-Region

Aggiorna la politica dell' Multi-Region Access Point per consentire al responsabile del CloudFront servizio (cloudfront.amazonaws.com) di accedere all' Multi-Region Access Point. Utilizza un Condition elemento della policy per consentire l' Multi-Region accesso CloudFront all'Access Point solo quando la richiesta è per conto della CloudFront distribuzione che contiene l'origine.

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

Esempio Multi-Region Politica sugli Access Point per CloudFront OAC
{ "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 dell' Multi-Region Access Point, è necessario concedere anche l' CloudFrontautorizzazione per accedere a ciascuno dei bucket S3 sottostanti associati all'Access Point. Multi-Region Ci sono due modi per farlo:

Importante

È necessario aggiungere questa policy del bucket a ogni bucket S3 associato all'Access Point. Multi-Region Se in un bucket manca la policy, le CloudFront richieste indirizzate a quel bucket verranno rifiutate.

Opzione 1: concedi l'accesso solo a CloudFront

Aggiungi una policy per i bucket a ogni bucket S3 che consenta all'entità del CloudFront servizio di accedere al bucket. Usa 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: delegare l'accesso completo al bucket all'Access Point Multi-Region

Concedi all' Multi-Region Access Point l'accesso completo a ciascun bucket sottostante. Con questo approccio, tutti gli accessi al bucket sono controllati dalla policy 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 all'Access Point Multi-Region
{ "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 Multi-Region l'esempio di policy sull'Access Point nella Amazon Simple Storage Service User Guide.

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 CloudFront distribuzione disponga dell'autorizzazione per utilizzare la chiave. AWS KMS Poiché gli Multi-Region Access Point S3 possono indirizzare le richieste a bucket in più regioni, è necessario aggiungere un'istruzione alla policy chiave KMS in ciascuna regione in cui viene utilizzato un bucket sottostante. 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 della 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 Console di gestione AWS,, CloudFormation, o l'API AWS CLI. CloudFront

Nota

I trigger di richiesta di origine Lambda @Edge sono incompatibili con le origini che utilizzano un OAC Sigv4a, indipendentemente dal fatto che si acceda all'origine direttamente o tramite un gruppo di origine.

Console
Per creare un controllo di accesso all'origine
  1. Accedi a e apri la console all'indirizzo. Console di gestione AWS CloudFront https://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 dal menu a discesa del tipo di origine e seleziona l'opzione Usa il protocollo di firma Sigv4a.

  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 di origine a un punto di accesso S3 Multi-Region (origine) 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 Origini.

  3. Seleziona l'origine dell' Multi-Region Access Point 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 inviate all'origine del punto di Multi-Region accesso 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": "s3" }'
CloudFormation

Specificate i seguenti valori in: OriginAccessControlConfig

  • SigningProtocol: sigv4a

  • SigningBehavior:always,never, o no-override

  • OriginAccessControlOriginType: s3

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

Comportamento di firma

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