一時トークンを使用して、Amazon Simple Storage Service (Amazon S3) バケットの署名付き URL を作成しました。しかし、URL は指定した有効期限前に失効しました。原因は何でしょうか? 有効期限がより長い署名付き URL を作成する方法を教えてください。
一時トークンを使用して署名済み URL を作成した場合は、トークンが失効すると URL も失効します。それより後の有効期限を指定して URL を作成した場合でも、URL は失効します。
署名付き URL の作成に使用できる認証情報には以下が含まれます。
最長 7 日間有効の署名付き URL を作成するには、SDK に対する IAM ユーザー認証情報 (アクセスキーとシークレットアクセスキー) を指定します。その後、AWS 署名バージョン 4 を使用して署名付き URL を生成します。例については、「Signature calculations in AWS Signature Version 4」(AWS Signature Version 4 での署名の計算) を参照してください。
署名付き URL を作成するときは、次の点に留意してください。
ユーザーが Amazon S3 バケット内のオブジェクトに 7 日を超える期間にわたってアクセスすることを許可するには、次のいずれかのオプションの使用を検討してください。
署名付き URL を使用したオブジェクトの共有
GetSessionToken
インスタンスメタデータからのセキュリティ認証情報の取得
Authenticating requests: Using query parameters (AWS Signature Version 4) (リクエストの認証: クエリパラメータの使用 (AWS Signature Version 4))
Boto 3 Docs: S3