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 ?

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 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.

Par exemple, suivez ces étapes pour créer une URL pré-signée avec Boto 3 :

1.    Configurez vos informations d'identification IAM pour une utilisation avec Boto.

2.    Modifiez et exécutez l'extrait de code suivant afin de créer une URL pré-signée à utiliser avec un objet S3 :

import boto3
from botocore.client import Config

# Get the service client with sigv4 configured
s3 = boto3.client('s3', config=Config(signature_version='s3v4'))

# Generate the URL to get 'key-name' from 'bucket-name'
# URL expires in 604800 seconds (seven days)
url = s3.generate_presigned_url(
    ClientMethod='get_object',
    Params={
        'Bucket': 'bucket-name',
        'Key': 'key-name'
    },
    ExpiresIn=604800
)

print(url)

Avertissement : l'URL pré-signée expire prématurément si l'utilisateur IAM est supprimé, ou si la clé d'accès et la clé d'accès secrète sont désactivées.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 06/08/2018