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

最終更新日: 2022 年 8 月 11 日

一時トークンを使用して、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): AWS Identity and Access Management (IAM) ユーザーが署名した場合は最長 36 時間、ルートユーザーが署名した場合は最長 1 時間有効です。
  • IAM ユーザー: 最長 7 日間有効 (AWS 署名バージョン 4 を使用した場合)。

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

    署名付き URL を作成するときは、次の点に留意してください。

    • AWS Lambda 実行ロールなど、ロールを引き受けるサービスは、必ずしもロールのセッション期間の設定に準拠しているわけではありません。
    • 署名済み URL は、その URL を知っているユーザーに Amazon S3 バケットへのアクセス権を付与するものであるため、それらを適切に保護するのがベストプラクティスです。
    • 一時トークンを使用して署名済み URL を作成した場合は、トークンが失効すると URL も失効します。これは、URL がそれより後の有効期限で作成された場合にも当てはまります。

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


    この記事はお役に立ちましたか?


    請求に関するサポートまたは技術サポートが必要ですか?