Blocco dell'accesso pubblico allo storage Amazon S3 - Amazon Simple Storage Service

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

Blocco dell'accesso pubblico allo storage Amazon S3

La caratteristica di blocco dell'accesso pubblico di Amazon S3 fornisce le impostazioni per access point, bucket e account con cui è possibile gestire l'accesso pubblico alle risorse di Amazon S3. Per impostazione predefinita, nuovi bucket, access point e oggetti non consentono l'accesso pubblico. Tuttavia, gli utenti possono modificare le policy di bucket, le policy di access point o le autorizzazioni degli oggetti per consentire l'accesso pubblico. Le impostazioni di blocco dell'accesso pubblico in S3 sostituiscono le policy e le autorizzazioni, in modo da limitare l'accesso pubblico a queste risorse.

Con il blocco dell'accesso pubblico S3, gli amministratori degli account e i proprietari dei bucket possono limitare l'accesso pubblico alle risorse di Amazon S3 configurando facilmente controlli centralizzati, che vengono applicati indipendentemente dal modo in cui vengono create le risorse.

Per istruzioni sulla configurazione dell'accesso pubblico ai blocchi, consulta Configurazione del blocco dell'accesso pubblico.

Quando Amazon S3 riceve una richiesta di accesso a un bucket o a un oggetto, determina se per il bucket o l'account del proprietario del bucket è applicata un'impostazione di blocco dell'accesso pubblico. Se la richiesta è stata effettuata tramite un access point, Amazon S3 controlla anche la presenza di impostazioni di blocco dell'accesso pubblico per l'access point. Se è presente un'impostazione di blocco dell'accesso pubblico che vieta l'accesso richiesto, Amazon S3 rifiuta la richiesta.

Il blocco dell'accesso pubblico di Amazon S3 comprende quattro impostazioni. Queste impostazioni sono indipendenti e possono essere usate in qualunque combinazione. Ogni impostazione può essere applicata a un punto di accesso, a un bucket o a un intero Account AWS. Se le impostazioni di blocco dell'accesso pubblico per l'access point, il bucket o l'account sono diverse, Amazon S3 applica la combinazione più restrittiva di impostazioni.

Quando Amazon S3 valuta se un'operazione è vietata da un'impostazione di blocco dell'accesso pubblico, rifiuta qualsiasi richiesta che viola un'impostazione a livello di access point, bucket o account.

Importante

L'accesso pubblico è concesso a bucket e oggetti tramite liste di controllo degli accessi (ACLs), policy sui punti di accesso, policy sui bucket o altro. Per garantire che l'accesso pubblico sia bloccato per tutti gli access point, i bucket e gli oggetti di Amazon S3, ti consigliamo di attivare tutte e quattro le impostazioni per bloccare l'accesso pubblico per l'account. Queste impostazioni bloccano l'accesso pubblico per tutti i bucket e access point correnti e futuri.

Prima di applicare queste impostazioni, verifica che le applicazioni funzionino correttamente senza accesso pubblico. Se è richiesto un certo livello di accesso pubblico ai bucket o agli oggetti, ad esempio per ospitare un sito Web statico come descritto in Hosting di un sito Web statico tramite Amazon S3, puoi personalizzare le impostazioni individuali in funzione dei casi d'uso di storage.

L'attivazione dell'accesso pubblico a blocchi aiuta a proteggere le risorse impedendo che l'accesso pubblico venga concesso tramite le politiche delle risorse o le liste di controllo degli accessi (ACLs) direttamente allegate alle risorse S3. Oltre ad abilitare Block Public Access, esamina attentamente le seguenti politiche per confermare che non garantiscano l'accesso pubblico:

  • Politiche basate sull'identità allegate ai AWS principali associati (ad esempio, i ruoli) IAM

  • Politiche basate sulle risorse allegate alle AWS risorse associate (ad esempio, () chiavi) AWS Key Management Service KMS

