説明
SQS のサーバー側の暗号化は、保存されたメッセージ本文を保護します。SQS 管理キーを使う SSE-SQS と AWS KMS を使う SSE-KMS があるため、kmsMasterKeyId がないだけで平文保存とは断定できません。新しいキューではサーバー側の暗号化が既定で有効ですが、実際のキュー設定を確認する必要があります。
組織でカスタマー管理キーのポリシーやキー使用の監査が必要な場合は、適切な KMS キーを指定してください。保存時の暗号化は、キューのアクセス制御や通信経路の TLS の代わりにはなりません。
想定される影響
- 実際に暗号化が無効な場合、新しいメッセージ本文には保存時の暗号化による保護が適用されません。
- 必要な鍵管理の制御がないと、組織のデータ保護要件を満たせない可能性があります。
対処方法
- キューの実際の暗号化方式を確認し、要件に応じて SSE-SQS または SSE-KMS を選択してください。SSE-KMS を使う場合は、同じリージョンの利用可能な KMS キーを
kmsMasterKeyIdに指定してください。 - 送信者、受信者、連携サービスに必要なキー権限を構成し、メッセージの送受信を試験してください。
- 既存のメッセージとデッドレターキューも確認してください。暗号化を有効にしても、すでに待機している未暗号化のメッセージは自動で暗号化されません。
例
以下は暗号化設定を比較する部分的な例です。例の KMS ARN は、キューと同じリージョンにある実際のキーの ARN に置き換え、必要なキーポリシーを別途構成してください。
変更前
yaml
apiVersion: sqs.aws.crossplane.io/v1beta1
kind: Queue
spec:
forProvider:
region: us-east-1
delaySeconds: 4
KMS キーを指定していません。SSE-SQS など、実際に適用されている暗号化を確認する必要があり、この定義だけで平文保存を意味するわけではありません。
変更後
yaml
apiVersion: sqs.aws.crossplane.io/v1beta1
kind: Queue
spec:
forProvider:
region: us-east-1
kmsMasterKeyId: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
delaySeconds: 4
KMS キーを明示して SSE-KMS を構成しています。キーの権限と実際のメッセージ送受信まで確認してください。