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

3 minuti di lettura
0

Ho provato ad assumere un ruolo multi-account di AWS Identity and Access Management (IAM), ma ho ricevuto un errore simile al seguente: "Si è verificato un errore (AccessDenied) durante la chiamata all'operazione AssumeRole:" oppure "Informazioni non valide in uno o più campi. Controlla le tue informazioni o contatta il tuo amministratore".

Descrizione breve

Per assumere il ruolo IAM in un altro account AWS, per prima cosa modifica le autorizzazioni nell'account che ha assunto il ruolo IAM. Quindi, modifica la politica di fiducia nell'altro account (quello che consente l'assunzione del ruolo IAM).

Ad esempio, supponiamo di avere due account, uno denominato Account_Bob e l'altro denominato Account_Alice. C'è anche un ruolo o utente IAM denominato Bob in Account_Bob e un ruolo IAM denominato Alice in Account_Alice. In questo scenario, Bob assumerà il ruolo IAM chiamato Alice.

Per utilizzare la chiamata API AssumeRole con più account o multi-account, è necessario disporre di una policy di attendibilità per concedere l'autorizzazione ad assumere ruoli simili ai seguenti:

Ecco l'esempio delle autorizzazioni richieste per Bob:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PermissionToAssumeAlice",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::Account_Alice:role/Alice"
    }
  ]
}

Ed ecco l'esempio della policy di attendibilità per Alice:

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

Risoluzione

Per evitare errori nell'assunzione di un ruolo IAM multi-account, tieni presente quanto segue:

Nota: Se ricevi errori durante l'esecuzione dell'Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

  • Il ruolo che assumerà l'altro, ossia Bob, deve disporre delle autorizzazioni per AssumeRole.
  • Devi accedere all'account AWS come Bob. Per ulteriori informazioni, consulta l'ID del tuo account AWS e il relativo alias.
  • Il ruolo che viene assunto, Alice, deve essere un ruolo esistente. Assicurati che non sia stato eliminato e che l'ARN sia configurato correttamente.
  • Se utilizzi il concatenamento di ruoli, assicurati di non utilizzare le credenziali IAM di una sessione precedente. Per ulteriori informazioni, consulta la sezione relativa al concatenamento dei Ruoli dei termini e dei concetti relativi ai ruoli.
  • Se Account_Bob fa parte di AWS Organizations, potrebbe esistere una policy di controllo dei servizi (SCP) che limita l'accesso ad AssumeRole con Account_Bob o Account_Alice. Per ulteriori informazioni, consulta le policy di controllo del servizio (SCP).

Informazioni correlate

Come faccio a ottenere i dati per la risoluzione dei problemi relativi all'accesso negato o non autorizzato alle autorizzazioni IAM?

Passaggio a un ruolo (console)

Passaggio a un ruolo IAM (AWS CLI)