Nota
  • È possibile abilitare le impostazioni di blocco dell'accesso pubblico solo per i punti di accesso, i bucket e gli Account AWS. Amazon S3 non supporta le impostazioni di blocco dell'accesso pubblico per i singoli oggetti.

  • Quando si applicano impostazioni di blocco dell'accesso pubblico a un account, le impostazioni si applicano a tutti a livello globale. Regioni AWS Le impostazioni possono non diventare effettive in tutte le regioni immediatamente o allo stesso momento, ma vengono infine propagate in tutte le regioni.

Impostazioni di blocco dell'accesso pubblico

Il blocco dell'accesso pubblico in S3 comprende quattro impostazioni. È possibile applicare queste impostazioni in qualsiasi combinazione a singoli access point, bucket o a interi account Account AWS. Se applichi un'impostazione a un account, l'impostazione viene applicata a tutti i bucket e gli access point di proprietà dell'account. Analogamente, se applichi un'impostazione a un bucket, questa si applica a tutti gli access point associati al bucket.

La tabella seguente contiene le impostazioni disponibili.

Nome Descrizione
BlockPublicAcls

Se questa opzione è impostata su TRUE, produce il comportamento seguente:

  • PUTLe chiamate Bucket acl e PUT Object acl hanno esito negativo se la lista di controllo degli accessi specificata (ACL) è pubblica.

  • PUTLe chiamate agli oggetti hanno esito negativo se la richiesta include un oggetto pubblico. ACL

  • Se questa impostazione viene applicata a un account, le chiamate PUT Bucket hanno esito negativo se la richiesta include un account pubblicoACL.

Quando questa impostazione è impostata suTRUE, le operazioni specificate hanno esito negativo (indipendentemente dal fatto che vengano eseguite tramite REST API AWS CLI, o AWS SDKs). Tuttavia, le politiche esistenti, ACLs i bucket e gli oggetti non vengono modificati. Questa impostazione consente di proteggere dall'accesso pubblico e al contempo di controllare, perfezionare o modificare in altro modo le politiche esistenti, i bucket e ACLs gli oggetti.

Nota

I punti di accesso non sono ACLs associati a essi. Se applicata a un access point, questa impostazione funge da passthrough al bucket sottostante. Se in un access point è attivata questa impostazione, le richieste effettuate tramite l'access point si comportano come se il bucket sottostante avesse abilitato questa impostazione, indipendentemente dal fatto che il bucket abbia o meno effettivamente abilitato questa impostazione.

IgnorePublicAcls

L'impostazione di questa opzione TRUE fa sì che Amazon S3 ignori tutto il pubblico ACLs su un bucket e tutti gli oggetti in esso contenuti. Questa impostazione consente di bloccare in modo sicuro l'accesso pubblico concesso da, ACLs pur continuando a consentire le chiamate PUT Object che includono un pubblico ACL (al BlockPublicAcls contrario di quelle che rifiutano le chiamate PUT Object che includono un pubblico). ACL L'attivazione di questa impostazione non influisce sulla persistenza di quelle esistenti ACLs e non impedisce l'impostazione di un nuovo pubblicoACLs.

Nota

I punti di accesso non sono ACLs associati a essi. Se applicata a un access point, questa impostazione funge da passthrough al bucket sottostante. Se in un access point è attivata questa impostazione, le richieste effettuate tramite l'access point si comportano come se il bucket sottostante avesse abilitato questa impostazione, indipendentemente dal fatto che il bucket abbia o meno effettivamente abilitato questa impostazione.

BlockPublicPolicy

L'impostazione di questa opzione su TRUE per un bucket fa sì che Amazon S3 rifiuti le chiamate PUT alla policy Bucket se la policy del bucket specificata consente l'accesso pubblico. L'impostazione di questa opzione su TRUE per un bucket fa sì che Amazon S3 rifiuti anche le chiamate PUT alla policy del punto di accesso per tutti i punti di accesso dello stesso account del bucket se la politica specificata consente l'accesso pubblico.

L'impostazione di questa opzione su TRUE per un punto di accesso fa sì che Amazon S3 rifiuti le chiamate alla policy del punto di PUT accesso e alla policy PUT Bucket effettuate tramite il punto di accesso se la politica specificata (per il punto di accesso o il bucket sottostante) consente l'accesso pubblico.

