投稿日: Mar 5, 2020

今回、AWS Key Management Service (KMS) キーを使い、Amazon Elastic Kubernetes Service (EKS) に保存された Kubernetes Secrets に対するエンベロープ暗号化が行えるようになりました。エンベロープ暗号化の導入は、機密情報を保持するアプリケーションに対するセキュリティのベストプラクティスというべきものです。またこれは、多層防御セキュリティ戦略の一部分を成しています。

Kubernetes Secrets により、パスワード、Docker Registry の認証情報、Kubernetes API を使う TLS キーなどの機密情報を、保存および管理できるようになります。Kubernetes では、すべての機密オブジェクトのデータを etcd に保存します。さらに、Amazon EKS が使用するすべての etcd ボリュームは、AWS が管理する暗号キーによりディスクレベルで暗号化されています。

これからは、ご自身で作成した KMS キー、あるいは他のシステムで作成し AWS KMS にインポートしクラスターと供に使用しているキーにより、Kubernetes Secrets の暗号化をすることもできるようになります。これには、追加ソフトウェアのインストールや管理は必要ありません。

Secrets のエンベロープ暗号化は、Kubernetes のバージョン 1.13 以降を実行している、新しい Amazon EKS クラスターでご利用いただけます。お客様は、KMS 内において Customer Master Key (CMK) を独自にセットアップし、EKSクラスターを作成するときにCMK ARNを提供することにより、このキーをリンクすることができます。Kubernetes Secrets API を使用して機密情報を保存すると、そのデータは Kubernetes が生成したデータ暗号化キーを使い暗号化されます。その後、このデータはリンクされている AWS KMS キーによって、さらに暗号化されます。

使用を開始するには、Amazon EKS ドキュメントにアクセスするか、AWS Containers ブログの記事をご参照ください。