この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

シークレット暗号化設定

K3sは、静止状態でのシークレット暗号化を有効にすることをサポートしています。サーバーを最初に起動する際に、フラグ`--secrets-encryption`を渡すと、次のことが自動的に行われます:

  • AES-CBCキーを生成します。

  • 生成されたキーを使用して暗号化設定ファイルを生成します。

  • 設定をKubeAPIに暗号化プロバイダ設定として渡します。

既存のサーバーでは、再起動せずにシークレット暗号化を有効にすることはできません。
スクリプトからインストールする場合は`curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s sh -s - server --secrets-encryption`を使用するか、設定オプションに記載されている他の方法を使用してください。

暗号化プロバイダの選択

バージョンゲート

2025年4月のリリースから利用可能:v1.30.12+k3s1、v1.31.8+k3s1、v1.32.4+k3s1、v1.33.0+k3s1。

`--secrets-encryption-provider`フラグを使用すると、次のK3sサポートの暗号化プロバイダから選択できます:

  • aescbc:PKCS#7パディングを使用したAES-CBC。これはデフォルトのプロバイダです。

  • secretbox:XSalsa20およびPoly1305

プロバイダの移行

`aescbc`プロバイダから`secretbox`プロバイダに移行するには、次の手順に従ってください:

  1. `secretbox`プロバイダがあなたのK3sバージョンでサポートされていることを確認してください。

  2. K3s設定ファイルに`secrets-encryption-provider`フラグを`secretbox`に更新/追加します。

  3. 以下の暗号化キーのローテーションセクションに従って、暗号化キーをローテーションします。

生成された暗号化設定ファイル

--secrets-encryption`を使用してサーバーを起動すると、K3sは/var/lib/rancher/k3s/server/cred/encryption-config.json`に暗号化設定ファイルを生成します。

以下は、デフォルトの`aescbc`プロバイダを使用した生成された暗号化設定ファイルの例です:

{
  "kind": "EncryptionConfiguration",
  "apiVersion": "apiserver.config.k8s.io/v1",
  "resources": [
    {
      "resources": [
        "secrets"
      ],
      "providers": [
        {
          "aescbc": {
            "keys": [
              {
                "name": "aescbckey",
                "secret": "xxxxxxxxxxxxxxxxxxx"
              }
            ]
          }
        },
        {
          "identity": {}
        }
      ]
    }
  ]
}

シークレット暗号化ツール

K3sには、以下の自動制御を可能にするユーティリティツール`secrets-encrypt`が含まれています:

  • シークレット暗号化の無効化/有効化

  • 新しい暗号化キーの追加

  • 暗号化キーのローテーションと削除

  • シークレットの再暗号化

詳細については、`k3s secrets-encrypt`コマンドのドキュメントを参照してください。