Puoi utilizzare questa impostazione per permettere agli utenti di gestire policy di bucket e punti di accesso impedendo loro di condividere pubblicamente il bucket o gli oggetti che contiene. L'abilitazione di questa impostazione non influisce sulle policy di access point o di bucket esistenti.

Importante

Per usare questa impostazione in modo efficace, consigliamo di applicarla a livello di account. Una policy del bucket può consentire agli utenti di modificare le impostazioni di blocco dell'accesso pubblico di un bucket. Gli utenti autorizzati a modificare la policy del bucket potrebbero inserire una policy che permette loro di disabilitare le impostazioni di blocco dell'accesso pubblico per il bucket. Se questa impostazione è abilitata per l'intero account anziché per un bucket specifico, Amazon S3 blocca le policy pubbliche anche se un utente modifica la policy del bucket per disabilitare l'impostazione.

RestrictPublicBuckets

L'impostazione di questa opzione in modo da TRUE limitare l'accesso a un punto di accesso o a un bucket con una politica pubblica solo ai responsabili del AWS servizio e agli utenti autorizzati all'interno dell'account del proprietario del bucket e dell'account del proprietario del punto di accesso. Questa impostazione blocca tutti gli accessi tra account al punto di accesso o al bucket (ad eccezione dei responsabili del AWS servizio), pur consentendo agli utenti all'interno dell'account di gestire il punto di accesso o il bucket.

L'abilitazione di questa impostazione non influisce sulle policy dell'access point o del bucket esistenti, eccetto che per il fatto che Amazon S3 blocca l'accesso pubblico e multiaccount derivato da qualsiasi policy dell'access point o del bucket pubblica, inclusa la delega non pubblica ad account specifici.

Importante
  • Le chiamate a GET Bucket acl e GET Object acl restituiscono sempre le autorizzazioni effettive in vigore per il bucket o l'oggetto specificato. Ad esempio, supponiamo che un bucket abbia un codice che garantisce l'accesso pubblico, ma ACL che nel bucket sia anche abilitata l'impostazione. IgnorePublicAcls In questo caso, GET Bucket acl restituisce un valore ACL che riflette le autorizzazioni di accesso applicate da Amazon S3, anziché ACL quelle effettive associate al bucket.

  • Le impostazioni di blocco dell'accesso pubblico non alterano le politiche esistenti o. ACLs Pertanto, la rimozione di un'impostazione di blocco dell'accesso pubblico fa sì che un bucket o un oggetto con una politica pubblica o ACL diventi nuovamente accessibile pubblicamente.

Esecuzione di operazioni di accesso pubblico di blocco su un punto di accesso

Per eseguire operazioni di accesso pubblico a blocchi su un punto di accesso, utilizza il AWS CLI servizios3control.

Importante

Tieni presente che al momento non è possibile modificare le impostazioni di blocco dell'accesso pubblico di un access point dopo aver creato l'access point. Pertanto, l'unico modo per specificare le impostazioni di blocco dell'accesso pubblico per un access point è includerle durante la creazione dell'access point.

Significato di "pubblico"

ACLs

Amazon S3 considera ACL pubblico un bucket o un oggetto se concede autorizzazioni ai membri del valore predefinito o ai gruppi. AllUsers AuthenticatedUsers Per ulteriori informazioni sui gruppi predefiniti, consulta Gruppi predefiniti di Amazon S3.

Policy di bucket

