AWS PrivateLink per 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à.

AWS PrivateLink per Amazon S3

Con AWS PrivateLink Amazon S3, puoi fornire endpoint VPC di interfaccia (endpoint di interfaccia) nel tuo cloud privato virtuale (VPC). Questi endpoint sono accessibili direttamente dalle applicazioni locali tramite VPN e/o in un altro modo di peering Regione AWS tramite VPC. AWS Direct Connect

Gli endpoint di interfaccia sono rappresentati da una o più interfacce di rete elastiche (ENI) a cui vengono assegnati indirizzi IP privati dalle sottoreti nel VPC. Le richieste ad Amazon S3 tramite gli endpoint di interfaccia rimangono nella rete Amazon. Puoi anche accedere agli endpoint di interfaccia nel tuo VPC da applicazioni locali AWS Direct Connect tramite AWS Virtual Private Network o ().AWS VPN Per ulteriori informazioni su come connettere il VPC alla rete On-Premise, consulta la AWS Direct Connect Guida per l'utente di e la AWS Site-to-Site VPN Guida per l'utente di .

Per informazioni sulla creazione di endpoint di interfaccia, consulta Endpoint VPC di interfaccia (AWS PrivateLink) nella Guida di AWS PrivateLink .

Tipi di endpoint VPC per Amazon S3

Puoi utilizzare due tipi di endpoint VPC per accedere ad Amazon S3: endpoint gateway ed endpoint di interfaccia (utilizzando). AWS PrivateLink Un endpoint gateway è un gateway specificato nella tabella di routing per accedere ad Amazon S3 dal tuo VPC tramite la rete. AWS Gli endpoint di interfaccia estendono la funzionalità degli endpoint gateway utilizzando indirizzi IP privati per instradare le richieste ad Amazon S3 dall'interno del tuo VPC, in locale o da un VPC in un altro tramite peering VPC o. Regione AWS AWS Transit Gateway Per ulteriori informazioni, consulta Che cos'è il peering di VPC? e Transit Gateway e peering di VPC.

Gli endpoint di interfaccia sono compatibili con gli endpoint gateway. Se disponi di un endpoint gateway nel VPC, puoi utilizzare entrambi i tipi di endpoint nello stesso VPC.

Endpoint gateway per Amazon S3

Endpoint di interfaccia per Amazon S3

In entrambi i casi, il traffico di rete rimane sulla rete. AWS

Uso di indirizzi IP pubblici di Amazon S3

Uso di indirizzi IP privati del tuo VPC per accedere ad Amazon S3

Uso degli stessi nomi DNS di Simple Storage Service (Amazon S3)

Richiesta di nomi DNS di Simple Storage Service (Amazon S3) specifici per endpoint

Non consente l'accesso da on-premise

Consente l'accesso da On-Premise

Non consentire l'accesso da parte di un altro Regione AWS

Consenti l'accesso da un VPC a un altro Regione AWS utilizzando il peering VPC o AWS Transit Gateway

Non fatturata

Fatturata

Per ulteriori informazioni sugli endpoint gateway, consulta Endpoint VPC gateway nella Guida di AWS PrivateLink .

Le limitazioni VPC si applicano AWS PrivateLink ad Amazon S3. Per ulteriori informazioni, consulta Considerazioni di un endpoint di interfaccia e Quote di AWS PrivateLink nella Guida di AWS PrivateLink . Inoltre, si applicano le limitazioni seguenti:

AWS PrivateLink per Amazon S3 non supporta quanto segue:

Creazione di un endpoint VPC

Per creare un endpoint di interfaccia VPC, consulta Creazione di un endpoint VPC nella Guida AWS PrivateLink .

Accesso agli endpoint di interfaccia di Amazon S3

