¿Por qué recibo un error de «Acceso denegado» o «Información no válida» cuando intento asumir un rol de IAM entre cuentas?

3 minutos de lectura
0

Al intentar asumir un rol de AWS Identity and Access Management (IAM) entre cuentas, recibo un error similar al siguiente: «Se ha producido un error (Acceso denegado) al llamar a la operación AssumeRole:» o bien «Información no válida en uno o más campos. Compruebe la información o póngase en contacto con su administrador».

Descripción corta

Para asumir el rol de IAM en otra cuenta de AWS, primero edite los permisos de la cuenta que asumió el rol de IAM. A continuación, edite la política de confianza de la otra cuenta (la que permite asumir el rol de IAM).

Por ejemplo, supongamos que tiene dos cuentas: una llamada «Account_Bob» y otra, «Account_Alice». También tiene un usuario o rol de IAM llamado «Bob» en Account_Bob y un rol de IAM llamado «Alice» en Account_Alice. En este escenario, Bob asumirá el rol de IAM denominado Alice.

Para usar la llamada a la API AssumeRole con varias cuentas o entre cuentas, debe tener una política de confianza que le permita asumir roles similares a los siguientes:

Este es el ejemplo de los permisos necesarios para Bob:

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

Y este es el ejemplo de la política de confianza de Alice:

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

Resolución

Para evitar errores al asumir un rol de IAM entre cuentas, tenga en cuenta lo siguiente:

Nota: Si recibe errores al ejecutar los comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de usar la versión más reciente de AWS CLI.

  • El rol que asume, Bob, debe tener permisos AssumeRole.
  • Debe iniciar sesión en la cuenta de AWS como Bob. Para obtener más información, consulte su ID de cuenta y alias de AWS.
  • El rol que se está asumiendo, Alice, debe existir. Asegúrese de que no se haya eliminado y de que el ARN esté configurado correctamente.
  • Si utiliza el encadenamiento de roles, asegúrese de no utilizar las credenciales de IAM de una sesión anterior. Para obtener más información, consulte la sección Encadenamiento de roles en Términos y conceptos de roles.
  • Si Account_Bob forma parte de una organización de AWS Organizations, es posible que haya una política de control de servicio (SCP) que limite el acceso AssumeRole con Account_Bob o Account_Alice. Para obtener más información, consulte Políticas de control de servicios (SCP).

Información relacionada

¿Cómo puedo obtener datos para ayudar a solucionar problemas de acceso de permiso de IAM denegado o errores no autorizados?

Cambio a un rol (Consola)

Cambio a un rol de IAM (AWS CLI)