Quando valuta la policy di un bucket, Amazon S3 inizia presumendo che la policy sia pubblica. Quindi valuta la policy per determinare se si qualifica come non pubblica. Per essere considerata non pubblica, una policy di bucket deve concedere l'accesso solo a valori fissi (valori che non contengono caratteri jolly o una variabile di policy AWS Identity and Access Management) di uno o più degli elementi seguenti:

  • Un AWS responsabile, un utente, un ruolo o un responsabile del servizio (ad es.) aws:PrincipalOrgID

  • Un set di Classless Inter-Domain Routings ()CIDRs, che utilizza. aws:SourceIp Per ulteriori informazioni suCIDR, vedere RFC4632 sul sito Web dell'Editor. RFC

    Nota

    Le policy di bucket che concedono l'accesso in base alla chiave di condizione aws:SourceIp con intervalli IP molto ampi (ad esempio 0.0.0.0/1) vengono considerate "pubbliche". Sono inclusi valori più ampi di /8 for IPv4 e /32 per IPv6 (esclusi RFC1918 gli intervalli privati). Il blocco dell'accesso pubblico rifiuterà queste policy "pubbliche" e impedirà l'accesso multi-account ai bucket che già utilizzano queste policy "pubbliche".

  • aws:SourceArn

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:SourceOwner

  • aws:SourceAccount

  • aws:userid, al di fuori del modello "AROLEID:*"

  • s3:DataAccessPointArn

    Nota

    Se utilizzato in una policy di bucket, questo valore può contenere un carattere jolly per il nome dell'access point senza rendere pubblica la policy, purché l'ID account sia corretto. Ad esempio, consentendo l'accesso a arn:aws:s3:us-west-2:123456789012:accesspoint/* si consente l'accesso a qualsiasi access point associato all'account 123456789012 nella regione us-west-2, senza rendere pubblica la policy di bucket. Tieni presente che questo comportamento è diverso per la policy di access point. Per ulteriori informazioni, consulta Access point.

  • s3:DataAccessPointAccount

Per ulteriori informazioni sulle policy del bucket, consulta Politiche Bucket per Amazon S3.

Esempio : policy di bucket pubbliche

In queste regole le policy di esempio seguenti sono considerate pubbliche.