Quando crei un endpoint di interfaccia, Amazon S3 genera due tipi di nomi DNS S3 specifici dell'endpoint: regionale e zonale.

  • Un nome DNS regionale include un ID endpoint VPC univoco, un identificatore di servizio, Regione AWSvpce.amazonaws.com il e nel nome. Ad esempio, per l'ID endpoint VPC vpce-1a2b3c4d, il nome DNS generato potrebbe essere simile a vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com.

  • I nomi DNS zonali includono la zona di disponibilità, ad esempio vpce-1a2b3c4d-5e6f-us-east-1a.s3.us-east-1.vpce.amazonaws.com. Puoi utilizzare questa opzione se l'architettura isola le zone di disponibilità. Ad esempio, puoi utilizzarla per il contenimento degli errori o per ridurre i costi di trasferimento dei dati a livello regionale.

I nomi DNS S3 specifici degli endpoint possono essere risolti dal dominio DNS pubblico S3.

DNS privato

Le opzioni DNS private per gli endpoint di interfaccia VPC semplificano l'instradamento del traffico S3 sugli endpoint VPC e consentono di sfruttare il percorso di rete più economico disponibile per l'applicazione. Puoi utilizzare le opzioni DNS private per indirizzare il traffico regionale S3 senza aggiornare i client S3 per usare i nomi DNS specifici degli endpoint di interfaccia o gestire l'infrastruttura DNS. Con i nomi DNS privati abilitati, le query DNS regionali di S3 vengono risolte negli indirizzi IP privati dei seguenti endpoint: AWS PrivateLink

  • Endpoint di bucket regionale (ad esempio, s3.us-east-1.amazonaws.com)

  • Endpoint di controllo (ad esempio, s3-control.us-east-1.amazonaws.com)

  • Endpoint di punto di accesso (ad esempio, s3-accesspoint.us-east-1.amazonaws.com)

Se hai un endpoint gateway nel tuo VPC, puoi indirizzare automaticamente le richieste in entrata nel VPC all'endpoint gateway S3 esistente e le richieste on-premise all'endpoint di interfaccia. Questo approccio consente di ottimizzare i costi di rete utilizzando gli endpoint gateway, che non vengono fatturati, per il traffico in entrata nel VPC. Le applicazioni locali possono essere utilizzate AWS PrivateLink con l'aiuto dell'endpoint Resolver in entrata. Amazon fornisce un server DNS chiamato il Route 53 Resolver per il tuo VPC. Un endpoint del resolver in entrata inoltra le query DNS dalla rete on-premise al Route 53 Resolver.

Importante

Per sfruttare il percorso di rete più economico quando si utilizza Abilita DNS privato solo per gli endpoint in entrata, è necessario che nel cloud privato virtuale sia presente un endpoint gateway. La presenza di un endpoint gateway aiuta a garantire che il traffico in entrata nel VPC venga sempre indirizzato sulla rete privata AWS quando è selezionata l'opzione Abilita DNS privato solo per gli endpoint in entrata. È necessario mantenere questo endpoint gateway se è selezionata l'opzione Abilita DNS privato solo per gli endpoint in entrata. Se desideri eliminare l'endpoint gateway, devi prima deselezionare Abilita DNS privato solo per gli endpoint in entrata.

Se desideri aggiornare un endpoint di interfaccia esistente su Abilita DNS privato solo per gli endpoint in entrata verifica innanzitutto che il tuo VPC disponga di un endpoint gateway S3. Per ulteriori informazioni sugli endpoint gateway e sulla gestione dei nomi DNS privati, consulta rispettivamente Endpoint gateway del VPC e Gestione dei nomi DNS nella Guida di AWS PrivateLink .

L'opzione Abilita DNS privato solo per gli endpoint in entrata è disponibile solo per i servizi che supportano gli endpoint gateway.

Per ulteriori informazioni sulla creazione di un endpoint VPC che utilizza Abilita DNS privato solo per gli endpoint in entrata, consulta Creare un endpoint di interfaccia nella Guida di AWS PrivateLink .

Utilizzo della console VPC

