説明
ElastiCache Redis OSS の保存時の暗号化は、同期・バックアップ・スワップ処理でディスクに書き込まれるデータとバックアップを保護します。セッション、トークン、個人情報をキャッシュする場合は、保存されたコピーも保護が必要です。保存時の暗号化は、クライアント通信の暗号化やユーザー認証の代わりにはなりません。
想定される影響
暗号化していない保存データやバックアップを不正に取得されると、機密情報の漏えいリスクが高まります。キャッシュに適用される組織のデータ保護要件を満たせない場合もあります。
対処方法
新規レプリケーショングループには AtRestEncryptionEnabled: true を指定し、必要な KMS キーと権限を確認してください。Redis OSS ではこのオプションの既定値は false のため、実際の状態を確認してください。
既存グループでは、この設定の有効・無効を切り替えられません。暗号化した新しいグループにデータを復元または移行し、アプリケーションの接続とデータの整合性を検証してから接続先を切り替えてください。切り替え前にバックアップと復旧の計画を立て、通信の暗号化と認証も別途設定してください。
例
実際の VPC 内のキャッシュサブネットグループと、必要なアクセスだけを許可するセキュリティグループを指定します。単一ノードの作成設定を比較する例であり、高可用性や既存データの移行は構成しません。
変更前
yaml
Parameters:
CacheSubnetGroupName:
Type: String
CacheSecurityGroups:
Type: List<AWS::EC2::SecurityGroup::Id>
Resources:
ReplicationGroup:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
ReplicationGroupDescription: example
AtRestEncryptionEnabled: false
Engine: redis
CacheNodeType: cache.t3.micro
NumCacheClusters: 1
CacheSubnetGroupName: !Ref CacheSubnetGroupName
SecurityGroupIds: !Ref CacheSecurityGroups
変更後
yaml
Parameters:
CacheSubnetGroupName:
Type: String
CacheSecurityGroups:
Type: List<AWS::EC2::SecurityGroup::Id>
Resources:
ReplicationGroup:
Type: AWS::ElastiCache::ReplicationGroup
Properties:
ReplicationGroupDescription: example
AtRestEncryptionEnabled: true
Engine: redis
CacheNodeType: cache.t3.micro
NumCacheClusters: 1
CacheSubnetGroupName: !Ref CacheSubnetGroupName
SecurityGroupIds: !Ref CacheSecurityGroups