{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow" }
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": { "StringLike": {"aws:SourceVpc": "vpc-*"}} }

Queste policy possono essere modificate in non pubbliche includendo una delle chiavi di condizione elencate in precedenza, usando un valore fisso. Ad esempio, l'ultima policy indicata sopra può essere modificata in non pubblica impostando aws:SourceVpc su un valore fisso, come mostrato di seguito.

{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": {"StringEquals": {"aws:SourceVpc": "vpc-91237329"}} }

Questo esempio mostra in che modo Amazon S3 valuta una policy di bucket che contiene concessioni di accesso sia pubblico sia non pubblico.

Questo esempio mostra in che modo Amazon S3 valuta una policy del bucket che contiene concessioni di accesso sia pubblico sia non pubblico.

Supponiamo che un bucket sia associato a una policy che concede l'accesso a un set di entità principali fisse. In base alle regole descritte in precedenza, questa policy non è pubblica. Di conseguenza, se abiliti l'impostazione RestrictPublicBuckets, la policy continua a essere valida come indicato, perché RestrictPublicBuckets si applica solo ai bucket associati a policy pubbliche. Tuttavia, se aggiungi un'istruzione pubblica alla policy, RestrictPublicBuckets ha effetto sul bucket. Consente l'accesso al bucket solo ai responsabili del AWS servizio e agli utenti autorizzati dell'account del proprietario del bucket.

Ad esempio, supponiamo che un bucket di proprietà di "Account-1" sia associato a una policy che contiene gli elementi seguenti:

  1. Una dichiarazione che concede l'accesso a AWS CloudTrail (che è un servizio principale) AWS

  2. Un'istruzione che concede l'accesso all'account "Account-2"

  3. Un'istruzione che concede l'accesso al pubblico, ad esempio specificando "Principal": "*" senza Condition limitante

Questa policy viene qualificata come pubblica a causa della terza istruzione. Con questa politica in vigore e RestrictPublicBuckets abilitata, Amazon S3 consente l'accesso solo da. CloudTrail Anche se l'istruzione 2 non è pubblica, Amazon S3 disabilita l'accesso da parte di "Account-2". Il motivo è che l'istruzione 3 rende pubblica l'intera policy, quindi viene applicata l'impostazione RestrictPublicBuckets. Di conseguenza, Amazon S3 disabilita l'accesso multiaccount, anche se la policy delega l'accesso a un account specifico, ovvero "Account-2". Se tuttavia rimuovi l'istruzione 3 dalla policy, questa non si qualifica più come pubblica e l'impostazione RestrictPublicBuckets non viene più applicata. Di conseguenza, "Account-2" riottiene l'accesso al bucket, anche se lasci abilitata l'impostazione RestrictPublicBuckets.

Access point

Amazon S3 valuta le impostazioni di blocco dell'accesso pubblico in modo leggermente diverso per gli access point rispetto ai bucket. Le regole applicate da Amazon S3 per determinare quando una policy di un access point è pubblica sono generalmente le stesse per gli access point e per i bucket, ad eccezione delle seguenti situazioni:

  • Un punto di accesso che ha un'origine di VPC rete è sempre considerato non pubblico, indipendentemente dal contenuto della relativa politica in materia di punti di accesso.

  • Una policy di access point che concede l'accesso a un set di access point utilizzando s3:DataAccessPointArn è considerata pubblica. Tieni presente che questo comportamento è diverso rispetto alle policy di bucket. Ad esempio, una policy di bucket che concede l'accesso ai valori di s3:DataAccessPointArn che corrispondono a arn:aws:s3:us-west-2:123456789012:accesspoint/* è considerata pubblica. Tuttavia, la stessa istruzione in una policy di access point renderebbe pubblico l'access point.

Utilizzo di IAM Access Analyzer for S3 per esaminare i bucket pubblici

Puoi utilizzare IAM Access Analyzer for S3 per esaminare i bucket con policy relative a bucketACLs, bucket o access point che garantiscono l'accesso pubblico. IAMAccess Analyzer for S3 ti avvisa della presenza di bucket configurati per consentire l'accesso a chiunque su Internet o altro, anche all'esterno dell'organizzazione. Account AWS Account AWS Per ogni bucket pubblico o condiviso, vengono visualizzati risultati che riportano l'origine e il livello di accesso pubblico o condiviso.

In IAM Access Analyzer for S3, puoi bloccare tutti gli accessi pubblici a un bucket con un solo clic. Inoltre, puoi eseguire il drill-down nelle impostazioni relative alle autorizzazioni a livello di bucket per configurare i livelli di accesso granulari. Per casi d'uso specifici e verificati che richiedono l'accesso pubblico o condiviso, puoi confermare e registrare l'intenzione del bucket di rimanere pubblico o condiviso archiviando i risultati per il bucket.

In rari casi, IAM Access Analyzer for S3 potrebbe non riportare alcun risultato per un bucket secondo cui un Amazon S3 ha bloccato i report di valutazione dell'accesso pubblico come pubblici. Ciò accade perché il blocco dell'accesso pubblico di Amazon S3 esamina le policy per le operazioni correnti ed eventuali operazioni potenziali che potrebbero venire aggiunte in futuro, facendo sì che un bucket diventi pubblico. D'altra parte, IAM Access Analyzer for S3 analizza solo le azioni correnti specificate per il servizio Amazon S3 nella valutazione dello stato di accesso.

Per ulteriori informazioni su IAM Access Analyzer for S3, consulta. Revisione dell'accesso ai bucket utilizzando IAM Access Analyzer per S3

Autorizzazioni

Per utilizzare le caratteristiche di blocco dell'accesso pubblico di Amazon S3, sono necessarie le autorizzazioni seguenti.

Operazione Autorizzazioni richieste
GETstato della policy bucket s3:GetBucketPolicyStatus
GETimpostazioni bucket Block Public Access s3:GetBucketPublicAccessBlock
PUTimpostazioni bucket Block Public Access s3:PutBucketPublicAccessBlock
DELETEimpostazioni bucket Block Public Access s3:PutBucketPublicAccessBlock
GETaccount: Blocca le impostazioni di accesso pubblico s3:GetAccountPublicAccessBlock
PUTaccount Blocca impostazioni di accesso pubblico s3:PutAccountPublicAccessBlock
DELETEaccount Blocca impostazioni di accesso pubblico s3:PutAccountPublicAccessBlock
PUTpunto di accesso Blocca impostazioni di accesso pubblico s3:CreateAccessPoint
Nota

Le DELETE operazioni richiedono le stesse autorizzazioni delle PUT operazioni. Non esistono autorizzazioni separate per le DELETE operazioni.

Configurazione del blocco dell'accesso pubblico

Per ulteriori informazioni sulla configurazione dell'accesso pubblico a blocchi per i tuoi Account AWS, i tuoi bucket Amazon S3 e i tuoi access point, consulta i seguenti argomenti: