34.4. データの暗号化
新規の暗号化設定ファイルを作成します。
kind: EncryptionConfig apiVersion: v1 resources: - resources: - secrets providers: - aescbc: keys: - name: key1 secret: <BASE 64 ENCODED SECRET> - identity: {}
新規シークレットを作成するには、以下を実行します。
32 バイトのランダムキーを生成し、これを base64 でエンコーディングします。たとえば、Linux および macOS では、以下を使用します。
$ head -c 32 /dev/urandom | base64
重要暗号化キーは、/dev/urandom などの暗号で保護された適切な乱数ジェネレーターで生成する必要があります。Golang の
math/random
や Python のrandom.random()
などは適していません。-
この値を
secret
フィールドに配置します。 API サーバーを再起動します。
# master-restart api # master-restart controllers
重要
暗号化プロバイダー設定ファイルには、etcd の内容を復号化できるキーが含まれるため、マスター API サーバーを実行するユーザーのみがこれを読み取れるようにマスターでパーミッションを適切に制限する必要があります。