3.2.3.2. Tang ディスク暗号化の有効化
以下の手順を使用して、OpenShift Container Platform のデプロイメント時に Tang モードのディスク暗号化を有効にします。
手順
-
暗号化の設定を設定し、
openshift-install
を実行してクラスターをインストールし、oc
を使用してクラスターを操作するために Red Hat Enterprise Linux サーバーにアクセスします。 - 既存の Tang サーバーを設定するか、またはこれにアクセスします。手順については、NBDE (Network-Bound Disk Encryption) を参照してください。タグの表示についての詳細は、Securing Automated Decryption New Cryptography and Techniques を参照してください。
-
クラスターについて Red Hat Enterprise Linux CoreOS (RHCOS) インストールを実行する際にネットワークを設定するためにカーネル引数を追加します。たとえば、DHCP ネットワークを設定するには、
ip=dhcp
を特定するか、またはカーネルコマンドラインにパラメーターを追加する際に静的ネットワークを設定します。DHCP と静的ネットワークの両方の場合、rd.neednet=1
カーネル引数も指定する必要があります。
このステップを省略すると、2 番目の起動に失敗します。
サムプリントを生成します。(まだインストールされていない場合は)
clevis
パッケージをインストールし、Tang サーバーからサムプリントを生成します。url
の値を Tang サーバーの URL に置き換えます。$ sudo yum install clevis -y $ echo nifty random wordwords \ | clevis-encrypt-tang \ '{"url":"https://tang.example.org"}' The advertisement contains the following signing keys: PLjNyRdGw03zlRoGjQYMahSZGu9 Do you wish to trust these keys? [ynYN] y eyJhbmc3SlRyMXpPenc3ajhEQ01tZVJiTi1oM...
Base64 でエンコードされたファイルを作成します。値を Tang サーバーの URL (
url
) と生成したサムプリント (thp
) で置き換えます。$ (cat <<EOM { "url": "https://tang.example.com", "thp": "PLjNyRdGw03zlRoGjQYMahSZGu9" } EOM ) | base64 -w0 ewogInVybCI6ICJodHRwczovL3RhbmcuZXhhbXBsZS5jb20iLAogInRocCI6ICJaUk1leTFjR3cwN3psVExHYlhuUWFoUzBHdTAiCn0K
TPM2 の例の source を、ワーカーおよび/またはマスターノードのサンプルのいずれか、またはそれら両方の Base64 でエンコードされたファイルに置き換えます。
重要rd.neednet=1
カーネル引数を追加する必要があります。$ cat << EOF > ./99-openshift-worker-tang-encryption.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: name: worker-tang labels: machineconfiguration.openshift.io/role: worker spec: config: ignition: version: 2.2.0 storage: files: - contents: source: data:text/plain;base64,e30K source: data:text/plain;base64,ewogInVybCI6ICJodHRwczovL3RhbmcuZXhhbXBsZS5jb20iLAogInRocCI6ICJaUk1leTFjR3cwN3psVExHYlhuUWFoUzBHdTAiCn0K filesystem: root mode: 420 path: /etc/clevis.json kernelArguments: - rd.neednet=1 1 EOF
- 1
- 必須。
$ cat << EOF > ./99-openshift-master-tang-encryption.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: name: master-tang labels: machineconfiguration.openshift.io/role: master spec: config: ignition: version: 2.2.0 storage: files: - contents: source: data:text/plain;base64,e30K source: data:text/plain;base64,ewogInVybCI6ICJodHRwczovL3RhbmcuZXhhbXBsZS5jb20iLAogInRocCI6ICJaUk1leTFjR3cwN3psVExHYlhuUWFoUzBHdTAiCn0K filesystem: root mode: 420 path: /etc/clevis.json kernelArguments: - rd.neednet=1 1 EOF
- 1
- 必須。
- 残りの OpenShift Container Platform のデプロイメントを継続します。