Come posso concedere alla mia istanza Amazon EC2 l'accesso a un bucket Amazon S3?

4 minuti di lettura
0

Non riesco ad accedere a un bucket Amazon Simple Storage Service (Amazon S3) dalla mia istanza Amazon Elastic Compute Cloud (Amazon EC2). Come posso attivare l'accesso in lettura/scrittura ai bucket S3 da un'istanza EC2?

Breve descrizione

Per connetterti ai bucket S3 dalle tue istanze EC2, devi procedere come segue:

1.    Crea un ruolo del profilo AWS Identity and Access Management (IAM) che conceda l'accesso ad Amazon S3.

2.    Collega il profilo dell'istanza IAM all'istanza.

3.    Convalida le autorizzazioni sul tuo bucket S3.

4.    Verifica la connettività di rete dall'istanza EC2 ad Amazon S3.

5.    Convalida l'accesso ai bucket S3.

Risoluzione

Crea un profilo dell'istanza IAM che conceda l'accesso ad Amazon S3

1.    Apri la console IAM.

2.    Scegli Ruoli, quindi scegli Crea ruolo.

3.    Seleziona Servizio AWS, quindi scegli EC2 in Caso d'uso.

Nota: la creazione di un ruolo IAM dalla console con EC2 selezionato come entità attendibile crea automaticamente un profilo dell'istanza IAM con lo stesso nome del nome del ruolo. Tuttavia, se il ruolo viene creato utilizzando l'interfaccia della linea di comando AWS (AWS CLI) o dall'API, il profilo dell'istanza non viene creato automaticamente. Per ulteriori informazioni, consulta Ho creato un ruolo IAM, ma il ruolo non viene visualizzato nell'elenco a discesa quando avvio un'istanza. Cosa devo fare?

4.    Seleziona Avanti: Autorizzazioni.

5.    Crea una policy personalizzata che fornisca le autorizzazioni minime richieste per accedere al tuo bucket S3. Per istruzioni sulla creazione di policy personalizzate, consulta Writing IAM policies: how to grant access to an Amazon S3 bucket e Identity and access management in Amazon S3.

Nota: la creazione di una policy con le autorizzazioni minime richieste è una best practice per la sicurezza. Tuttavia, per consentire a EC2 l'accesso a tutti i tuoi bucket Amazon S3, utilizza la policy IAM gestita AmazonS3ReadOnlyAccess o AmazonS3FullAccess.

6.    Seleziona Avanti: Tag, quindi seleziona Avanti: Rivedi.

7.    Inserisci un Nome ruolo, quindi seleziona Crea ruolo.

Collega il profilo dell'istanza IAM all'istanza EC2

1.    Apri la console Amazon EC2.

2.    Seleziona Istanze.

3.    Seleziona l'istanza a cui vuoi associare il ruolo IAM.

4.    Scegli la scheda Operazioni, Sicurezza, quindi scegli Modifica ruolo IAM.

5.    Seleziona il ruolo IAM che hai appena creato, quindi scegli Salva. Il ruolo IAM viene assegnato alla tua istanza EC2.

Convalida le autorizzazioni sul tuo bucket S3

1.    Apri la console Amazon S3.

2.    Seleziona il bucket S3 per il quale vuoi verificare la policy.

3.    Scegli Autorizzazioni.

4.    Scegli Policy del bucket.

5.    Cerca le affermazioni con Effetto: Nega.

6.    Nella tua policy del bucket, modifica o rimuovi qualsiasi istruzione Effetto: Nega che neghi al profilo dell'istanza IAM l'accesso al tuo bucket. Per istruzioni sulla modifica delle policy, consulta Editing IAM policies.

Verifica la connettività di rete dall'istanza EC2 ad Amazon S3

Affinché l'istanza EC2 si connetta agli endpoint S3, l'istanza deve essere una delle seguenti:

  • Istanza EC2 con un indirizzo IP pubblico e una voce nella tabella di routing con il percorso predefinito che punta a un gateway Internet
  • Istanza EC2 privata con un percorso predefinito tramite un gateway NAT
  • Istanza EC2 privata con connettività ad Amazon S3 tramite un endpoint VPC gateway

Per risolvere i problemi di connettività tra un'istanza EC2 privata e un bucket S3, consulta Why can’t I connect to an S3 bucket using a gateway VPC endpoint?

Convalida l'accesso ai bucket S3

1.    Installa AWS CLi sulla tua istanza EC2.

Nota: se ricevi errori durante l'esecuzione dei comandi AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI.

2.    Verifica l'accesso ai tuoi bucket S3 eseguendo il seguente comando. Sostituisci DOC-EXAMPLE-BUCKET con il nome del tuo bucket S3.

aws s3 ls s3://DOC-EXAMPLE-BUCKET

Nota: agli oggetti S3 crittografati con una chiave del Sistema AWS di gestione delle chiavi (AWS KMS) devono essere concesse le autorizzazioni kms: Decrypt come segue:

  • Il ruolo IAM associato all'istanza.
  • La policy della chiave KMS.

Se queste autorizzazioni non vengono concesse, non puoi copiare o scaricare gli oggetti S3. Per ulteriori informazioni, consulta Devo specificare la chiave AWS KMS quando scarico un oggetto crittografato con KMS da Amazon S3?


Informazioni correlate

Why can’t I connect to an S3 bucket using a gateway VPC endpoint?

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa