署名付き 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 を生成するには
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
左側のナビゲーションペインで、[バケット] を選択します。
-
[バケット] リストで、署名付き URL を取得するオブジェクトが含まれているバケットの名前を選択します。
-
[オブジェクト] リストで、署名付き URL を作成するオブジェクトを選択します。
-
[オブジェクトアクション] メニューで、[署名付き URL で共有] を選択します。
-
署名付き URL の有効期間を指定します。
-
[Create presigned URL] (署名付き URL を作成) を選択します。
-
確認が表示されると、URL は自動的にクリップボードにコピーされます。署名済み URL を再度コピーする必要がある場合は、署名済み URL をコピーするボタンが表示されます。
次の例では、AWS CLI コマンドにより、Amazon S3 バケットのオブジェクトを共有するための署名付き URL を生成します。AWS CLI を使用する場合、署名付き URL の最大有効期限は、作成時点から 7 日間です。この例を実行するには、
をユーザー自身の情報に置き換えます。user input
placeholders
aws s3 presign s3://
amzn-s3-demo-bucket
/mydoc.txt
--expires-in604800
注記
2019 年 3 月 20 日より後に開設されたすべての AWS リージョンでは、リクエストで endpoint-url
と AWS リージョン
を指定する必要があります。すべての Amazon S3 のリージョンとエンドポイントのリストについては、「AWS 全般のリファレンス」の「リージョンとエンドポイント」を参照してください。
aws s3 presign s3://
amzn-s3-demo-bucket
/mydoc.txt
--expires-in604800
--regionaf-south-1
--endpoint-urlhttps://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 のパラメータとして渡すことができます。
注記
現時点では、AWS Toolkit for Visual Studio は Visual Studio for Mac をサポートしていません。
-
「AWS Toolkit for Visual Studio ユーザーガイド」の「Toolkit for Visual Studio のインストールとセットアップ」の手順に従って、AWS Toolkit for Visual Studio をインストールします。
-
「AWS Toolkit for Visual Studio ユーザーガイド」の「AWS に接続する」の手順に従って、AWS に接続します。
-
AWS Explorer というラベルの左側のパネルで、オブジェクトを含むバケットをダブルクリックします。
-
署名付き URL を生成するオブジェクトを右クリックし、[署名付き URL を作成...] を選択します。
-
ポップアップウィンドウで、署名付き URL の有効期限日時を設定します。
-
[オブジェクトキー] は、選択したオブジェクトに基づいて事前に入力されている必要があります。
-
[GET] を選択して、この署名付き URL をオブジェクトのダウンロードに使用するように指定します。
-
[生成] ボタンを選択します。
-
URL をクリップボードにコピーするには、[コピー] を選択します。
-
生成された署名付き URL を使用するには、URL を任意のブラウザに貼り付けます。
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 のインストール」を参照してください。
-
AWS に接続します (AWS Toolkit for Visual Studio Code ユーザーガイド」の「AWS Toolkit for Visual Studio Code に接続する」の手順に従います。
-
Visual Studio Code の左側のパネルで AWS ロゴを選択します。
-
[エクスプローラー] で、[S3] を選択します。
-
バケットとファイルを選択し、右クリックしてコンテキストメニューを開きます。
-
[署名済み URL を生成] を選択し、有効期限 (分単位) を設定します。
-
Enter キーを押すと、署名付き URL がクリップボードにコピーされます。