7.10. IBM Secure Execution 証明書と鍵の設定


ワーカーノードの IBM Secure Execution (SE) 証明書とキーを設定する必要があります。

前提条件

  • bastion ノードの IP アドレスがある。
  • ワーカーノードの内部 IP アドレスがある。

手順

  1. 次の手順を実行して、アテステーションポリシーフィールドを取得します。

    1. 次のコマンドを実行して、GetRvps.sh スクリプトをダウンロードするディレクトリーを作成します。

      $ mkdir -p Rvps-Extraction/
    2. 次のコマンドを実行してスクリプトをダウンロードします。

      $ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/GetRvps.sh -O $PWD/GetRvps.sh
    3. 次のコマンドを実行してサブディレクトリーを作成します。

      $ mkdir -p Rvps-Extraction/static-files
    4. 次のコマンドを実行して、static-files ディレクトリーに移動します。

      $ cd Rvps-Extraction/static-files
    5. 次のコマンドを実行して、pvextract-hdr ツールをダウンロードします。

      $ wget https://github.com/openshift/sandboxed-containers-operator/raw/devel/scripts/rvps-extraction/static-files/pvextract-hdr -O $PWD/pvextract-hdr
    6. 次のコマンドを実行して、ツールを実行可能にします。

      $ chmod +x pvextract-hdr
    7. 次のコマンドを実行して、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
    8. 次のコマンドを実行して、Host Key Document (HKD) 証明書を static-files ディレクトリーにコピーします。

      $ cp ~/path/to/<hkd_cert.crt> .

      static-files ディレクトリーには次のファイルが含まれています。

      • HKD.crt
      • pvextract-hdr
      • se_parse_hdr.py
    9. 次のコマンドを実行して、Rvps-Extraction ディレクトリーに移動します。

      $ cd ..
    10. 次のコマンドを実行して、GetRvps.sh スクリプトを実行可能にします。

      $ chmod +x GetRvps.sh
    11. スクリプトを実行します。

      $ ./GetRvps.sh

      出力例

      ***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:

      1. ボリュームから参照値プロバイダーサービスを生成するには、2 を入力します。

        Please enter your choice: 2
      2. libvirt プール名として fa-pp を入力します。

        Enter the Libvirt Pool Name: fa-pp
      3. libvirt ゲートウェイ URI を入力します。

        Enter the Libvirt URI Name: <libvirt-uri> 1
        1
        ピア Pod シークレット を作成するために使用した LIBVIRT_URI 値を指定します。
      4. libvirt ボリューム名として fa-pp-vol と入力します。

        Enter the Libvirt Volume Name: fa-pp-vol

        出力例

        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 '/root/Rvps-Extraction/output-files/hdr.bin' (640 bytes)
        se.tag:  42f3fe61e8a7e859cab3bb033fd11c61
        se.image_phkh:  92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
        provenance = ewogICAgInNlLmF0dGVzdGF0aW9uX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnRhZyI6IFsKICAgICAgICAiNDJmM2ZlNjFlOGE3ZTg1OWNhYjNiYjAzM2ZkMTFjNjEiCiAgICBdLAogICAgInNlLmltYWdlX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnVzZXJfZGF0YSI6IFsKICAgICAgICAiMDAiCiAgICBdLAogICAgInNlLnZlcnNpb24iOiBbCiAgICAgICAgIjI1NiIKICAgIF0KfQo=
        -rw-r--r--. 1 root root 640 Dec 16 10:57 /root/Rvps-Extraction/output-files/hdr.bin
        -rw-r--r--. 1 root root 446 Dec 16 10:57 /root/Rvps-Extraction/output-files/ibmse-policy.rego
        -rw-r--r--. 1 root root 561 Dec 16 10:57 /root/Rvps-Extraction/output-files/se-message

  2. 次の手順を実行して、証明書と証明書失効リスト (CRL) を取得します。

    1. 次のコマンドを実行して、証明書用の一時ディレクトリーを作成します。

      $ mkdir /tmp/ibmse/certs
    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
    3. 次のコマンドを実行して、DigiCertCA.crt 証明書をダウンロードします。

      $ wget https://www.ibm.com/support/resourcelink/api/content/public/DigiCertCA.crt -O /tmp/ibmse/certs/DigiCertCA.crt
    4. 次のコマンドを実行して、CRL の一時ディレクトリーを作成します。

      $ mkdir /tmp/ibmse/crls
    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
    6. 次のコマンドを実行して、DigiCertTrustedRootG4.crl ファイルをダウンロードします。

      $ wget http://crl3.digicert.com/DigiCertTrustedRootG4.crl -O /tmp/ibmse/crls/DigiCertTrustedRootG4.crl
    7. 次のコマンドを実行して、DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl ファイルをダウンロードします。

      $ wget http://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl -O /tmp/ibmse/crls/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl
    8. 次のコマンドを実行して、hdr.bin ファイル用の一時ディレクトリーを作成します。

      $ mkdir -p /tmp/ibmse/hdr/
    9. 次のコマンドを実行して、hdr.bin ファイルを hdr ディレクトリーにコピーします。

      $ cp /root/Rvps-Extraction/output-files/hdr.bin /tmp/ibmse/hdr/
    10. 次のコマンドを実行して、Host Key Document (HKD) 証明書用の一時ディレクトリーを作成します。

      $ mkdir -p /tmp/ibmse/hkds
    11. 次のコマンドを実行して、HKD 証明書を hkds ディレクトリーにコピーします。

      $ cp ~/path/to/<hkd_cert.crt> /tmp/ibmse/hkds/
  3. RSA 鍵を生成します。

    1. 次のコマンドを実行して RSA のキーペアを生成します。

      $ openssl genrsa -aes256 -passout pass:<password> -out /tmp/encrypt_key-psw.pem 4096 1
      1
      RSA 鍵のパスワードを指定します。
    2. 次のコマンドを実行して、RSA 鍵の一時ディレクトリーを作成します。

      $ mkdir -p /tmp/ibmse/rsa
    3. 次のコマンドを実行して encrypt_key.pub 鍵を作成します。

      $ openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -pubout -out /tmp/ibmse/rsa/encrypt_key.pub
    4. 以下のコマンドを実行して encrypt_key.pem 鍵を作成します。

      $ openssl rsa -in /tmp/encrypt_key-psw.pem -passin pass:<password> -out /tmp/ibmse/rsa/encrypt_key.pem
  4. 次のコマンドを実行して、/tmp/ibmse ディレクトリーの構造を確認します。

    $ tree /tmp/ibmse

    出力例

    /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

  5. 以下の手順を実行して、これらのファイルを OpenShift Container Platform ワーカーノードにコピーします。

    1. 以下のコマンドを実行して、/tmp/ibmse ディレクトリーから圧縮ファイルを作成します。

      $ tar -czf ibmse.tar.gz -C /tmp/ ibmse
    2. 次のコマンドを実行して、.tar.gz ファイルをクラスターの bastion ノードにコピーします。

      $ scp /tmp/ibmse.tar.gz root@<ocp_bastion_ip>:/tmp 1
      1
      bastion ノードの IP アドレスを指定します。
    3. 次のコマンドを実行して、SSH 経由で bastion ノードに接続します。

      $ ssh root@<ocp_bastion_ip>
    4. 次のコマンドを実行して、.tar.gz ファイルを各ワーカーノードにコピーします。

      $ scp /tmp/ibmse.tar.gz core@<worker_node_ip>:/tmp 1
      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/'
    6. 次のコマンドを実行して、ibmse フォルダーの権限を更新します。

      $ ssh core@<worker_node_ip> 'sudo chmod -R 755 /opt/confidential-containers/ibmse/'
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.