This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.14.2.3.2. Tang ディスク暗号化の有効化
以下の手順を使用して、OpenShift Container Platform のインストール時に Tang モードディスクの暗号化を有効にします。
前提条件
- インストールノードで OpenShift Container Platform インストールプログラムをダウンロードしている。
- Tang 交換キーのサムプリントの生成に使用できる Red Hat Enterprise Linux (RHEL) 8 マシンにアクセスできる。
手順
- Tang サーバーを設定するか、または既存のサーバーにアクセスします。手順については、NBDE (Network-Bound Disk Encryption) を参照してください。
クラスターについて Red Hat Enterprise Linux CoreOS (RHCOS) インストールを実行する際にネットワークを設定するためにカーネル引数を追加します。たとえば、DHCP ネットワークを設定するには、
ip=dhcp
を特定するか、またはカーネルコマンドラインにパラメーターを追加する際に静的ネットワークを設定します。DHCP と静的ネットワークの両方の場合、rd.neednet=1
カーネル引数も指定する必要があります。重要このステップを省略すると、2 番目の起動に失敗します。
RHEL 8 マシンに
clevis
パッケージがインストールされていない場合はインストールします。$ sudo yum install clevis
RHEL 8 マシンで以下のコマンドを実行し、交換キーのサムプリントを生成します。
http://tang.example.com:7500
を Tang サーバーの URL に置き換えます。$ clevis-encrypt-tang '{"url":"http://tang.example.com:7500"}' < /dev/null > /dev/null 1
- 1
- この例では、
tangd.socket
は Tang サーバーのポート7500
でリッスンしています。
注記このステップでは、
clevis-encrypt-tang
コマンドを使用して、交換キーのサムプリントを生成します。この時点で暗号化用のデータがコマンドに渡されないため、/dev/null
はプレーンテキストではなく、インプットとして提供されます。この手順には必要ないため、暗号化された出力は/dev/null
に送信されます。出力例
The advertisement contains the following signing keys: PLjNyRdGw03zlRoGjQYMahSZGu9 1
- 1
- エクスチェンジキーのサムプリント。
Do you want to trust these keys? [ynYN]
のプロンプトが表示されたら、Y
と入力します 。注記RHEL 8 には、Clevis バージョン 15 が同梱されており、SHA-1 ハッシュアルゴリズムを使用してサムプリントを生成します。その他のディストリビューションには、Clevis バージョン 17 以降があり、サムプリントに SHA-256 ハッシュアルゴリズムを使用します。サムプリントを作成するために SHA-1 を使用する Clevis バージョンを使用し、OpenShift Container Platform クラスターノードに Red Hat Enterprise Linux CoreOS (RHCOS) のインストール時に Clevis バインディングの問題を防ぐ必要があります。
Base64 でエンコードされたファイルを作成します。値を Tang サーバーの URL (
url
) と生成したサムプリント (thp
) で置き換えます。$ (cat <<EOM { "url": "http://tang.example.com:7500", 1 "thp": "PLjNyRdGw03zlRoGjQYMahSZGu9" 2 } EOM ) | base64 -w0
出力例
ewogInVybCI6ICJodHRwOi8vdGFuZy5leGFtcGxlLmNvbTo3NTAwIiwgCiAidGhwIjogIlBMak55UmRHdzAzemxSb0dqUVlNYWhTWkd1OSIgCn0K
Kubernetes マニフェストを生成していない場合は、インストールノードでインストールプログラムが含まれるディレクトリーに移動してマニフェストを作成します。
出力例
$ ./openshift-install create manifests --dir <installation_directory> 1
- 1
<installation_directory>
は、インストールファイルを保存するディレクトリーへのパスに置き換えます。
マシン設定ファイルを作成して Tang 暗号化モードを使用し、コントロールプレーンまたはコンピュートノードのブートディスクを暗号化します。
コントロールプレーンノードで暗号化を設定するには、以下のマシン設定サンプルを
<installation_directory>/openshift
ディレクトリーのファイルに保存します。たとえば、ファイルに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: 3.1.0 storage: files: - contents: source: data:text/plain;base64,e30K source: data:text/plain;base64,ewogInVybCI6ICJodHRwOi8vdGFuZy5leGFtcGxlLmNvbTo3NTAwIiwgCiAidGhwIjogIlBMak55UmRHdzAzemxSb0dqUVlNYWhTWkd1OSIgCn0K 1 mode: 420 overwrite: true path: /etc/clevis.json kernelArguments: - rd.neednet=1 2
コンピュートノードで暗号化を設定するには、以下のマシン設定サンプルを
<installation_directory>/openshift
ディレクトリーのファイルに保存します。たとえば、ファイルに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: 3.1.0 storage: files: - contents: source: data:text/plain;base64,e30K source: data:text/plain;base64,ewogInVybCI6ICJodHRwOi8vdGFuZy5leGFtcGxlLmNvbTo3NTAwIiwgCiAidGhwIjogIlBMak55UmRHdzAzemxSb0dqUVlNYWhTWkd1OSIgCn0K 1 mode: 420 overwrite: true path: /etc/clevis.json kernelArguments: - rd.neednet=1 2
- YAML ファイルのバックアップコピーを作成します。元の YAML ファイルは Ignition 設定ファイルの作成時に使用されます。
- 残りの OpenShift Container Platform インストールを継続します。