

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SQSで一時的なセキュリティ認証情報を使用する
<a name="sqs-using-temporary-security-credentials"></a>

IAM では、独自のセキュリティ認証情報を使用してユーザーを作成するだけでなく、任意のユーザーに一時的なセキュリティ認証情報を付与できるため、ユーザーは AWS サービスとリソースにアクセスできます。 AWS アカウントを持つユーザーを管理できます。また、 を持たないシステムのユーザー AWS アカウント (フェデレーティッドユーザー) を管理することもできます。さらに、 AWS リソースにアクセスするために作成したアプリケーションは、「ユーザー」と見なされることもあります。

Amazon SQSに対するリクエストを作成するときに、これらの一時的なセキュリティ認証情報を使用できます。APIライブラリによって、これらの認証情報を使用して必要な署名値が計算されて、リクエストが認証されます。失効した証明書を使用してリクエストを送信した場合、Amazon SQS はリクエストを拒否します。

**注記**  
一時的な認証情報に基づいてポリシーを設定することはできません。

## 前提条件
<a name="temporary-security-credentials-prerequisites"></a>

1. 一時的なセキュリティ認証情報を作成するには、IAMを使用します。
   + セキュリティトークン
   + アクセスキー ID
   + シークレットアクセスキー

1. 一時アクセスキー IDとセキュリティトークンで署名対象のリクエスト文字列を準備します。

1. 独自のシークレットアクセスキーの代わりに一時シークレットアクセスキーを使用して、クエリAPI リクエストに署名します。

**注記**  
署名付きのクエリAPI リクエストを送信するときは、独自のアクセスキー ID の代わりに一時アクセスキー IDを使用して、セキュリティトークンを含めます。一時的なセキュリティ認証情報の IAM サポートの詳細については、*IAM ユーザーガイド*の[AWS 「リソースへの一時的なアクセスの付与](https://docs.aws.amazon.com/IAM/latest/UserGuide/TokenBasedAuth.html)」を参照してください。

## 一時的なセキュリティ認証情報を使用して Amazon SQSクエリ API アクションを呼び出すには
<a name="temporary-security-credentials-query-api"></a>

1. を使用して一時的なセキュリティトークンをリクエストします AWS Identity and Access Management。詳細については、*IAM ユーザーガイド*の[「一時的なセキュリティ認証情報を使用して、IAMユーザーのアクセスを可能にする」](https://docs.aws.amazon.com/IAM/latest/UserGuide/CreatingSessionTokens.html) を参照してください。

   IAMにより、セキュリティトークン、アクセスキー ID、シークレットアクセスキーが返信されます。

1. クエリは、独自のアクセスキー IDの代わりに一時アクセスキー IDを使用し、セキュリティトークンを含めて準備します。独自のシークレットアクセスキーの代わりに一時シークレットアクセスキーを使用してリクエストに署名します。

1. 一時アクセスキー IDとセキュリティトークンを含む署名付きクエリ文字列を送信します。

   以下の例は、一時的なセキュリティ認証情報を使用してAmazon SQS リクエストを認証する方法を示しています。*`AUTHPARAMS`*の構造はAPIリクエストの署名によって異なります。詳細については、*Amazon Web Services 全般のリファレンス*[の AWS API リクエストの署名](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)を参照してください。

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=CreateQueue
   &DefaultVisibilityTimeout=40
   &QueueName=MyQueue
   &Attribute.1.Name=VisibilityTimeout
   &Attribute.1.Value=40
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   &AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

   以下の例は、一時的なセキュリティ認証情報を使用し、`SendMessageBatch` アクションで 2 つのメッセージを送信する方法を示しています。

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=SendMessageBatch
   &SendMessageBatchRequestEntry.1.Id=test_msg_001
   &SendMessageBatchRequestEntry.1.MessageBody=test%20message%20body%201
   &SendMessageBatchRequestEntry.2.Id=test_msg_002
   &SendMessageBatchRequestEntry.2.MessageBody=test%20message%20body%202
   &SendMessageBatchRequestEntry.2.DelaySeconds=60
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
   &AWSAccessKeyId=AKIAI44QH8DHBEXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```