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

保管中の暗号化

サーバー側の暗号化 (SSE) では、機密データを暗号化されたトピックで保存できます。SSE では、AWS Key Management Service (AWS KMS) で管理されているキーを使用して、Amazon SNS キュー内のメッセージの内容が保護されます。

AWS Management Console または AWS SDK for Java を使用した SSE の管理 (CreateTopic および SetTopicAttributes APIアクションを使用して KmsMasterKeyId 属性を設定) については、「Amazon SNS トピックのサーバー側の暗号化 (SSE) を有効にする」を参照してください。AWS CloudFormation を使用した暗号化されたトピックの作成 (AWS::SNS::Topic リソースを使用して KmsMasterKeyId プロパティを設定) については、「AWS CloudFormation ユーザーガイド」を参照してください。

Amazon SNS が受信したメッセージはすぐに、SSE によって暗号化されます。メッセージは暗号化された形式で保存され、送信された場合のみ、Amazon SNS によって解読されます。

重要

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

暗号化されたトピックとの他のサービスとの互換性については、サービスのドキュメントを参照してください。

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

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

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

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

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

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

暗号化スコープ

SSE では、Amazon SNS トピック内のメッセージの本文が暗号化されます。

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

  • トピックのメタデータ (トピック名と属性)

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

  • トピックごとのメトリクス

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

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

重要な用語

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

データキー

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

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

AWS KMS キー ID

お客様アカウントまたは別のアカウントにある AWS KMS キーまたはカスタム AWS KMS のエイリアス、エイリアス ARN、キー ID またはキー ARN。Amazon SNS 用 AWS マネージド AWS KMS のエイリアスは常に alias/aws/sns ですが、カスタム AWS KMS のエイリアスは、alias/MyAlias のように設定できます。これらの AWS KMS キーを使用して、Amazon SNS トピック内のメッセージを保護することができます。

注記

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

  • AWS Management Console を初めて使用してトピックに Amazon SNS 用の AWS マネージド KMS を指定する場合は、AWS KMS は、Amazon SNS 用の AWS マネージド KMS を作成します。

  • または、SSE が有効な状態で、トピックで Publish アクションを初めて使用する場合は、AWS KMS は Amazon SNS 用 AWS マネージド KMS を作成します。

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

重要

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