Amazon S3 バケットの署名付き URL が、指定した有効期限より前に失効するのはなぜですか?

最終更新日: 2021 年 9 月 16 日

一時トークンを使用して、Amazon Simple Storage Service (Amazon S3) バケットの署名付き URL を作成しました。しかし、URL は指定した有効期限前に失効しました。原因は何でしょうか? 有効期限がより長い署名付き URL を作成する方法を教えてください。

解決方法

一時トークンを使用して署名済み URL を作成した場合は、トークンが失効すると URL も失効します。それより後の有効期限を指定して URL を作成した場合でも、URL は失効します。

署名付き URL の作成に使用できる認証情報には以下が含まれます。

  • AWS Identity and Access Management (IAM) インスタンスプロファイル: 最長 6 時間有効。
  • AWS Security Token Service (STS): IAM ユーザーが署名した場合は最長 36 時間、ルートユーザーが署名した場合は最長 1 時間有効です。
  • IAM ユーザー: 最長 7 日間有効 (AWS 署名バージョン 4 を使用した場合)。

最長 7 日間有効の署名付き URL を作成するには、SDK に対する IAM ユーザー認証情報 (アクセスキーとシークレットアクセスキー) を指定します。その後、AWS 署名バージョン 4 を使用して署名付き URL を生成します。例については、Signature calculations in AWS Signature Version 4 を参照してください。

ユーザーが Amazon S3 バケット内のオブジェクトに 7 日を超える期間アクセスすることを許可するには、次のいずれかのオプションの使用を検討してください。