翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
暗号化された Amazon SQS キューサブスクリプションによる Amazon SNS トピック暗号化の設定
トピックのサーバー側の暗号化 (SSE) を有効にしてトピックのデータを保護できます。暗号化された Amazon SQS キューにメッセージを送信することを Amazon SNS に許可するには、Amazon SQS キューに関連付けられたカスタマーマネージドキーのポリシーステートメントにより、 AWS KMS
API アクション (GenerateDataKey
と Decrypt
) へのアクセス権を Amazon SNS サービスプリンシパルに付与する必要があります。SSE の使用の詳細については、「サーバー側の暗号化を使用した Amazon SNS データの保護」を参照してください。
このトピックでは、 を使用して、暗号化された Amazon SQS キューサブスクリプションを持つ Amazon SNS Amazon SQS トピックの SSE を有効にする方法について説明します AWS Management Console。
ステップ 1: カスタム KMS キーを作成する
-
少なくとも
AWSKeyManagementServicePowerUser
ポリシーを持つユーザーで AWS KMS コンソールにサインインします。 -
[キーの作成] を選択します。
-
対称暗号化 KMS キーを作成するには、[Key type]] (キーのタイプ) で [Symmetric] (対称) を選択します。
AWS KMS コンソールで非対称 KMS キーを作成する方法については、「非対称 KMS キーを作成する (コンソール)」を参照してください。
-
[Key usage] (キーの使用) では、[Encrypt and decrypt] (暗号化および復号) オプションがすでに選択されています。
MAC コードを生成して検証する KMS キーの作成方法については、「HMAC KMS キーの作成」を参照してください。
[詳細オプション] については、「特定用途のキー」を参照してください。
-
[Next (次へ)] を選択します。
-
KMS キーのエイリアスを入力します。エイリアス名の先頭を
aws/
にすることはできません。aws/
プレフィックスは、Amazon Web Services がお客様のアカウント AWS マネージドキー で を表すために予約されています。注記
エイリアスを追加、削除、更新すると、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMSの ABAC」および「エイリアスを使用して KMS キーへのアクセスを制御する」を参照してください。
エイリアスは KMS キーを識別するために使用する表示名です。保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを示すエイリアスを選択することをお勧めします。
エイリアスは AWS Management Consoleで KMS キーを作成するときに必要です。CreateKey オペレーションを使用する場合、これらのオペレーションはオプションです。
-
(オプション) KMS キーの説明を入力します。
今すぐ説明を追加するか、キーの状態が
Pending Deletion
またはPending Replica Deletion
でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、または削除するには、 で説明を編集する AWS Management Console か、UpdateKeyDescription オペレーションを使用します。 -
(オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[Add tag] (タグを追加) を選択します。
注記
KMS キーのタグ付けまたはタグ解除により、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMSの ABAC」および「タグを使用してKMS キーへのアクセスを制御する」を参照してください。
AWS リソースにタグを追加すると、 AWS はタグ別に集計された使用量とコストを含むコスト配分レポートを生成します。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、「キーのタグ付け」および「AWS KMSの ABAC」を参照してください。
-
[Next (次へ)] を選択します。
-
KMS キーを管理できる IAM ユーザーとロールを選択します。
注記
このキーポリシーは、この KMS キー AWS アカウント を完全に制御します。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。
-
(オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [Key deletion] (キーの削除) セクションで、[Allow key administrators to delete this key] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。
-
[Next (次へ)] を選択します。
-
暗号化オペレーションでキーを使用できる IAM ユーザーとロールを選択します。[Next (次へ)] を選択します。
-
[キーポリシーの表示と編集] ページで、次のステートメントをキーポリシーに追加し、[完了] を選択します。
{ "Sid": "Allow Amazon SNS to use this key", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }
新しいカスタマーマネージドキーがキーのリストに表示されます。
ステップ 2: 暗号化された Amazon SNS トピックを作成する
-
Amazon SNS コンソール
にサインインします。 -
ナビゲーションパネルで、[トピック] を選択します。
-
[トピックの作成] を選択してください。
-
[新しいトピックの作成] ダイアログボックスの [トピック名] に、トピックの名前 (例:
MyEncryptedTopic
) を入力し、[トピックの作成] を選択します。 -
[暗号化] セクションを展開し、以下の操作を実行します。
-
[サーバー側の暗号化を有効にする] を選択します。
-
カスタマーマネージドキーを指定します。詳細については、「重要な用語」を参照してください。
カスタマーマネージドキーのタイプごとに、説明、アカウント、およびカスタマーマネージドキー ARN が表示されます。
重要
カスタマーマネージドキーの所有者ではない場合、または
kms:ListAliases
およびkms:DescribeKey
の許可がないアカウントでログインした場合、Amazon SNS コンソールでカスタマーマネージドキーに関する情報を表示できません。これらの許可を付与するように、カスタマーマネージドキーの所有者へ依頼してください。詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS KMS API アクセス権限: アクションとリソースのリファレンス」を参照してください。
-
[カスタマーマネージドキー] で、以前に作成した [MyCustomKey] を選択してから、[サーバー側の暗号化を有効化] を選択します。
-
-
[Save changes] (変更の保存) をクリックします。
トピックの SSE が有効になり、[マイトピック] ページが表示されます。
トピックの暗号化ステータス、 AWS アカウント、カスタマーマネージドキー、カスタマーマネージドキーの ARN、および説明が [暗号化] タブに表示されます。
暗号化された新しいトピックが、トピックのリストに表示されます。
ステップ 3: 暗号化された Amazon SQS キューを作成してサブスクライブする
-
Amazon SQS コンソール
にサインインします。 -
[新しいキューの作成] を選択します。
-
[新しいキューの作成] ページで、次の操作を実行します。
-
[キュー名] (例:
MyEncryptedQueue1
) を入力します。 -
[標準キュー]、[キューの設定] の順に選択します。
-
[SSE の使用] を選択します。
-
[AWS KMS key] で、以前に作成した [MyCustomKey] を選択してから、[キューの作成] を選択します。
-
-
プロセスを繰り返して、2 つめのキュー (例えば、
MyEncryptedQueue2
) を作成します。暗号化された新しいキューがキューのリストに表示されます。
-
Amazon SQS コンソールで、
MyEncryptedQueue1
およびMyEncryptedQueue2
を選択して、[キューのアクション]、[SNS トピックへのキューのサブスクライブ] の順に選択します。 -
[トピックへのサブスクライブ] ダイアログボックスの [トピックの選択] で、[MyEncryptedTopic]、[サブスクライブ] の順に選択します。
暗号化されたトピックに対する暗号化されたキューのサブスクリプションは、[トピックのサブスクリプション結果] ダイアログボックスに表示されます。
-
[OK] を選択します。
ステップ 4: 暗号化されたトピックにメッセージを発行する
-
Amazon SNS コンソール
にサインインします。 -
ナビゲーションパネルで、[トピック] を選択します。
-
トピックのリストから [MyEncryptedTopic] を選択し、[メッセージの発行] を選択します。
-
[メッセージの発行] ページで、次の操作を行います。
-
(オプション) [メッセージの詳細] セクションで、[件名] (
Testing message publishing
など) を入力します。 -
[メッセージの本文] セクションで、メッセージの本文 (
My message body is encrypted at rest.
など) を入力します。 -
[メッセージの発行] を選択します。
-
メッセージは、サブスクライブされた暗号化キューに発行されます。
ステップ 5: メッセージの配信を確認する
-
Amazon SQSコンソール
にサインインします。 -
キューのリストから [MyEncryptedQueue1] を選択し、次に [Send and receive messages] (メッセージの送受信) を選択します。
-
[Send and receive messages in MyEncryptedQueue1] (MyEncryptedQueue1 のメッセージの送信と受信) ページで、[Poll for messages] (メッセージのポーリング) を選択します。
先ほど送信したメッセージが表示されます。
-
メッセージを表示するには、[詳細] を選択します。
-
完了したら、[閉じる] をクリックします。
-
[MyEncryptedQueue2] に対してこの処理を繰り返します。