ECR に保管するイメージを KMS で暗号化する方法を教えてください

2023.02.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

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 | AWS

Amazon ECR では、Amazon S3 のサーバー側暗号化または AWS KMS 暗号化を使用して保管中のイメージが自動的に暗号化し、HTTPS を介してコンテナイメージを転送します。

参考資料

KMS 暗号化設定は、リポジトリの作成後に変更または無効にすることはできません。

各 Amazon ECR リポジトリには、リポジトリの作成時に設定される暗号化設定があります。