Saltar al contenido

¿Cómo soluciono el error «Request has expired» cuando intento acceder a un objeto de S3?

2 minutos de lectura
0

Estoy intentando acceder a un objeto en Amazon Simple Storage Service (Amazon S3), pero aparece el mensaje de error «Request has expired».

Resolución

Amazon S3 devuelve este mensaje de error cuando intentas acceder a una URL prefirmada después de la fecha de vencimiento especificada de la URL.

Por ejemplo, en la siguiente respuesta, la fecha de caducidad de la URL prefirmada es el 28 de octubre de 2022. Aparece un mensaje de error si intentas acceder a la URL prefirmada después del 28 de octubre de 2022:

<Error>
    <Code>AccessDenied</Code>
    <Message>Request has expired</Message>
    <Expires>2022-10-28T07:13:14Z</Expires>
    <ServerTime>2022-10-28T20:03:02Z</ServerTime>
    <RequestId>87E1D2CFAAA7F9A6</RequestId>
    <HostId>
    A9BEluTV2hk3ltdFkixvQFa/yUBfUSgDjptwphKze+jXR6tYbpHCx8Z7y6WTfxu3rS4cGk5/WTQ=
    </HostId>
</Error>

Para resolver este problema, debes crear una nueva URL prefirmada para acceder al objeto. Puedes configurar la URL para que venza entre 1 minuto y 12 horas si utilizas la consola de Amazon S3 para establecer la fecha de vencimiento. O bien, puedes establecer la fecha de vencimiento de hasta 7 días si utilizas la interfaz de la línea de comandos de AWS (AWS CLI) o los SDK de AWS.

Para crear una nueva URL prefirmada, utiliza una de las siguientes credenciales:

  • Perfil de instancia de AWS Identity and Access Management (IAM)
  • AWS Security Token Service
  • Usuario de IAM

Nota: Si usas un token temporal para crear una URL prefirmada, la URL vence cuando vence el token. Una URL prefirmada vence cuando se revoca, elimina o desactiva la credencial que has usado para crear la URL. Esto es cierto incluso cuando configuras la URL para que venza más tarde que la credencial.

Información relacionada

Fecha de vencimiento de las URL prefirmadas

¿Por qué vence mi URL prefirmada para un bucket de Amazon S3 antes de la fecha de vencimiento que he especificado?