署名付き URL を使用したオブジェクトの共有 - Amazon Simple Storage Service

署名付き URL を使用したオブジェクトの共有

デフォルトでは、すべての Amazon S3 オブジェクトはプライベートであり、オブジェクトの所有者のみがアクセスできます。ただし、オブジェクトの所有者は、署名付き URL を作成することで、他のユーザーとオブジェクトを共有できます。署名済み URL は、セキュリティ認証情報を使用してオブジェクトをダウンロードするアクセス許可を期限付きで付与します。署名付き URL をブラウザに入力するか、プログラムで使用してオブジェクトをダウンロードできます。署名付き URL で使用される認証情報は、URL を生成した AWS ユーザーのものです。

署名付き URL の一般的な情報については、「署名付き URL の使用」を参照してください。

オブジェクトを共有するための署名付き URL は、Amazon S3 コンソール、AWS Explorer for Visual Studio (Windows)、または AWS Toolkit for Visual Studio Code を使用してコードを記述せずに作成できます。AWS Command Line Interface (AWS CLI) または AWS SDK を使用して、署名付き URL をプログラムで生成することもできます。

Amazon S3 コンソールで次の手順に従い、オブジェクトを共有するための署名付き URL を生成できます。コンソールを使用した場合、署名付き URL の最大有効期限は作成時点から 12 時間です。

Amazon S3 コンソールを使用して署名付き URL を生成するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインで、[バケット] を選択します。

  3. [Buckets] (バケット) リストで、署名付き URL を取得するオブジェクトが含まれているバケットの名前を選択します。

  4. [Objects] (オブジェクト) リストで、署名付き URL を作成するオブジェクトを選択します。

  5. [オブジェクトアクション] メニューで、[署名付き URL で共有] を選択します。

  6. 署名付き URL の有効期間を指定します。

  7. [Create presigned URL] (署名付き URL を作成) を選択します。

  8. 確認が表示されると、URL は自動的にクリップボードにコピーされます。署名済み URL を再度コピーする必要がある場合は、署名済み URL をコピーするボタンが表示されます。

次の例では、AWS CLI コマンドにより、Amazon S3 バケットのオブジェクトを共有するための署名付き URL を生成します。AWS CLI を使用する場合、署名付き URL の最大有効期限は、作成時点から 7 日間です。この例を実行するには、user input placeholders をユーザー自身の情報に置き換えます。

aws s3 presign s3://DOC-EXAMPLE-BUCKET1/mydoc.txt --expires-in 604800

注記

2019 年 3 月 20 日より後に開設されたすべての AWS リージョンでは、リクエストで endpoint-url と AWS リージョンを指定する必要があります。すべての Amazon S3 のリージョンとエンドポイントのリストについては、「AWS 全般のリファレンス」の「リージョンとエンドポイント」を参照してください。

aws s3 presign s3://DOC-EXAMPLE-BUCKET1/mydoc.txt --expires-in 604800 --region af-south-1 --endpoint-url https://s3.af-south-1.amazonaws.com

詳細については、AWS CLI コマンドリファレンスpresign を参照してください。

AWS SDK を使用してオブジェクトを共有するための署名付き URL を生成する例については、「AWS SDK を使用して Amazon S3 の署名付き URL を作成する」を参照してください。

署名付き URL の生成に AWS SDK を使用した場合、最大有効期限は、作成時点から 7 日間となります。

注記

2019 年 3 月 20 日より後に開設されたすべての AWS リージョンでは、リクエストで endpoint-url と AWS リージョンを指定する必要があります。すべての Amazon S3 のリージョンとエンドポイントのリストについては、「AWS 全般のリファレンス」の「リージョンとエンドポイント」を参照してください。

注記

AWS SDK を使用する場合、Tagging 属性はクエリパラメータではなく、ヘッダーでなければなりません。他のすべての属性は、署名済み URL のパラメータとして渡すことができます。

Visual Studio を使用している場合は、AWS Explorer for Visual Studio を使用することで、コードを一切記述しなくても、オブジェクトを共有するための署名付き URL を生成できます。詳細については、「AWS Toolkit for Visual Studio デベロッパーガイド」の「AWS Explorer から Amazon S3 を使用する」を参照してください。

AWS Explorer のインストール手順については、「AWS Toolkit for Visual Studio ユーザガイド」の「AWS Toolkit for Visual Studio のインストールとセットアップ」を参照してください。

注記

現時点では、AWS Toolkit for Visual Studio は Visual Studio for Mac をサポートしていません。

  1. AWS に接続します (「AWS Toolkit for Visual Studio ユーザーガイド」の「AWS 認証情報の提供」の手順に従います)。

  2. Amazon S3 ビューでファイルを選択し、右クリックしてコンテキストメニューを開きます。

  3. [署名付き URL を作成] を選択し、URL の有効期限の日時を設定します。

  4. [GET] を選択して、この署名付き URL をオブジェクトのダウンロードに使用するように指定します。

  5. [生成] ボタンを選択します。

  6. URL をクリップボードにコピーするには、[Copy (コピー)] を選択します。

Visual Studio Code を使用している場合は、AWS Toolkit for Visual Studio Code を使用してコードを一切記述せずに、オブジェクトを共有するための署名付き URL を生成できます。一般的な情報については、「AWS Toolkit for Visual Studio Code ユーザーガイド」の「AWS Toolkit for Visual Studio Code」を参照してください。

AWS Toolkit for Visual Studio Code のインストール手順については、「AWS Toolkit for Visual Studio Code ユーザーガイド」の「AWS Toolkit for Visual Studio Code のインストール」を参照してください。

  1. AWS に接続します (AWS Toolkit for Visual Studio Code ユーザーガイド」の「AWS Toolkit for Visual Studio Code に接続する」の手順に従います。

  2. Visual Studio Code の左側のパネルで AWS ロゴを選択します。

  3. [エクスプローラー] で、[S3] を選択します。

  4. バケットとファイルを選択し、右クリックしてコンテキストメニューを開きます。

  5. [署名済み URL を生成] を選択し、有効期限 (分単位) を設定します。

  6. Enter キーを押すと、署名付き URL がクリップボードにコピーされます。