7.10. IBM Secure Execution 証明書と鍵の設定
ワーカーノードの IBM Secure Execution (SE) 証明書とキーを設定する必要があります。
前提条件
- bastion ノードの IP アドレスがある。
- ワーカーノードの内部 IP アドレスがある。
手順
次の手順を実行して、アテステーションポリシーフィールドを取得します。
次のコマンドを実行して、
GetRvps.shスクリプトをダウンロードするディレクトリーを作成します。mkdir -p Rvps-Extraction/
$ mkdir -p Rvps-Extraction/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してスクリプトをダウンロードします。
wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/GetRvps.sh -O $PWD/GetRvps.sh
$ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/GetRvps.sh -O $PWD/GetRvps.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してサブディレクトリーを作成します。
mkdir -p Rvps-Extraction/static-files
$ mkdir -p Rvps-Extraction/static-filesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
static-filesディレクトリーに移動します。cd Rvps-Extraction/static-files
$ cd Rvps-Extraction/static-filesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
pvextract-hdrツールをダウンロードします。wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/static-files/pvextract-hdr -O $PWD/pvextract-hdr
$ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/static-files/pvextract-hdr -O $PWD/pvextract-hdrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ツールを実行可能にします。
chmod +x pvextract-hdr
$ chmod +x pvextract-hdrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
se_parse_hdr.pyスクリプトをダウンロードします。wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/static-files/se_parse_hdr.py -O $PWD/se_parse_hdr.py
$ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/static-files/se_parse_hdr.py -O $PWD/se_parse_hdr.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Host Key Document (HKD) 証明書を
static-filesディレクトリーにコピーします。cp ~/path/to/<hkd_cert.crt> .
$ cp ~/path/to/<hkd_cert.crt> .Copy to Clipboard Copied! Toggle word wrap Toggle overflow static-filesディレクトリーには次のファイルが含まれています。-
HKD.crt -
pvextract-hdr -
se_parse_hdr.py
-
次のコマンドを実行して、
Rvps-Extractionディレクトリーに移動します。cd ..
$ cd ..Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
GetRvps.shスクリプトを実行可能にします。chmod +x GetRvps.sh
$ chmod +x GetRvps.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトを実行します。
./GetRvps.sh
$ ./GetRvps.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ボリュームから参照値プロバイダーサービスを生成するには、
2を入力します。Please enter your choice: 2
Please enter your choice: 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow libvirt プール名として
fa-ppを入力します。Enter the Libvirt Pool Name: fa-pp
Enter the Libvirt Pool Name: fa-ppCopy to Clipboard Copied! Toggle word wrap Toggle overflow libvirt ゲートウェイ URI を入力します。
Enter the Libvirt URI Name: <libvirt-uri>
Enter the Libvirt URI Name: <libvirt-uri>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ピア Pod シークレット を作成するために使用した
LIBVIRT_URI値を指定します。
libvirt ボリューム名として
fa-pp-volと入力します。Enter the Libvirt Volume Name: fa-pp-vol
Enter the Libvirt Volume Name: fa-pp-volCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の手順を実行して、証明書と証明書失効リスト (CRL) を取得します。
次のコマンドを実行して、証明書用の一時ディレクトリーを作成します。
mkdir /tmp/ibmse/certs
$ mkdir /tmp/ibmse/certsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
ibm-z-host-key-signing-gen2.crt証明書をダウンロードします。wget https://www.ibm.com/support/resourcelink/api/content/public/ibm-z-host-key-signing-gen2.crt -O /tmp/ibmse/certs/ibm-z-host-key-signing-gen2.crt
$ wget https://www.ibm.com/support/resourcelink/api/content/public/ibm-z-host-key-signing-gen2.crt -O /tmp/ibmse/certs/ibm-z-host-key-signing-gen2.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
DigiCertCA.crt証明書をダウンロードします。wget https://www.ibm.com/support/resourcelink/api/content/public/DigiCertCA.crt -O /tmp/ibmse/certs/DigiCertCA.crt
$ wget https://www.ibm.com/support/resourcelink/api/content/public/DigiCertCA.crt -O /tmp/ibmse/certs/DigiCertCA.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、CRL の一時ディレクトリーを作成します。
mkdir /tmp/ibmse/crls
$ mkdir /tmp/ibmse/crlsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ibm-z-host-key-gen2.crlファイルをダウンロードします。wget https://www.ibm.com/support/resourcelink/api/content/public/ibm-z-host-key-gen2.crl -O /tmp/ibmse/crls/ibm-z-host-key-gen2.crl
$ wget https://www.ibm.com/support/resourcelink/api/content/public/ibm-z-host-key-gen2.crl -O /tmp/ibmse/crls/ibm-z-host-key-gen2.crlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
DigiCertTrustedRootG4.crlファイルをダウンロードします。wget http://crl3.digicert.com/DigiCertTrustedRootG4.crl -O /tmp/ibmse/crls/DigiCertTrustedRootG4.crl
$ wget http://crl3.digicert.com/DigiCertTrustedRootG4.crl -O /tmp/ibmse/crls/DigiCertTrustedRootG4.crlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crlファイルをダウンロードします。wget http://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl -O /tmp/ibmse/crls/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl
$ wget http://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl -O /tmp/ibmse/crls/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
hdr.binファイル用の一時ディレクトリーを作成します。mkdir -p /tmp/ibmse/hdr/
$ mkdir -p /tmp/ibmse/hdr/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
hdr.binファイルをhdrディレクトリーにコピーします。cp /root/Rvps-Extraction/output-files/hdr.bin /tmp/ibmse/hdr/
$ cp /root/Rvps-Extraction/output-files/hdr.bin /tmp/ibmse/hdr/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Host Key Document (HKD) 証明書用の一時ディレクトリーを作成します。
mkdir -p /tmp/ibmse/hkds
$ mkdir -p /tmp/ibmse/hkdsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、HKD 証明書を
hkdsディレクトリーにコピーします。cp ~/path/to/<hkd_cert.crt> /tmp/ibmse/hkds/
$ cp ~/path/to/<hkd_cert.crt> /tmp/ibmse/hkds/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
RSA 鍵を生成します。
次のコマンドを実行して RSA のキーペアを生成します。
openssl genrsa -aes256 -passout pass:<password> -out /tmp/encrypt_key-psw.pem 4096
$ openssl genrsa -aes256 -passout pass:<password> -out /tmp/encrypt_key-psw.pem 40961 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- RSA 鍵のパスワードを指定します。
次のコマンドを実行して、RSA 鍵の一時ディレクトリーを作成します。
mkdir -p /tmp/ibmse/rsa
$ mkdir -p /tmp/ibmse/rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
encrypt_key.pub鍵を作成します。openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -pubout -out /tmp/ibmse/rsa/encrypt_key.pub
$ openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -pubout -out /tmp/ibmse/rsa/encrypt_key.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
encrypt_key.pem鍵を作成します。openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -out /tmp/ibmse/rsa/encrypt_key.pem
$ openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -out /tmp/ibmse/rsa/encrypt_key.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、
/tmp/ibmseディレクトリーの構造を確認します。tree /tmp/ibmse
$ tree /tmp/ibmseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の手順を実行して、これらのファイルを OpenShift Container Platform ワーカーノードにコピーします。
以下のコマンドを実行して、
/tmp/ibmseディレクトリーから圧縮ファイルを作成します。tar -czf ibmse.tar.gz -C /tmp/ ibmse
$ tar -czf ibmse.tar.gz -C /tmp/ ibmseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
.tar.gzファイルをクラスターの bastion ノードにコピーします。scp /tmp/ibmse.tar.gz root@<ocp_bastion_ip>:/tmp
$ scp /tmp/ibmse.tar.gz root@<ocp_bastion_ip>:/tmp1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- bastion ノードの IP アドレスを指定します。
次のコマンドを実行して、SSH 経由で bastion ノードに接続します。
ssh root@<ocp_bastion_ip>
$ ssh root@<ocp_bastion_ip>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
.tar.gzファイルを各ワーカーノードにコピーします。scp /tmp/ibmse.tar.gz core@<worker_node_ip>:/tmp
$ scp /tmp/ibmse.tar.gz core@<worker_node_ip>:/tmp1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ワーカーノードの IP アドレスを指定します。
次のコマンドを実行して、各ワーカーノードで
.tar.gzを抽出します。ssh core@<worker_node_ip> 'sudo mkdir -p /opt/confidential-containers/ && sudo tar -xzf /tmp/ibmse.tar.gz -C /opt/confidential-containers/'
$ ssh core@<worker_node_ip> 'sudo mkdir -p /opt/confidential-containers/ && sudo tar -xzf /tmp/ibmse.tar.gz -C /opt/confidential-containers/'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ibmseフォルダーの権限を更新します。ssh core@<worker_node_ip> 'sudo chmod -R 755 /opt/confidential-containers/ibmse/'
$ ssh core@<worker_node_ip> 'sudo chmod -R 755 /opt/confidential-containers/ibmse/'Copy to Clipboard Copied! Toggle word wrap Toggle overflow