c2.17 保存データを暗号化する
AWS のストレージサービスは最小限の手間でサーバー側暗号化を提供するため、すべてを暗号化してください。機微データには自分の AWS KMS キーを使い、キーを制御し、アカウント間で共有し、コンプライアンス要件に合わせてローテーションを設定できるようにします。
実装ガイダンス
すべてを暗号化し、機微なキーは自分で保有する
ほとんどの AWS ストレージサービスは、ほぼ手間なく有効化できるサーバー側暗号化に対応しています。広く有効化してください。機微データには、AWS 所有のキーではなく AWS KMS のカスタマー管理キーを使います。これにより次が可能になります。
- キーを無効化してアクセスを遮断する、
- アカウント間で共有する(スナップショットをインシデント対応チームに渡す際に有用)、
- コンプライアンス要件に合わせたローテーション間隔を設定する。
大規模に暗号化を検証する
AWS Security Hub CSPM のコントロールを使い、組織全体で暗号化されていないリソースを見つけます。たとえば保存時暗号化のない EBS ボリュームや RDS インスタンスに加え、DynamoDB、OpenSearch、EKS のシークレットなどをカバーするコントロールもあります。
KMS と CloudHSM
KMS を優先してください。より費用対効果が高く、AZ をまたいで高可用性があり、改ざん耐性のある HSM に支えられています。AWS CloudHSM は、シングルテナントの専用 HSM が特に必要な場合にのみ選びます。その場合は高可用性のために複数のアベイラビリティーゾーンにまたがるクラスターを運用してください。
キーマテリアル
強い理由がない限り、外部キーマテリアルのインポートや外部キーストアの使用は避けてください。いずれも KMS 生成キーと比べてセキュリティと耐久性のトレードオフがあります。
EBS のデフォルト暗号化を有効化する
新規の EBS ボリューム向けに、アカウントレベルのデフォルト暗号化を(リージョンごとに)有効化します。有効になっていることを確認します:
aws ec2 enable-ebs-encryption-by-default
aws ec2 get-ebs-encryption-by-defaultHow to validate
- すべての重要・機微データは保存時に暗号化されていますか?
- 機微データにカスタマー管理の KMS キーを使い、必要に応じたローテーションを設定していますか?
- 組織全体で暗号化されていないリソースを検出するために Security Hub CSPM のコントロールを使っていますか?
Threats addressed
- 保存時に暗号化されていないデータは、基盤となるストレージ(共有されたスナップショット、盗まれたボリューム、誤設定のバケット)を入手した者に読み取られ、ストレージの露出がデータ侵害に変わります。
AWS サービス
料金
AWS 無料利用枠には毎月 20,000 件の無料 KMS リクエストが含まれます。AWS KMS の料金を参照してください。
Cloud Security Maturity Model