Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

34.4. データの暗号化

新規の暗号化設定ファイルを作成します。

kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
    - secrets
    providers:
    - aescbc:
        keys:
        - name: key1
          secret: <BASE 64 ENCODED SECRET>
    - identity: {}

新規シークレットを作成するには、以下を実行します。

  1. 32 バイトのランダムキーを生成し、これを base64 でエンコーディングします。たとえば、Linux および macOS では、以下を使用します。

    $ head -c 32 /dev/urandom | base64
    重要

    暗号化キーは、/dev/urandom などの暗号で保護された適切な乱数ジェネレーターで生成する必要があります。Golang の math/random や Python の random.random() などは適していません。

  2. この値を secret フィールドに配置します。
  3. API サーバーを再起動します。

    # master-restart api
    # master-restart controllers
重要

暗号化プロバイダー設定ファイルには、etcd の内容を復号化できるキーが含まれるため、マスター API サーバーを実行するユーザーのみがこれを読み取れるようにマスターでパーミッションを適切に制限する必要があります。