Pourquoi mon URL pré-signée pour un compartiment Amazon S3 expire-t-elle avant l'heure d'expiration spécifiée ?

Dernière mise à jour : 18/12/2020

J'ai créé une URL pré-signée pour un compartiment Amazon Simple Storage Service (Amazon S3) à l'aide d'un jeton temporaire, mais l'URL a expiré avant l'heure d'expiration spécifiée. Pourquoi cela se produit-il ? Comment puis-je créer une URL pré-signée valide plus longtemps ?

Résolution

Si vous avez créé une URL pré-signée à l'aide d'un jeton temporaire, l'URL expire lorsque le jeton expire, même si l'URL a été créée avec une heure d'expiration postérieure.

Les informations d'identification que vous pouvez utiliser pour créer une URL pré-signée incluent :

  • Profil d'instance AWS Identity and Access Management (IAM) : valide pendant 6 heures
  • AWS Security Token Service (STS) : valide pendant 36 heures, lorsque signé avec des informations d'identification permanentes, telles que les informations d'identification de l'utilisateur racine du compte AWS ou d'un utilisateur IAM
  • Utilisateur IAM : valide pendant 7 jours en cas d'utilisation d'AWS Signature Version 4

Afin de créer une URL pré-signée valide pendant 7 jours, désignez premièrement des informations d'identification d'utilisateur IAM (clé d'accès et clé d'accès secrète) pour le kit SDK que vous utilisez. Ensuite, générez une URL pré-signée avec AWS Signature Version 4. Pour obtenir des exemples, consultez Calculs de signature dans AWS Signature Version 4.