ECR に保管するイメージを KMS で暗号化する方法を教えてください
困っていた内容
ECR にコンテナイメージを保管することを検討しています。
準拠するコンプライアンスの要件で、イメージは KMS で暗号化しプライベートリポジトリに保存する必要があるのですが、ECR は KMS をサポートしていますか。
設定できる場合は、設定箇所を教えてください。
どう対応すればいいの?
リポジトリの作成時に「KMS 暗号化(KMS encryption
)」を有効に設定し、リポジトリを作成してください。
ECR は S3 のサーバー側暗号化または KMS の暗号化をサポートしています。KMS 暗号化を有効に指定した場合は、KMS の指定したキーを利用し、イメージを暗号化します。2023年2月時点の仕様として、KMS 暗号化の設定はリポジトリの作成後に変更できないため、リポジトリの作成時に KMS 暗号化を有効に設定する必要があります。
なお、ECR はイメージを AWS が管理する S3 バケットに保管しますが、KMS 暗号化が無効な場合もデフォルトで Amazon S3 が管理する暗号化キーによるサーバー側暗号化を使用し、イメージを AES-256 暗号化アルゴリズムで暗号化します。
Amazon ECR では、Amazon S3 のサーバー側暗号化または AWS KMS 暗号化を使用して保管中のイメージが自動的に暗号化し、HTTPS を介してコンテナイメージを転送します。
参考資料
- ECR が AWS KMS キーを使用したイメージの暗号化をサポート
- AWS Key Management System を使用した Amazon ECR サーバー側暗号化の紹介 | コンテナ
- Amazon ECR コンソール(要ログイン)
KMS 暗号化設定は、リポジトリの作成後に変更または無効にすることはできません。
各 Amazon ECR リポジトリには、リポジトリの作成時に設定される暗号化設定があります。