Nella console sono disponibili due opzioni: Abilita nome DNS e Abilita DNS privato solo per gli endpoint in entrata. Abilita il nome DNS è un'opzione supportata da. AWS PrivateLink Con l'opzione Abilita nome DNS puoi utilizzare la connettività privata di Amazon ad Amazon S3, effettuando richieste ai nomi DNS predefiniti degli endpoint pubblici. Quando questa opzione è abilitata, i clienti possono sfruttare il percorso di rete più economico disponibile per la loro applicazione.

Quando abiliti i nomi DNS privati su un endpoint di interfaccia VPC esistente o nuovo per Amazon S3, l'opzione Abilita DNS privato solo per gli endpoint in entrata è selezionata per impostazione predefinita. Se questa opzione è selezionata, le applicazioni utilizzano solo gli endpoint di interfaccia per il traffico on-premise. Il traffico VPC in entrata utilizza automaticamente gli endpoint gateway più economici. In alternativa, puoi deselezionare Abilita DNS privato solo per gli endpoint in entrata per indirizzare tutte le richieste S3 sull'endpoint di interfaccia.

Usando il AWS CLI

Se non specifichi un valore per PrivateDnsOnlyForInboundResolverEndpoint, viene usata l'impostazione predefinita true. Tuttavia, prima che il cloud privato virtuale applichi le impostazioni, esegue un controllo per assicurarsi che nel cloud privato VPC sia presente un endpoint gateway. Se nel cloud privato virtuale è presente un endpoint gateway, la chiamata ha esito positivo. In caso contrario, viene visualizzato il seguente messaggio di errore:

Per essere impostato su PrivateDnsOnlyForInboundResolverEndpoint true, il VPC vpce_id deve disporre di un endpoint gateway per il servizio.

Per un nuovo endpoint di interfaccia VPC

Usa gli attributi private-dns-enabled e dns-options per abilitare il DNS privato tramite la linea di comando. L'opzione PrivateDnsOnlyForInboundResolverEndpoint nell'attributo dns-options deve essere impostata su true. Sostituire user input placeholders con le proprie informazioni.

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name s3-service-name \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --private-dns-enabled \ --ip-address-type ip-address-type \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true \ --security-group-ids client-sg-id

Per un endpoint VPC esistente

Se desideri utilizzare il DNS privato per un endpoint VPC esistente, usa il seguente comando di esempio e sostituisci user input placeholders con le tue specifiche informazioni.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=false

Se desideri aggiornare un endpoint VPC esistente per abilitare il DNS privato solo per il risolutore in entrata, usa il seguente esempio e sostituisci i valori di esempio con le tue specifiche informazioni.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true

Accesso ai bucket, ai punti di accesso e alle operazioni API di controllo Amazon S3 dagli endpoint di interfaccia S3

Puoi utilizzare i nostri AWS SDK AWS CLI per accedere a bucket, punti di accesso S3 e operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3.

Nell'immagine seguente viene illustrata la scheda Dettagli della console VPC, in cui è possibile trovare il nome DNS di un endpoint VPC. In questo esempio, l'ID endpoint VPC (vpce-id) è vpce-0e25b8cdd720f900e e il nome DNS è *.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com.


        Scheda Dettagli nella console VPC.

Quando utilizzi il nome DNS per accedere a una risorsa, sostituisci * con il valore appropriato. I valori appropriati da utilizzare al posto di * sono i seguenti:

  • bucket

  • accesspoint

  • control

Ad esempio, per accedere a un bucket, usa un nome DNS simile al seguente:

bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com

Per esempi di come utilizzare i nomi DNS per accedere a bucket, punti di accesso e operazioni API di controllo Amazon S3, consulta le sezioni AWS CLI esempi e AWS Esempi SDK.

Per ulteriori informazioni su come visualizzare i nomi DNS specifici degli endpoint, consulta Visualizzazione della configurazione dei nomi DNS privati del servizio endpoint nella Guida per l'utente di VPC.

Per accedere ai bucket S3, ai punti di accesso S3 o alle operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3 nei AWS CLI comandi, utilizza i parametri and. --region --endpoint-url

