暗号化された Amazon SQS キューをサブスクライブして Amazon SNS トピックのサーバー側の暗号化 (SSE) を有効にする - Amazon Simple Notification Service

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

暗号化された Amazon SQS キューをサブスクライブして Amazon SNS トピックのサーバー側の暗号化 (SSE) を有効にする

トピックのサーバー側の暗号化 (SSE) を有効にしてトピックのデータを保護できます。暗号化された Amazon SQS キューにメッセージを送信することを Amazon SNS に許可するには、Amazon SQS キューに関連付けられたカスタマーマネージドキーのポリシーステートメントにより、AWS KMS API アクション (GenerateDataKeyDecrypt) へのアクセス権を Amazon SNS サービスプリンシパルに付与する必要があります。SSE の使用の詳細については、「保管中の暗号化」を参照してください。

このページでは、AWS Management Console を使用して、暗号化された Amazon SQS キューのサブスクライブ先である Amazon SNS トピックの SSE を有効にする方法について説明します。

ステップ 1: カスタム KMS キーを作成する

  1. 少なくとも AWSKeyManagementServicePowerUser ポリシーを持つユーザーで AWS KMS コンソールにサインインします。

  2. [キーの作成] を選択します。

  3. 対称暗号化 KMS キーを作成するには、[Key type]] (キーのタイプ) で [Symmetric] (対称) を選択します。

    AWS KMS コンソールで非対称 KMS キーを作成する方法については、「非対称 KMS キーを作成する (コンソール)」を参照してください。

  4. [Key usage] (キーの使用) では、[Encrypt and decrypt] (暗号化および復号) オプションがすでに選択されています。

    MAC コードを生成して検証する KMS キーの作成方法については、「HMAC KMS キーの作成」を参照してください。

    [詳細オプション] については、「特定用途のキー」を参照してください。

  5. [Next] (次へ) をクリックします。

  6. KMS キーのエイリアスを入力します。エイリアス名の先頭を aws/ にすることはできません。この aws/ プレフィックスは、アカウント内の AWS マネージドキー を表すために、Amazon Web Services によって予約されます。

    注記

    エイリアスを追加、削除、更新すると、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「エイリアスを使用して KMS キーへのアクセスを制御する」を参照してください。

    エイリアスは KMS キーを識別するために使用する表示名です。保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを示すエイリアスを選択することをお勧めします。

    エイリアスは AWS Management Console で KMS キーを作成するときに必要です。CreateKey オペレーションを使用する場合、これらのオペレーションはオプションです。

  7. (オプション) KMS キーの説明を入力します。

    今すぐ説明を追加するか、キーの状態Pending Deletion または Pending Replica Deletion でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、削除するには、AWS Management Console で説明を編集するかUpdateKeyDescription オペレーションを使用します。

  8. (オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[Add tag] (タグを追加) を選択します。

    注記

    KMS キーのタグ付けまたはタグ解除により、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「タグを使用してKMS キーへのアクセスを制御する」を参照してください。

    AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、「キーのタグ付け」および「AWS KMS の ABAC」を参照してください。

  9. [Next] (次へ) をクリックします。

  10. KMS キーを管理できる IAM ユーザーとロールを選択します。

    注記

    このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。

     

    IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

  11. (オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [Key deletion] (キーの削除) セクションで、[Allow key administrators to delete this key] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。

  12. [Next] (次へ) をクリックします。

  13. 暗号化オペレーションでキーを使用できる IAM ユーザーとロールを選択します。[Next] (次へ) をクリックします。

  14. [キーポリシーの表示と編集] ページで、次のステートメントをキーポリシーに追加し、[完了] を選択します。

    { "Sid": "Allow Amazon SNS to use this key", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }

新しいカスタマーマネージドキーがキーのリストに表示されます。

ステップ 2: 暗号化された Amazon SNS トピックを作成する

  1. Amazon SNS コンソールにサインインします。

  2. ナビゲーションパネルで、[トピック] を選択します。

  3. [Create topic] (トピックの作成) を選択します。

  4. [新しいトピックの作成] ダイアログボックスの [トピック名] に、トピックの名前 (例: MyEncryptedTopic) を入力し、[トピックの作成] を選択します。

  5. [暗号化] セクションを展開し、以下の操作を実行します。

    1. [サーバー側の暗号化を有効にする] を選択します。

    2. カスタマーマネージドキーを指定します。詳細については、「重要な用語」を参照してください。

      カスタマーマネージドキーのタイプごとに、説明アカウント、およびカスタマーマネージドキー ARN が表示されます。

      重要

      カスタマーマネージドキーの所有者ではない場合、または kms:ListAliases および kms:DescribeKey の許可がないアカウントでログインした場合、Amazon SNS コンソールでカスタマーマネージドキーに関する情報を表示できません。

      これらの許可を付与するように、カスタマーマネージドキーの所有者へ依頼してください。詳細については、『AWS Key Management Service デベロッパーガイド』の「AWS KMS API アクセス権限: アクションとリソースのリファレンス」を参照してください。

    3. [カスタマーマネージドキー] で、以前に作成した [MyCustomKey] を選択してから、[サーバー側の暗号化を有効化] を選択します。

  6. [Save changes] (変更の保存) をクリックします。

    トピックの SSE が有効になり、[マイトピック] ページが表示されます。

    トピックの暗号化ステータス、AWS アカウントカスタマーマネージドキー、カスタマーマネージドキーの ARN、および説明[暗号化] タブに表示されます。

暗号化された新しいトピックが、トピックのリストに表示されます。

ステップ 3: 暗号化された Amazon SQS キューを作成してサブスクライブする

  1. Amazon SQS コンソールにサインインします。

  2. [新しいキューの作成] を選択します。

  3. [新しいキューの作成] ページで、次の操作を実行します。

    1. [キュー名] (例: MyEncryptedQueue1) を入力します。

    2. [標準キュー]、[キューの設定] の順に選択します。

    3. [SSE の使用] を選択します。

    4. [AWS KMS key] で、以前に作成した [MyCustomKey] を選択してから、[キューの作成] を選択します。

  4. プロセスを繰り返して、2 つめのキュー (例えば、MyEncryptedQueue2) を作成します。

    暗号化された新しいキューがキューのリストに表示されます。

  5. Amazon SQS コンソールで、MyEncryptedQueue1 および MyEncryptedQueue2 を選択して、[キューのアクション]、[SNS トピックへのキューのサブスクライブ] の順に選択します。

  6. [トピックへのサブスクライブ] ダイアログボックスの [トピックの選択] で、[MyEncryptedTopic]、[サブスクライブ] の順に選択します。

    暗号化されたトピックに対する暗号化されたキューのサブスクリプションは、[トピックのサブスクリプション結果] ダイアログボックスに表示されます。

  7. [OK] をクリックします。

ステップ 4: 暗号化されたトピックにメッセージを発行する

  1. Amazon SNS コンソールにサインインします。

  2. ナビゲーションパネルで、[トピック] を選択します。

  3. トピックのリストから [MyEncryptedTopic] を選択し、[メッセージの発行] を選択します。

  4. [メッセージの発行] ページで、次の操作を行います。

    1. (オプション) [メッセージの詳細] セクションで、[件名] (Testing message publishing など) を入力します。

    2. [メッセージの本文] セクションで、メッセージの本文 (My message body is encrypted at rest. など) を入力します。

    3. [メッセージの発行] を選択します。

メッセージは、サブスクライブされた暗号化キューに発行されます。

ステップ 5: メッセージの配信を確認する

  1. Amazon SQSコンソールにサインインします。

  2. キューのリストから [MyEncryptedQueue1] を選択し、次に [Send and receive messages] (メッセージの送受信) を選択します。

  3. [Send and receive messages in MyEncryptedQueue1] (MyEncryptedQueue1 のメッセージの送信と受信) ページで、[Poll for messages] (メッセージのポーリング) を選択します。

    先ほど送信したメッセージが表示されます。

  4. メッセージを表示するには、[詳細] を選択します。

  5. 完了したら、[閉じる] をクリックします。

  6. [MyEncryptedQueue2] に対してこの処理を繰り返します。