Требуется сгенерировать предварительно подписанные URL-адреса для доступа к частным объектам S3 с настраиваемым временем доступа от 1 до 6 дней.Используя роль (в EC2), я смог сгенерировать URL-адрес и затем обращаться к нему в течение достаточно долгого времени, прежде чем он завершится с ошибкой с помощью «Invalid Token» (хотя URL имеет действительный срок действия).
С некоторымипроверки показали, что его причина, идентификатор доступа к роли, секретные ключи вращаются максимум через 12 часов, другой вариант - использование ПОЛЬЗОВАТЕЛЯ IAM, чьи ключи не имеют срока действия.
Я пробовал то же самое, но без особой удачи.
session = boto3.session.Session(aws_access_key_id=getkval(KEY_ID), aws_secret_access_key=getkval(A_KEY),region_name='ap-south-1')
s3Client = session.client('s3', config= boto3.session.Config(signature_version='s3v4'))
url=s3Client.generate_presigned_url('get_object', Params = {'Bucket': filebucket, 'Key': key}, ExpiresIn = 86400*int(days))
При этом генерируется предварительно назначенный URL-адрес с ключом доступа, связанным с пользователем (можно увидеть его по ссылке), однако срок его действия истекает раньше, чем истекает срок действия.Что может быть не так?