Amazon Simple Queue Service
開発者ガイド

一時的なセキュリティ認証情報の使用

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

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

注記

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

前提条件

  1. 一時的なセキュリティ認証情報を作成するには、IAM を使用します。

    • セキュリティトークン

    • アクセスキー ID

    • シークレットアクセスキー

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

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

注記

署名付きのクエリ API リクエストを送信するときは、独自のアクセスキー ID の代わりに一時アクセスキー ID を使用して、セキュリティトークンを含めます。IAM による一時的なセキュリティ認証情報のサポートについては、『IAM ユーザーガイド』の「Granting Temporary Access to Your AWS Resources」を参照してください。

一時的なセキュリティ認証情報を使用して Amazon SQS クエリ API アクションを呼び出すには

  1. AWS Identity and Access Management を使って一時セキュリティトークンをリクエストします。詳細については、『IAM ユーザーガイド.』の「IAM ユーザーにアクセスを許可する一時的なセキュリティ認証情報の作成」を参照してください。

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

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

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

    以下の例は、一時的なセキュリティ認証情報を使用して Amazon SQS リクエストを認証する方法を示しています。AUTHPARAMS の構造は、API リクエストの署名によって異なります。詳細については、アマゾン ウェブ サービス全般のリファレンスの「AWS API リクエストへの署名」を参照してください。

    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