Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Come posso concedere alla mia istanza Amazon EC2 l'accesso a un bucket Amazon S3 in un altro account AWS?
Desidero utilizzare un'istanza Amazon Elastic Compute Cloud (Amazon EC2) per accedere al mio bucket Amazon Simple Storage Service (Amazon S3) in un altro account AWS.
Risoluzione
Per concedere l'accesso multi-account da un'istanza EC2 a un bucket S3, configura una relazione di attendibilità tra due account AWS. Utilizza ruoli AWS Identity and Access Management (AWS IAM) per creare la relazione. Dall'account proprietario del bucket, crea un ruolo che conceda le autorizzazioni per S3. Dall'account proprietario dell'istanza EC2, crea un ruolo che possa assumere il ruolo di proprietario del bucket per accedere al bucket.
Crea un ruolo dall'account proprietario del bucket
Per creare un ruolo IAM (Identity and Access Management) dall'account proprietario del bucket, completa i seguenti passaggi:
-
Utilizza l'account proprietario del bucket per accedere alla Console di gestione AWS.
-
Apri la console IAM.
-
Nel pannello di navigazione, scegli Ruoli, quindi seleziona Crea ruolo.
-
Per Tipo di entità attendibile, scegli Account AWS.
-
Seleziona Un altro account AWS, quindi inserisci l'ID dell'account proprietario dell'istanza EC2.
Nota: non selezionare Require external ID (Richiedi ID esterno) o Richiedi MFA a meno che i requisiti di sicurezza non impongano tali opzioni. -
Scegli Avanti.
-
Collega una policy IAM al ruolo che delega l'accesso ad Amazon S3, quindi scegli Avanti. Ad esempio, la seguente policy IAM concede a s3:GetObject l'accesso agli oggetti contenuti nel bucket:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] } ] }Nota: sostituisci DOC-EXAMPLE-BUCKET con il nome del tuo bucket. Inoltre, modifica la policy IAM in base alle autorizzazioni a livello di bucket e di oggetto Amazon S3 necessarie per il caso d'uso.
-
In Nome ruolo, inserisci un nome per il ruolo.
-
(Facoltativo) Aggiungi tag al ruolo.
-
Scegli Crea ruolo.
Dall'account proprietario del bucket, identifica il nome della risorsa Amazon (ARN) del ruolo IAM
Per identificare l'ARN del ruolo IAM, completa i seguenti passaggi:
- Dal pannello di navigazione della console IAM, scegli Ruoli.
- Scegli il ruolo IAM che hai creato.
- Prendi nota del valore indicato in ARN ruolo.
Dall'account proprietario dell'istanza EC2, crea un altro ruolo e collegalo all'istanza
Per creare un altro profilo dell'istanza dall'account proprietario dell'istanza EC2 e collegarlo all'istanza, completa i seguenti passaggi:
- Utilizza l'account proprietario dell'istanza EC2 per accedere alla Console di gestione AWS.
- Apri la console IAM.
- Dal pannello di navigazione, scegli Ruoli, quindi seleziona Crea ruolo.
- Per Tipo di entità attendibile, scegli Servizio AWS.
- Per Servizio o caso d'uso, scegli EC2, quindi seleziona il caso d'uso.
- Scegli Avanti.
- Nella pagina Aggiungi autorizzazioni scegli Avanti.
- In Nome ruolo, inserisci un nome per il ruolo.
- (Facoltativo) Aggiungi tag al ruolo.
- Scegli Crea ruolo.
- Dall'elenco dei ruoli, scegli il ruolo che hai appena creato.
- Per Aggiungi autorizzazioni, scegli Crea policy inline.
- Per Editor di policy, seleziona JSON, quindi inserisci la seguente policy:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111111111111:role/ROLENAME" }] }
Nota: sostituisci arn:aws:iam::111111111111:role/ROLENAME con l'ARN del ruolo IAM che hai creato nell'account proprietario del bucket.
- Scegli Avanti.
- In Nome, inserisci un nome per la policy, quindi scegli Crea policy.
- Collega il ruolo IAM all'istanza che utilizzi per accedere al bucket Amazon S3.
Dall'istanza Amazon EC2, crea un profilo per il ruolo nel file di configurazione di CLI
Nota: se utilizzi SSH e Gestione sessione per connetterti alle istanze, devi completare questi passaggi sia per ec2-user che per ssm-user. Gestione sessione è uno strumento di AWS Systems Manager.
Per creare un profilo dall’istanza per il ruolo nel file di configurazione di CLI, completa i seguenti passaggi:
-
Connettiti all'istanza. Per ulteriori informazioni, consulta Connessione a un'istanza Linux tramite SSH o Connessione all'istanza Windows con il protocollo RDP.
-
Per determinare se la directory ha già una cartella denominata ~/.aws, esegui questo comando ls per elencarne il contenuto:
ls -l ~/.aws -
Se la cartella ~/.aws è presente, procedi al passaggio successivo. Se la cartella ~/.aws non è presente, esegui questo comando mkdir per crearla:
mkdir ~/.aws/ -
Nella cartella ~/.aws, utilizza un editor di testo per creare un file. Denomina il file config.
-
Nel file, inserisci il seguente testo per definire un profilo per il ruolo:
[profile enterprofilename] role_arn = arn:aws:iam::111111111111:role/ROLENAME credential_source = Ec2InstanceMetadataNota: sostituisci enterprofilename con il tuo valore. Sostituisci arn:aws:iam::111111111111:role/ROLENAME con l'ARN del ruolo che hai creato nell'account proprietario del bucket.
-
Salva il file.
Verifica che il profilo dell'istanza possa assumere il ruolo
Per verificare che il ruolo dell'istanza possa assumere il ruolo nell'account B, connettiti all'istanza ed esegui questo comando:
aws sts get-caller-identity --profile profilename
Nota: sostituisci profilename con il nome del ruolo che hai collegato all'istanza.
Il comando restituisce una risposta simile alla seguente:
"Account": "11111111111", "UserId": "AROAEXAMPLEID:sessionName", "Arn": "arn:aws:sts::111111111111:assumed-role/ROLENAME/sessionName"
Verifica che il valore di "Arn" corrisponda all'ARN del ruolo che hai creato nell'account proprietario del bucket.
Verifica l'accesso al bucket Amazon S3
Per verificare che l'istanza possa accedere al bucket S3, connettiti all'istanza ed esegui questo comando list:
aws s3 ls s3://DOC-EXAMPLE-BUCKET --profile profilename
Nota: sostituisci DOC-EXAMPLE-BUCKET con il nome del tuo bucket e profilename con il nome che hai configurato nel file di configurazione.
Se l’istanza riesce ad accedere correttamente al bucket, ricevi una risposta simile alla seguente:
PRE Hello/ 2018-08-15 16:16:51 89 index.html
Informazioni correlate
Tutorial IAM: delega dell'accesso tra account AWS tramite i ruoli IAM
- Argomenti
- Storage
- Lingua
- Italiano

Contenuto pertinente
AWS UFFICIALEAggiornata 9 mesi fa