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/hack/Rvps-Extraction/GetRvps.sh -O $PWD/GetRvps.sh
$ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/hack/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/hack/Rvps-Extraction/static-files/pvextract-hdr -O $PWD/pvextract-hdr
$ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/hack/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/hack/Rvps-Extraction/static-files/se_parse_hdr.py -O $PWD/se_parse_hdr.py
$ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/hack/Rvps-Extraction/static-files/se_parse_hdr.py -O $PWD/se_parse_hdr.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 HKD(Host Key Document) 인증서를
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 다음 명령을 실행하여 NBD(네트워크 블록 장치)를 나열합니다.
lsblk
$ lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고nbd0에서nbd15까지 NBD를 사용하여 스크립트를 실행할 수 있습니다. 기본값은nbd3입니다.GetRvps.sh스크립트의 NBD 값을 스크립트를 실행하는 데 사용 중인 값으로 바꿉니다.다음 명령을 실행하여
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 다음 명령을 실행하여 CryostatCert
CA.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 다음 명령을 실행하여 MellanoxCert
TrustedRootG4.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 다음 명령을 실행하여 clevisCert
TrustedG4CodeSigningRSA4096SHA3842021CA1.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
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 /tmp/ibmse/rsa
$ mkdir /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