Authenticating requests to the Amazon SES API - Amazon Simple Email Service

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Authenticating requests to the Amazon SES API

Amazon SES API にアクセスするときは、AWS 署名を使用してリクエストを認証します。リクエストに有効な署名が含まれていない場合、Amazon SES はエラーを返し、リクエストを処理しません。

署名の詳細については、 AWS リクエスト、参照 署名 AWS リクエストAWS General Reference.

重要

2020 年 10 月 1 日以降、Amazon SES は署名バージョン 4 を使用して署名されたリクエストのみをサポートします。古いバージョンの AWS 署名を使用する場合は、その日より前に AWS 署名バージョン 4 を導入する必要があります。

Authentication errors

E メールを送信しようとしたときに、リクエストで以前のバージョンの AWS 署名が使用されている場合、次の例のようなエラーメッセージが表示されます。

<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/"> <Error> <Type>Sender</Type> <Code>InvalidClientTokenId</Code> <Message>The security token included in the request is invalid</Message> </Error> </ErrorResponse>

このエラーは、古いバージョンの AWS SDK または AWS CLI を使用するときに表示される可能性があります。このエラーは、古いバージョンの AWS 署名を使用する Amazon SES API に対して直接 HTTPS リクエストを行う場合にも表示される可能性があります。

このエラーメッセージが表示された場合は、AWS 署名バージョン 4 を使用するようにリクエストを更新する必要があります。

Migrating to the AWS Signature Version 4

AWS SDK または AWS CLI を使用する場合は、SDK の最新バージョンまたは AWS CLI にアップデートする必要があります。Amazon SES API に直接の HTTPS リクエストを行う場合は、リクエストのヘッダーを更新して AWS 署名バージョン 4 を使用します。以前のバージョンの AWS 署名を使用する API リクエストは、リクエストヘッダーを調べることで簡単に識別できます。たとえば、AWS 署名バージョン 3 を使用するリクエストは、次の例のようになります。

X-Amzn-Authorization: AWS3-HTTPS AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE,Algorithm=HMACSHA256,Signature=lBP67vCvGl ...

AWS 署名バージョン 4 を使用するリクエストには、次の情報を含む Authorization ヘッダーが含まれます。

  • The algorithm you used for signing (AWS4-HMAC-SHA256)

  • The credential scope (with your access key ID)

  • A list of signed headers

  • The calculated signature. The signature is based on your request information, and you use your AWS secret access key to produce the signature. The signature confirms your identity to AWS.

AWS 署名バージョン 4 を使用する Amazon SES API への呼び出しの例は、「Amazon SES API requests」を参照してください。の使用法の詳細については、 AWS 署名バージョン4、参照 署名 第4版署名プロセスAWS General Reference.