Ho usato l'API AssumeRole per assumere un ruolo di AWS Identity and Access Management (IAM) utilizzando credenziali temporanee, ma ho ricevuto un errore simile al seguente: "The requested DurationSeconds exceeds the 1 hour session limit for roles assumed by role chaining".
Risoluzione
Per assumere un ruolo con credenziali di sicurezza temporanee, utilizza l'Interfaccia della linea di comando AWS (AWS CLI) con concatenazione dei ruoli. La concatenazione dei ruoli limita la sessione di ruolo AWS CLI o AWS API a 1 ora e non può essere aumentata. La durata massima di un'ora si applica solo ad AWS CLI e all'API AWS.
Importante: l'operazione ha esito negativo se il valore del parametro DurationSeconds per le credenziali temporanee è superiore a un'ora.
Utilizza le best practice seguenti per la concatenazione dei ruoli:
- Per ottenere le credenziali temporanee di un ruolo, utilizza la funzionalità di cambio ruolo nella Console di gestione AWS. La Console di gestione AWS utilizza le credenziali IAM o dell'utente federato per passare a un altro ruolo.
- Gli utenti che utilizzano l'autenticazione a più fattori (MFA) con AWS CLI utilizzano credenziali temporanee per assumere un altro ruolo. L'API GetSessionToken del Servizio di token di sicurezza AWS (AWS STS) genera credenziali temporanee limitate a 1 ora.
- Se utilizzi la concatenazione dei ruoli per assumere il Ruolo B per lo stesso account AWS del Ruolo A, assegna autorizzazioni aggiuntive al Ruolo A. Tali autorizzazioni evitano la concatenazione dei ruoli con il Ruolo B.
Nota: se visualizzi dei messaggi di errore quando esegui i comandi dell'interfaccia della linea di comando AWS, consulta la sezione Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Informazioni correlate
Risolvi i problemi di IAM e Amazon EC2