7.10. IBM Secure Execution 인증서 및 키 구성


작업자 노드에 대한 IBM Secure Execution (SE) 인증서 및 키를 구성해야 합니다.

사전 요구 사항

  • bastion 노드의 IP 주소가 있습니다.
  • 작업자 노드의 내부 IP 주소가 있습니다.

프로세스

  1. 다음 단계를 수행하여 인증 정책 필드를 가져옵니다.

    1. 다음 명령을 실행하여 GetRvps.sh 스크립트를 다운로드할 디렉터리를 만듭니다.

      $ mkdir -p Rvps-Extraction/
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 스크립트를 다운로드합니다.

      $ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/hack/Rvps-Extraction/GetRvps.sh -O $PWD/GetRvps.sh
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 하위 디렉터리를 생성합니다.

      $ mkdir -p Rvps-Extraction/static-files
      Copy to Clipboard Toggle word wrap
    4. 다음 명령을 실행하여 static-files 디렉터리로 이동합니다.

      $ cd Rvps-Extraction/static-files
      Copy to Clipboard Toggle word wrap
    5. 다음 명령을 실행하여 pvextract-hdr 툴을 다운로드합니다.

      $ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/hack/Rvps-Extraction/static-files/pvextract-hdr -O $PWD/pvextract-hdr
      Copy to Clipboard Toggle word wrap
    6. 다음 명령을 실행하여 툴을 실행 가능하게 만듭니다.

      $ chmod +x pvextract-hdr
      Copy to Clipboard Toggle word wrap
    7. 다음 명령을 실행하여 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
      Copy to Clipboard Toggle word wrap
    8. 다음 명령을 실행하여 HKD(Host Key Document) 인증서를 static-files 디렉터리에 복사합니다.

      $ cp ~/path/to/<hkd_cert.crt> .
      Copy to Clipboard Toggle word wrap

      static-files 디렉터리에는 다음 파일이 포함되어 있습니다.

      • HKD.crt
      • pvextract-hdr
      • se_parse_hdr.py
    9. 다음 명령을 실행하여 Rvps-Extraction 디렉터리로 이동합니다.

      $ cd ..
      Copy to Clipboard Toggle word wrap
    10. 다음 명령을 실행하여 NBD(네트워크 블록 장치)를 나열합니다.

      $ lsblk
      Copy to Clipboard Toggle word wrap

      출력 예

      nbd0                                           43:0    0  100G  0 disk
      ├─nbd0p1                                       43:1    0  255M  0 part
      ├─nbd0p2                                       43:2    0    6G  0 part
      │ └─luks-e23e15fa-9c2a-45a5-9275-aae9d8e709c3 253:2    0    6G  0 crypt
      └─nbd0p3                                       43:3    0 12.4G  0 part
      nbd1                                           43:32   0   20G  0 disk
      ├─nbd1p1                                       43:33   0  255M  0 part
      ├─nbd1p2                                       43:34   0    6G  0 part
      │ └─luks-5a540f7c-c0cb-419b-95e0-487670d91525 253:3    0    6G  0 crypt
      └─nbd1p3                                       43:35   0 86.9G  0 part
      nbd2                                           43:64   0    0B  0 disk
      nbd3                                           43:96   0    0B  0 disk
      nbd4                                           43:128  0    0B  0 disk
      nbd5                                           43:160  0    0B  0 disk
      nbd6                                           43:192  0    0B  0 disk
      nbd7                                           43:224  0    0B  0 disk
      nbd8                                           43:256  0    0B  0 disk
      nbd9                                           43:288  0    0B  0 disk
      nbd10                                          43:320  0    0B  0 disk
      Copy to Clipboard Toggle word wrap

      참고

      nbd0 에서 nbd15 까지 NBD를 사용하여 스크립트를 실행할 수 있습니다. 기본값은 nbd3 입니다. GetRvps.sh 스크립트의 NBD 값을 스크립트를 실행하는 데 사용 중인 값으로 바꿉니다.

    11. 다음 명령을 실행하여 GetRvps.sh 스크립트를 실행 가능하게 만듭니다.

      $ chmod +x GetRvps.sh
      Copy to Clipboard Toggle word wrap
    12. 스크립트를 실행합니다.

      $ ./GetRvps.sh
      Copy to Clipboard Toggle word wrap

      출력 예

      ***Installing necessary packages for RVPS values extraction ***
      Updating Subscription Management repositories.
      Last metadata expiration check: 0:37:12 ago on Mon Nov 18 09:20:29 2024.
      Package python3-3.9.19-8.el9_5.1.s390x is already installed.
      Package python3-cryptography-36.0.1-4.el9.s390x is already installed.
      Package kmod-28-10.el9.s390x is already installed.
      Dependencies resolved.
      Nothing to do.
      Complete!
      ***Installation Finished ***
      1) Generate the RVPS From Local Image from User pc
      2) Generate RVPS from Volume
      3) Quit
      Please enter your choice:
      Copy to Clipboard Toggle word wrap

      1. 2 를 입력하여 볼륨에서 참조 값 공급자 서비스를 생성합니다.

        Please enter your choice: 2
        Copy to Clipboard Toggle word wrap
      2. libvirt 풀 이름에 fa-pp 를 입력합니다.

        Enter the Libvirt Pool Name: fa-pp
        Copy to Clipboard Toggle word wrap
      3. libvirt 게이트웨이 URI를 입력합니다.

        Enter the Libvirt URI Name: <libvirt-uri> 
        1
        Copy to Clipboard Toggle word wrap
        1
        피어 Pod 시크릿 을 생성하는 데 사용한 LIBVIRT_URI 값을 지정합니다.
      4. libvirt 볼륨 이름에 fa-pp-vol 을 입력합니다.

        Enter the Libvirt Volume Name: fa-pp-vol
        Copy to Clipboard Toggle word wrap

        출력 예

        Downloading from PODVM Volume...
        
        mount: /mnt/myvm: special device /dev/nbd3p1 does not exist.
        Error: Failed to mount the image. Retrying...
        Mounting on second attempt passed
        /dev/nbd3 disconnected
        SE header found at offset 0x014000
        SE header written to '/roothuddleyes/sandboxed-containers-operator/hack/Rvps-Extraction/output-files/hdr.bin' (640 bytes)
        se.tag: 8ed6bc93307de4a5988a8ce0b80af390
        se.image_phkh:  92d0aff6eb86720b6b1ea0cb98d2c99ff2ab693df3efff2158f54112f6961111
        provenance = ewogICAgInNlLmF0dGVzdGF0aW9uX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnRhZyI6IFsKICAgICAgICAiOGVkNmFkOTMzMDdkZTRhNTk4OGE4Y2UwYjgwZmIzOTUiCiAgICBdLAogICAgInNlLmltYWdlX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnVzZXJfZGF0YSI6IFsKICAgICAgICAiMDAiCiAgICBdLAogICAgInNlLnZlcnNpb24iOiBbCiAgICAgICAgIjI1NiIKICAgIF0KfQo=
        -rw-r--r--. 1 root root 640 Nov 18 10:01 /root/sandboxed-containers-operator/hack/Rvps-Extraction/output-files/hdr.bin
        -rw-r--r--. 1 root root 446 Nov 18 10:01 /root/sandboxed-containers-operator/hack/Rvps-Extraction/output-files/ibmse-policy.rego
        -rw-r--r--. 1 root root 561 Nov 18 10:01 /root/sandboxed-containers-operator/hack/Rvps-Extraction/output-files/se-message
        Copy to Clipboard Toggle word wrap

  2. 다음 단계를 수행하여 인증서 및 CRL(인증서 취소 목록)을 가져옵니다.

    1. 다음 명령을 실행하여 인증서에 대한 임시 디렉터리를 생성합니다.

      $ mkdir /tmp/ibmse/certs
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 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
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 CryostatCert CA.crt 인증서를 다운로드합니다.

      $ wget https://www.ibm.com/support/resourcelink/api/content/public/DigiCertCA.crt -O /tmp/ibmse/certs/DigiCertCA.crt
      Copy to Clipboard Toggle word wrap
    4. 다음 명령을 실행하여 CRL의 임시 디렉터리를 생성합니다.

      $ mkdir /tmp/ibmse/crls
      Copy to Clipboard Toggle word wrap
    5. 다음 명령을 실행하여 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
      Copy to Clipboard Toggle word wrap
    6. 다음 명령을 실행하여 MellanoxCert TrustedRootG4.crl 파일을 다운로드합니다.

      $ wget http://crl3.digicert.com/DigiCertTrustedRootG4.crl -O /tmp/ibmse/crls/DigiCertTrustedRootG4.crl
      Copy to Clipboard Toggle word wrap
    7. 다음 명령을 실행하여 clevisCert TrustedG4CodeSigningRSA4096SHA3842021CA1.crl 파일을 다운로드합니다.

      $ wget http://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl -O /tmp/ibmse/crls/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl
      Copy to Clipboard Toggle word wrap
  3. RSA 키를 생성합니다.

    1. 다음 명령을 실행하여 RSA 키 쌍을 생성합니다.

      $ openssl genrsa -aes256 -passout pass:<password> -out /tmp/encrypt_key-psw.pem 4096 
      1
      Copy to Clipboard Toggle word wrap
      1
      RSA 키 암호를 지정합니다.
    2. 다음 명령을 실행하여 RSA 키에 대한 임시 디렉터리를 생성합니다.

      $ mkdir /tmp/ibmse/rsa
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 encrypt_key.pub 키를 만듭니다.

      $ openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -pubout -out /tmp/ibmse/rsa/encrypt_key.pub
      Copy to Clipboard Toggle word wrap
    4. 다음 명령을 실행하여 encrypt_key.pem 키를 생성합니다.

      $ openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -out /tmp/ibmse/rsa/encrypt_key.pem
      Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 /tmp/ibmse 디렉터리의 구조를 확인합니다.

    $ tree /tmp/ibmse
    Copy to Clipboard Toggle word wrap

    출력 예

    /tmp/ibmse
    ├── certs
    │   ├── ibm-z-host-key-signing-gen2.crt
    |   └── DigiCertCA.crt
    ├── crls
    │   └── ibm-z-host-key-gen2.crl
    │   └── DigiCertTrustedRootG4.crl
    │   └── DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl
    ├── hdr
    │   └── hdr.bin
    ├── hkds
    │   └── <hkd_cert.crt>
    └── rsa
        ├── encrypt_key.pem
        └── encrypt_key.pub
    Copy to Clipboard Toggle word wrap

  5. 다음 단계를 수행하여 이러한 파일을 OpenShift Container Platform 작업자 노드에 복사합니다.

    1. 다음 명령을 실행하여 /tmp/ibmse 디렉토리에서 압축 파일을 생성합니다.

      $ tar -czf ibmse.tar.gz -C /tmp/ ibmse
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 .tar.gz 파일을 클러스터의 bastion 노드에 복사합니다.

      $ scp /tmp/ibmse.tar.gz root@<ocp_bastion_ip>:/tmp 
      1
      Copy to Clipboard Toggle word wrap
      1
      bastion 노드의 IP 주소를 지정합니다.
    3. 다음 명령을 실행하여 SSH를 통해 bastion 노드에 연결합니다.

      $ ssh root@<ocp_bastion_ip>
      Copy to Clipboard Toggle word wrap
    4. 다음 명령을 실행하여 .tar.gz 파일을 각 작업자 노드에 복사합니다.

      $ scp /tmp/ibmse.tar.gz core@<worker_node_ip>:/tmp 
      1
      Copy to Clipboard Toggle word wrap
      1
      작업자 노드의 IP 주소를 지정합니다.
    5. 다음 명령을 실행하여 각 작업자 노드에서 .tar.gz 를 추출합니다.

      $ 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 Toggle word wrap
    6. 다음 명령을 실행하여 ibmse 폴더 권한을 업데이트합니다.

      $ ssh core@<worker_node_ip> 'sudo chmod -R 755 /opt/confidential-containers/ibmse/'
      Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat