EKS クラスターの KMS エンベロープ暗号化 - Eksctl ユーザーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EKS クラスターの KMS エンベロープ暗号化

注記

Amazon Elastic Kubernetes Service (Amazon EKS) はデフォルトでエンベロープ暗号化を備えており、Kubernetes バージョン 1.28 以降を実行している EKS クラスター内のすべての Kubernetes API データが暗号化の対象となります。詳細については、「EKS ユーザーガイド」の「すべての Kubernetes API データのデフォルトのエンベロープ暗号化」を参照してください。

EKS では、AWS KMS キーを使用して、EKS に保存されている Kubernetes シークレットをエンベロープ暗号化できます。エンベロープ暗号化は、Kubernetes クラスター内に保存されているアプリケーションシークレットまたはユーザーデータに、カスタマーマネージド型の暗号化レイヤーを追加します。

以前は、Amazon EKS はクラスターの作成時にのみ KMS キーを使用したエンベロープ暗号化の有効化をサポートしていました。これで、Amazon EKS クラスターのエンベロープ暗号化をいつでも有効にできます。

EKS 暗号化プロバイダーによるdefense-in-depthのサポートの詳細については、AWS コンテナブログの記事を参照してください。

KMS 暗号化を有効にしたクラスターの作成

# kms-cluster.yaml # A cluster with KMS encryption enabled --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: kms-cluster region: us-west-2 managedNodeGroups: - name: ng # more config secretsEncryption: # KMS key used for envelope encryption of Kubernetes secrets keyARN: arn:aws:kms:us-west-2:<account>:key/<key>
eksctl create cluster -f kms-cluster.yaml

既存のクラスターで KMS 暗号化を有効にする

まだ有効にしていないクラスターで KMS 暗号化を有効にするには、 を実行します。

eksctl utils enable-secrets-encryption -f kms-cluster.yaml

または 設定ファイルなし:

eksctl utils enable-secrets-encryption --cluster=kms-cluster --key-arn=arn:aws:kms:us-west-2:<account>:key/<key> --region=<region>

EKS クラスターで KMS 暗号化を有効にすることに加えて、eksctl は注釈 で更新することで、新しい KMS キーを使用して既存のすべての Kubernetes シークレットを再暗号化しますeksctl.io/kms-encryption-timestamp。この動作は--encrypt-existing-secrets=false、次のように を渡すことで無効にできます。

eksctl utils enable-secrets-encryption --cluster=kms-cluster --key-arn=arn:aws:kms:us-west-2:<account>:key/<key> --encrypt-existing-secrets=false --region=<region>

クラスターで既に KMS 暗号化が有効になっている場合、eksctl は既存のすべてのシークレットの再暗号化に進みます。

注記

KMS 暗号化を有効にすると、別の KMS キーを使用するように無効化または更新することはできません。