Esempio: utilizzo dell'URL dell'endpoint per elencare gli oggetti nel bucket

Nell'esempio seguente, sostituisci il nome bucket my-bucket, Regione us-east-1 e il nome DNS dell'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le tue informazioni.

aws s3 ls s3://my-bucket/ --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

Esempio: utilizzo dell'URL dell'endpoint per elencare gli oggetti da un punto di accesso

  • Metodo 1: utilizzo del nome della risorsa Amazon (ARN) del punto di accesso con l'endpoint del punto di accesso

    Sostituisci l'ARN us-east-1:123456789012:accesspoint/accesspointexamplename, la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

    aws s3api list-objects-v2 --bucket arn:aws:s3:us-east-1:123456789012:accesspoint/accesspointexamplename --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

    Se non riesci a eseguire correttamente il comando, aggiorna il comando AWS CLI alla versione più recente e riprova. Per ulteriori informazioni sulle istruzioni di aggiornamento, consulta Istruzioni per l'installazione o l'aggiornamento all'ultima versione della AWS CLI nella Guida per l'utente di AWS Command Line Interface .

  • Metodo 2: utilizzo dell'alias del punto di accesso con l'endpoint bucket regionale

    Nell'esempio seguente, sostituisci l'alias del punto di accesso accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  • Metodo 3: utilizzo dell'alias del punto di accesso con l'endpoint del punto di accesso

    Innanzitutto, per creare un endpoint S3 con il bucket incluso come parte del nome host, imposta lo stile di indirizzamento su virtual per aws s3api. Per ulteriori informazioni su AWS configure, consulta File di configurazione e delle credenziali nella Guida per l'utente di AWS Command Line Interface .

    aws configure set default.s3.addressing_style virtual

    Quindi, nell'esempio seguente, sostituisci l'alias del punto di accesso accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate. Per ulteriori informazioni sull'alias del punto di accesso, consultaUtilizzo di un alias in stile bucket per il punto di accesso del bucket S3.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
Esempio: utilizzo dell'URL dell'endpoint per elencare i processi con un'operazione API di controllo S3

Nell'esempio seguente, sostituisci la Regione us-east-1, l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e l'ID account 12345678 con le informazioni appropriate.

aws s3control --region us-east-1 --endpoint-url https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com list-jobs --account-id 12345678

Per accedere ai bucket S3, agli access point S3 o alle operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3 quando usi gli SDK, aggiorna i tuoi AWS SDK alla versione più recente. Quindi configura i client per utilizzare un URL endpoint per accedere a un bucket, un punto di accesso o un'operazione API di controllo Amazon S3 tramite gli endpoint di interfaccia S3.

SDK for Python (Boto3)
Esempio: utilizzo di un URL endpoint per accedere a un bucket S3

Nell'esempio seguente, sostituisci la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

s3_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Esempio: utilizzo di un URL endpoint per accedere a un access point S3

Nell'esempio seguente, sostituisci la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

ap_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Esempio: utilizzo di un URL endpoint per accedere all'API di controllo Amazon S3

Nell'esempio seguente, sostituisci la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

