説明
イベントストリームには、ユーザーの操作履歴、アプリケーションログ、内部メッセージが含まれることがあります。Kinesis のサーバー側暗号化は、ストリームに保存されるレコードを KMS で保護します。実際の暗号化状態と使用するキーが、データ保護要件に合っているか確認してください。
暗号化は、有効化後に到着するレコードに適用されます。以前の未暗号化レコードを遡って暗号化するものではありません。ストリームのアクセス制御と転送中の保護も別途必要です。
想定される影響
サーバー側暗号化が無効だと、新しく保存する機密レコードが組織の保存時暗号化要件を満たせない場合があります。キーや権限の設定を誤ると、データの書き込みや読み取りが中断するおそれがあります。
対処方法
encryption_type = "KMS"と有効なkms_key_idを明示してください。AWS マネージドキー、または組織で必要なカスタマーマネージドキーを選択してください。- データを書き込む主体と読み取る主体の KMS 権限を、必要な範囲に制限してください。
- 変更完了後に、実際のストリームの状態、新しいレコードの暗号化、書き込みと読み取りを検証してください。以前のレコードの保持期間と取り扱いも確認してください。
例
変更前
hcl
resource "aws_kinesis_stream" "event_stream" {
name = "terraform-kinesis-test"
shard_count = 1
retention_period = 48
encryption_type = "NONE"
}
サーバー側暗号化を使用しない設定です。
変更後
hcl
resource "aws_kinesis_stream" "event_stream" {
name = "terraform-kinesis-test"
shard_count = 1
retention_period = 48
encryption_type = "KMS"
kms_key_id = "alias/aws/kinesis"
}
AWS マネージド Kinesis キーのエイリアスである alias/aws/kinesis で暗号化を要求します。有効化後の新しいレコードが保護されることを確認してください。過去のレコードまで暗号化されるわけではありません。