シークレット暗号化設定

Prev Next

VPC環境で利用できます。

Ncloud Kubernetes Serviceでは NCP Key Management Service(KMS)と Kubernetesの Encrypting Confidential Data at Restを活用して、etcdに保存されるシークレットを暗号化できます。

制限事項

  • Kubernetes 1.28バージョン以上から提供します
    • 1.28以前バージョンのクラスタは、アップグレード機能を利用して必要なバージョンを満たした後に使用できます。
  • 一度設定されたシークレット暗号化機能は、解除・変更できません。
注意

使用中の KMSキーを削除する場合、クラスタのシークレットを復旧できません。

必須条件

  • NCP KMSにキーが作成されている必要があります。
  • キーの用途は暗/複合化(AES-256)であり、収束暗号化は無効になっている必要があります
  • KMSキーの情報照会のため SubAccountの場合、以下の権限を追加します。
    • Service: Key Management Service
      • アクション名: View/getKeyList、View/getKeyInfo

シークレット暗号化設定(クラスタ作成時の設定)

  1. Ncloud Kubernetes Service > Clusters で [作成する]  ボタンをクリックします。
  2. シークレット暗号化[設定] を選択します。
  3. シークレット暗号化で使用するキーを選択します。
  4. クラスタ設定の完了後、クラスタを作成します。

シークレット暗号化設定(既存クラスタの設定)

  1. Ncloud Kubernetes Service > クラスタ > 詳細情報 > シークレット暗号化 で、 [設定]  ボタンをクリックします。
  2. シークレット暗号化に使用するキーを選択し、 [確認]  ボタンをクリックします。
  3. クラスタが 設定中 ステータスに変更され、シークレット暗号化の設定が行われます。
  4. シークレット暗号化の設定が完了すると、クラスタが 運用中 ステータスに変わります。
  5. 既存のクラスタにシークレット暗号化を設定した場合、新しいキーを活用して既存のシークレットを再暗号化します。
    $ kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    

キーローテーション

  • KMSキーは自動ローテーションで定期的にキーローテーションを実行する方が、セキュリティ上安全です。
  • KMSキーがローテーションすると、既存のシークレットは以前キーのバージョンで暗号化された状態で維持されます。
  • KMSキーがローテーションすると、新しく作成されるシークレットは新しいキーで暗号化されますが、既存のシークレットは再暗号化する必要があります。
    $ kubectl get secrets --all-namespaces -o json | kubectl replace -f -