control_client = session.client( service_name='s3control', region_name='us-east-1', endpoint_url='https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
Esempio: utilizzo di un URL endpoint per accedere a un bucket S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

// bucket client final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); List<Bucket> buckets = s3.listBuckets();
Esempio: utilizzo di un URL endpoint per accedere a un access point S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e l'ARN us-east-1:123456789012:accesspoint/prod con le informazioni appropriate.

// accesspoint client final AmazonS3 s3accesspoint = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); ObjectListing objects = s3accesspoint.listObjects("arn:aws:s3:us-east-1:123456789012:accesspoint/prod");
Esempio: utilizzo di un URL endpoint per accedere all'operazione API di controllo Amazon S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

// control client final AWSS3Control s3control = AWSS3ControlClient.builder().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); final ListJobsResult jobs = s3control.listJobs(new ListJobsRequest());
SDK for Java 2.x
Esempio: utilizzo di un URL endpoint per accedere a un bucket S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e la Regione Region.US_EAST_1 con le informazioni appropriate.

// bucket client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Esempio: utilizzo di un URL endpoint per accedere a un access point S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e la Regione Region.US_EAST_1 con le informazioni appropriate.

// accesspoint client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Esempio: utilizzo di un URL endpoint per accedere all'API di controllo Amazon S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e la Regione Region.US_EAST_1 con le informazioni appropriate.

// control client Region region = Region.US_EAST_1; s3ControlClient = S3ControlClient.builder().region(region) .endpointOverride(URI.create("https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()

Aggiornamento di una configurazione DNS locale

Quando si utilizzano nomi DNS specifici degli endpoint per accedere agli endpoint di interfaccia per Amazon S3, non è necessario aggiornare il resolver DNS locale. Puoi risolvere il nome DNS specifico dell'endpoint con l'indirizzo IP privato dell'endpoint di interfaccia dal dominio DNS Amazon S3 pubblico.

Utilizzo degli endpoint di interfaccia per accedere ad Amazon S3 senza un endpoint gateway o un gateway Internet nel VPC

Gli endpoint di interfaccia nel VPC possono instradare sia le applicazioni nel VPC che le applicazioni locali ad Amazon S3 sulla rete Amazon, come illustrato nel diagramma seguente.


          Diagramma di flusso dei dati che mostra l'accesso dalle app on-premise e nel VPC ad Amazon S3 utilizzando un endpoint di interfaccia e AWS PrivateLink.

Il diagramma illustra quanto segue:

  • La tua rete locale utilizza AWS Direct Connect o AWS VPN per connettersi a VPC A.

  • Le applicazioni in locale e in VPC A utilizzano nomi DNS specifici degli endpoint per accedere ad Amazon S3 tramite l'endpoint di interfaccia S3.

  • Le applicazioni locali inviano i dati all'endpoint di interfaccia nel VPC tramite AWS Direct Connect (o). AWS VPN AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

  • Le applicazioni in-VPC inviano inoltre traffico all'endpoint dell'interfaccia. AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

Utilizzo di endpoint gateway e endpoint di interfaccia insieme nello stesso VPC per accedere ad Amazon S3

Puoi creare endpoint di interfaccia e mantenere l'endpoint gateway esistente nello stesso VPC, come illustrato nel diagramma seguente. Con questo approccio consenti alle applicazioni nel VPC di continuare ad accedere ad Amazon S3 tramite l'endpoint gateway senza essere fatturate. Quindi, solo le applicazioni on-premise utilizzerebbero gli endpoint di interfaccia per accedere ad Amazon S3. Per accedere ad Amazon S3 in questo modo, è necessario aggiornare le applicazioni On-Premise per utilizzare nomi DNS specifici degli endpoint per Amazon S3.


          Diagramma di flusso dei dati che mostra l'accesso ad Amazon S3 utilizzando gli endpoint gateway e gli endpoint di interfaccia insieme.

Il diagramma illustra quanto segue:

  • Le applicazioni locali utilizzano nomi DNS specifici dell'endpoint per inviare dati all'endpoint di interfaccia all'interno del VPC tramite (o). AWS Direct Connect AWS VPN AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

  • Utilizzando i nomi regionali Amazon S3 predefiniti, le applicazioni in-VPC inviano dati all'endpoint gateway che si connette ad Amazon S3 tramite la rete. AWS

Per ulteriori informazioni sugli endpoint gateway, consulta Endpoint VPC gateway nella Guida per l'utente di VPC.

Creazione di una policy per l'endpoint VPC per Amazon S3

Puoi allegare una policy di endpoint all'endpoint VPC che controlla l'accesso ad Amazon S3. Questa policy specifica le informazioni riportate di seguito:

  • Il principale AWS Identity and Access Management (IAM) che può eseguire azioni

  • Le azioni che possono essere eseguite

  • Le risorse sui cui si possono eseguire le azioni

Puoi utilizzare le policy del bucket di Amazon S3 anche per limitare l'accesso a bucket specifici da un endpoint VPC specifico utilizzando la condizione aws:sourceVpce nella policy del bucket. Negli esempi seguenti vengono illustrate le policy che limitano l'accesso a un bucket o a un endpoint.

Puoi creare una policy di endpoint che limita l'accesso solo a bucket Amazon S3 specifici. Questo tipo di policy è utile se Servizi AWS nel tuo VPC sono presenti altre policy che utilizzano bucket. La seguente policy del bucket limita l'accesso solo a DOC-EXAMPLE-BUCKET1. Per utilizzare questa policy di endpoint, sostituisci DOC-EXAMPLE-BUCKET1 con il nome del bucket.

{ "Version": "2012-10-17", "Id": "Policy1415115909151", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET1", "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*"] } ] }

Puoi creare una policy per gli endpoint che limiti l'accesso solo ai bucket S3 in uno specifico caso. Account AWS Per impedire ai client nel VPC di accedere ai bucket di cui non sei proprietario, utilizza la seguente istruzione nella policy di endpoint. Nell'esempio seguente viene creata una policy che limita l'accesso alle risorse di proprietà di un singolo ID Account AWS , 111122223333.

{ "Statement": [ { "Sid": "Access-to-bucket-in-specific-account-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": "arn:aws:s3:::*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
Nota

Per specificare l' Account AWS ID della risorsa a cui si accede, puoi utilizzare la aws:ResourceAccount o la s3:ResourceAccount chiave nella tua policy IAM. Tuttavia, tieni presente che alcuni Servizi AWS si basano sull'accesso ai bucket AWS gestiti. Pertanto, l'utilizzo della chiave di condizione aws:ResourceAccount o s3:ResourceAccount nella policy IAM potrebbe anche influire sull'accesso a tali risorse.

Esempio: limitazione dell'accesso a un endpoint VPC specifico nella policy del bucket S3

La seguente policy del bucket Amazon S3 consente l'accesso a un bucket specifico, DOC-EXAMPLE-BUCKET2, solo dall'endpoint VPC vpce-1a2b3c4d. La policy nega l'accesso al bucket se l'endpoint specificato non è in uso. La condizione aws:sourceVpce viene utilizzata per specificare l'endpoint e non richiede un nome della risorsa Amazon (ARN) per la risorsa dell'endpoint VPC, ma solo l'ID dell'endpoint. Per utilizzare questa politica del bucket, sostituisci DOC-EXAMPLE-BUCKET2 e vpce-1a2b3c4d con il nome e l'endpoint del bucket.

Importante
  • Quando applichi la seguente policy del bucket Amazon S3 per limitare l'accesso solo a determinati endpoint VPC, potresti senza volerlo bloccare l'accesso al bucket. Le policy del bucket che hanno lo scopo di limitare l'accesso del bucket a connessioni originate dall'endpoint VPC possono bloccare tutte le connessioni al bucket. Per informazioni su come risolvere questo problema, consulta La policy del bucket ha l'ID del VPC o dell'endpoint VPC sbagliato. Come posso correggere la policy in modo da poter accedere al bucket? nel Knowledge Center di AWS Support .

  • Prima di utilizzare la policy di esempio seguente, sostituire l'ID endpoint VPC con un valore appropriato per il caso d'uso. In caso contrario, non sarà possibile accedere al bucket.

  • Questa policy disabilita l'accesso alla console al bucket specificato in quanto le richieste della console non provengono dall'endpoint VPC specificato.

{ "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET2", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*"], "Condition": {"StringNotEquals": {"aws:sourceVpce": "vpce-1a2b3c4d"}} } ] }

Per altri esempi di policy, consulta Endpoint per Amazon S3 nella Guida per l'utente di VPC.

Per ulteriori informazioni sulla connettività VPC, consulta le opzioni di connettività da rete a VPC nel white paper Opzioni di connettività AWS Amazon Virtual Private Cloud.