保管中の暗号化 - Amazon Simple Queue Service

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

保管中の暗号化

サーバー側の暗号化 (SSE)では、機密データを暗号化されたキューで送信できます。SSE は、SQS マネージド暗号化キー (SSE-SQS) または AWS Key Management Service (SSE-KMS) で管理されているキーを使用して、キュー内のメッセージの内容を保護します。を使用した SSE の管理については AWS Management Console、以下を参照してください。

( AWS SDK for Java および CreateQueue、、 GetQueueAttributesアクション) を使用した SSE の管理についてはSetQueueAttributes、次の例を参照してください。

Amazon SQSが受信したメッセージはすぐに、SSEによって暗号化されます。メッセージは暗号化された形式で保存され、承認済みのコンシューマーに送信された場合のみ、Amazon SQSによって解読されます。

重要

SSE が有効なキューへのすべてのリクエストでは必ず、HTTPSと署名バージョン4 を使用する必要があります。

デフォルトキー (Amazon SQS のAWS マネージド KMS キー) を使用する暗号化されたキューは、別の で Lambda 関数を呼び出すことはできません AWS アカウント。 Amazon SQS

AWS Security Token Service AssumeRole アクションを使用して Amazon SQS に通知を送信できる AWS サービスの一部の機能は、SSE と互換性がありますが、標準キューでのみ機能します。

暗号化されたキューとの他のサービスとの互換性については、AWS サービスの KMS アクセス許可を設定するとサービスドキュメントを参照してください。

AWS KMS は、安全で可用性の高いハードウェアとソフトウェアを組み合わせて、クラウド向けに拡張されたキー管理システムを提供します。で Amazon SQS を使用する場合 AWS KMS、メッセージデータを暗号化するデータキーも、保護対象のデータで暗号化され、保存されます。

AWS KMSを使用する利点は次のとおりです。

  • お客様自身で AWS KMS keys を作成および管理できます。

  • アカウントとリージョンごとに一意の Amazon SQS の AWS マネージド KMS キーを使用することもできます。

  • AWS KMS セキュリティ標準は、暗号化関連のコンプライアンス要件を満たすのに役立ちます。

詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS Key Management Service とは」を参照してください。

暗号化スコープ

SSEでは、Amazon SQS キューのメッセージ本文が暗号化されます。

SSEでは、以下は暗号化されません。

  • キューのメタデータ (キュー名と属性)

  • メッセージのメタデータ (メッセージ ID、タイムスタンプ、属性)

  • キューごとのメトリクス

メッセージを暗号化すると、未承認ユーザーまたは匿名ユーザーはそのメッセージを利用できなくなります。SSE を有効にすると、暗号化されたキューへの匿名の SendMessage リクエストと ReceiveMessage リクエストは拒否されます。Amazon SQS セキュリティベストプラクティスでは、匿名リクエストを使用しないことを推奨しています。Amazon SQS キューに匿名リクエストを送信する場合は、必ず SSE を無効にしてください。これは、Amazon SQSの正常な機能には影響しません。

  • メッセージが暗号化されるのは、キューの暗号化が有効になった後に送信される場合のみです。Amazon SQSは、バックログされたメッセージを暗号化しません。

  • キューの暗号化が無効になっても、暗号化されたメッセージは暗号化された状態で維持されます。

メッセージをデッドレターキューに移動しても、暗号化には影響しません。

  • 暗号化された出典キューから暗号化されていないデッドレターキューにメッセージがAmazon SQS によって移動された場合も、メッセージは暗号化された状態で維持されます。

  • 暗号化されていない出典キューから暗号化されたデッドレターキューにメッセージがAmazon SQSによって移動された場合、メッセージは暗号化されていない状態で維持されます。

重要な用語

以下の重要なキーは、SSEの機能を理解するうえで役立ちます。詳細については、「Amazon Simple キューサ-ビス API リファレンス」を参照してください。

データキー

キー (DEK) は、Amazon SQSメッセージの内容を暗号化します。

詳細については、AWS Encryption SDK デベロッパーガイド。の「AWS Key Management Service デベロッパーガイドデータキー」を参照してください。

データキー再利用期間

Amazon SQSがデータキーを再利用してメッセージを暗号化または復号してから AWS KMS 再度 を呼び出すことができる秒単位の時間。60秒(1分)から86,400秒(24時間)の秒数を表す整数。デフォルトは300(5分)です。詳細については、「データキー再利用期間について」を参照してください。

注記

万一 に到達できない場合でも AWS KMS、Amazon SQS は接続が再確立されるまでキャッシュされたデータキーを使用し続けます。

KMS キー ID

アカウントまたは別のアカウントの AWS マネージド KMS キーまたはカスタム KMS キーのエイリアス、エイリアス ARN、キー ID、またはキー ARN。Amazon SQS の AWS マネージド KMS キーのエイリアスは常に ですがalias/aws/sqs、カスタム KMS キーのエイリアスは などになりますalias/MyAlias。これらの KMS キーで Amazon SQS キューのメッセージを保護することができます。

注記

以下に留意してください。

  • カスタム KMS キーを指定しない場合、Amazon SQS は Amazon SQS の AWS マネージド KMS キーを使用します。 Amazon SQS

  • を初めて使用 AWS Management Console してキューの Amazon SQS の AWS マネージド KMS キーを指定すると、 AWS KMS は Amazon SQS の AWS マネージド KMS キーを作成します。

  • または、SSE が有効になっているキューで SendMessageまたは SendMessageBatchアクションを初めて使用する場合、 は Amazon SQS の AWS マネージド KMS キー AWS KMS を作成します。

コンソールまたは CreateKey AWS KMS アクションのカスタマーマネージドキーセクションを使用して、KMS キーの作成、KMS キーの使用方法を制御するポリシーの定義、および KMS キーの使用状況の AWS KMS 監査を行うことができます。詳しい情報については、AWS Key Management Service デベロッパーガイドKMS キーおよびキー作成をご参照ください。KMS キー識別子のその他の例については、 API リファレンスKeyIdの「」を参照してください。 AWS Key Management Service KMS キー識別子の検索については、AWS Key Management Service デベロッパーガイドキー ID と ARN の検索を参照してください。

重要

の使用には追加料金がかかります AWS KMS。詳細については、「AWS KMS コストの見積もり」と「AWS Key Management Service 料金表」を参照してください。

エンベロープ暗号化

暗号化されたデータのセキュリティは、復号できるデータキーを保護することによって部分的に異なります。Amazon SQS は KMS キーを使用してデータキーを暗号化し、暗号化されたデータキーは暗号化されたメッセージと一緒に保存されます。データキーを暗号化するために KMS キーを使用するこの方法は、エンベロープ暗号化と呼ばれます。

詳細については、AWS Encryption SDK デベロッパーガイドの「エンベロープ暗号化」を参照してください。