Come posso accedere alle risorse di un altro account AWS utilizzando AWS IAM?

3 minuti di lettura
0

Voglio assumere un ruolo di AWS Identity and Access Management (IAM) in un altro account AWS. Come posso configurare l'accesso tra più account utilizzando IAM?

Breve descrizione

Puoi configurare una relazione di fiducia con un ruolo IAM in un altro account AWS per accedere alle relative risorse. Ad esempio, si desidera accedere all'account di destinazione dall'account di origine. Per fare ciò, assumi il ruolo IAM dall'account di origine a quello di destinazione fornendo l'autorizzazione utente IAM per l'API AssumeRole. Devi specificare il tuo utente IAM nella relazione di fiducia del ruolo IAM di destinazione.

Nota: Puoi anche assumere un ruolo dal ruolo IAM di origine al ruolo IAM di destinazione, invece di utilizzare il concatenamento dei ruoli da utente a ruolo. Il concatenamento dei ruoli funziona solo per l'accesso programmatico, ad esempio l'interfaccia a riga di comando AWS (AWS CLI) o l'API. La modifica del ruolo non può essere utilizzata con la Console di gestione AWS.

Risoluzione

Segui queste istruzioni per creare una politica di autorizzazione IAM per l'account di origine, allegare la policy a un utente e quindi creare un ruolo per l'account di destinazione.

Nota: Se ricevi errori durante l'esecuzione dei comandi dell'interfaccia a riga di comando di AWS,assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

Account di origine

1.Crea una policy IAM simile alla seguente:

Nota: Sostituisci DESTINATION-ACCOUNT-ID e DESTINATION-ROLENAME con i tuoi valori.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME"
      ]
    }
  ]
}

2.Allega la policy IAM alle autorizzazioni utente IAM.

Allega la policy creata alle autorizzazioni utente IAM seguendo i passaggi riportati qui.

Account di destinazione

1.Crea un ruolo IAM.

2.Incolla la politica di fiducia personalizzata in modo simile alla seguente:

Nota: Sostituisci SOURCE-ACCOUNT-ID e SOURCE-USERNAME con i tuoi valori.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:user/SOURCE-USERNAME"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Nota: Se non hai accesso alla creazione e alla modifica di ruoli e utenti IAM, richiedi assistenza al proprietario dell'account per completare il processo. Come buona prassi, concedi l'accesso al tuo account e alle tue risorse solo alle entità di cui ti fidi.

È possibile modificare questa politica per consentire l'assunzione di tutte le entità di origine per tutti i ruoli di destinazione necessari. Ad esempio, puoi modificare il valore Principale della politica di affidabilità dell'account di destinazione in "AWS": "SOURCE-ACCOUNT-ID". Ciò consente a tutte le entità nell'account di origine con le autorizzazioni di assumere il ruolo di account di destinazione. Per ulteriori informazioni, vedere Specificazione di un principale e Creazione o modifica della politica.

Testa il tuo accesso

Per testare il tuo accesso, segui le istruzioni per Passare a un ruolo (console).

-oppure-

Segui le istruzioni per Passare a un ruolo IAM (AWS CLI).

Per ulteriori informazioni, consulta il tutorial IAM: Delega l'accesso tra gli account AWS utilizzando i ruoli IAM.


Informazioni correlate

Come posso assumere un ruolo IAM utilizzando l'interfaccia a riga di comando di AWS?

Ho creato o aggiornato una policy IAM e ho ricevuto l'errore “Ha proibito il campo Principal”. Come posso risolvere questo problema?

Come posso fornire l'accesso tra account agli oggetti presenti nei bucket Amazon S3?

Perché ho ricevuto un errore “AccessDenied” o “Informazioni non valide” nel tentativo di assumere un ruolo IAM tra account?