#amazon-web-services #amazon-s3 #command-line-interface
#amazon-web-services #amazon-s3 #интерфейс командной строки
Вопрос:
Согласно руководству, я назначил учетные данные пользователя IAM (ключ доступа и секретный ключ доступа) и сгенерировал URL-адрес с указанием имени, используя AWS Signature версии 4 следующим образом:
import os
os.system('aws configure set access_key {} --profile {}'.format(my_access_key, profile_name))
os.system('aws configure set secret_key {} --profile {}'.format(my_secret_key, profile_name))
os.system('aws configure set signature_version s3v4 --profile {}'.format(profile_name))
os.system("aws s3 presign {} --expires-in 604800 > public_url --profile {}".format(s3_path, profile_name))
Однако срок действия URL-адреса все равно истек через 6 часов. Есть ли какие-либо ошибки в моем коде или учетные данные, которые я использовал, не принадлежат пользователю IAM? Как я могу проверить типы учетных данных (IAM user или AWS IAM instance profile)? Я просто следую инструкциям, чтобы получить свой ключ доступа и секретный ключ доступа
Комментарии:
1.
my_access_key
Иmy_secret_key
принадлежат вашим пользователям IAM или какой-либо роли IAM?2. Я просто следую инструкциям ( docs.aws.amazon.com/powershell/latest/userguide /… ), чтобы получить ключи. Они от моего пользователя IAM.
3. Тогда я не вижу причины, по которой он истекает только через 6 часов. Как вы его тестировали?
4. Я нажимаю URL-адрес через 6 часов, и на странице отображается «Срок действия предоставленного токена истек».
5. Можете ли вы подтвердить это с помощью aws cli? Не используйте python, просто сделайте все это вручную в терминале и проверьте, совпадает ли он.