REST API を使用したリクエストの認証
REST を使用して Amazon S3 にアクセスする場合は、リクエストが認証されるように、リクエストに以下の項目を指定する必要があります。
リクエストの要素
-
AWS アクセスキー ID – 各リクエストには、リクエストの送信に使用するアイデンティティのアクセスキー ID を含める必要があります。
-
署名 – 各リクエストには、リクエストの有効な署名を含める必要があります。含まれていない場合、リクエストは拒否されます。
リクエスト署名は、シークレットアクセスキーを使用して計算されます。シークレットアクセスキーは、自分と AWS のみが知っている共有の秘密です。
-
タイムスタンプ – 各リクエストには、リクエストを作成した日時 (UTC) を文字列として含める必要があります。
-
日付 – 各リクエストには、リクエストのタイムスタンプを含める必要があります。
使用する API アクションによっては、タイムスタンプを追加するかわりに、リクエストの有効期限を示す日時を指定できます。特定のアクションに必要な項目を確認するには、そのアクションの認証のトピックを参照してください。
Amazon S3 へのリクエストを認証する一般的なステップを以下に示します。この説明では、必要なセキュリティ認証情報、アクセスキー ID、およびシークレットアクセスキーをお客様が持っていることを前提としています。
1 |
AWSにリクエストします。 |
2 |
シークレットアクセスキーを使用して署名を計算します。 |
3 |
Amazon S3 にリクエストを送信します。リクエストにアクセスキー ID と署名を含めます。次 の 3 つのステップは、Amazon S3 で実行されます。 |
4 |
Amazon S3 がアクセスキー ID を使用してシークレットアクセスキーを調べます。 |
5 |
リクエストで送信した署名を計算するために使用したものと同じアルゴリズムを使用して、Amazon S3 がリクエストのデータとシークレットアクセスキーから署名を計算します。 |
6 |
Amazon S3 が生成した署名がリクエストで送信したものと一致した場合、リクエストは本物とみなされます。署名が一致しなかった場合、リクエストは破棄され、Amazon S3 はエラーレスポンスを返します。 |
詳細な認証情報
REST 認証の詳細については、「REST リクエストの署名と認証」を参照してください。