3.6. initdata の作成


initdata.toml ファイルを作成し、それを gzip 形式の Base64 エンコード文字列に変換します。

グローバル設定の場合は、ピア Pod の config map でこの文字列を INITDATA 値として指定します。特定の Pod 用の場合は、ピア Pod のマニフェストでアノテーションとして指定します。

重要

kbs-config config map で insecure_http = true を設定する場合は、kbs_cert 設定を削除する必要があります。

手順

  1. 次のコマンドを実行して、Red Hat build of Trustee の IP アドレスを取得します。

    $ oc get node $(oc get pod -n trustee-operator-system \
      -o jsonpath='{.items[0].spec.nodeName}') \
      -o jsonpath='{.status.addresses[?(@.type=="InternalIP")].address}'
    Copy to Clipboard Toggle word wrap

    出力例

    192.168.122.22
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行してポートを取得します。

    $ oc get svc kbs-service -n trustee-operator-system
    Copy to Clipboard Toggle word wrap

    出力例

    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    kbs-service  NodePort    172.30.116.11   <none>        8080:32178/TCP   12d
    Copy to Clipboard Toggle word wrap

  3. initdata.toml ファイルを作成します。

    algorithm = "sha384"
    version = "0.1.0"
    
    [data]
    "aa.toml" = '''
    [token_configs]
    [token_configs.coco_as]
    
    url = '<trustee_url>'
    
    [token_configs.kbs]
    url = '<trustee_url>'
    cert = """
    -----BEGIN CERTIFICATE-----
    <kbs_certificate>
    -----END CERTIFICATE-----
    """
    '''
    
    "cdh.toml" = '''
    socket = 'unix:///run/confidential-containers/cdh.sock'
    credentials = []
    
    [kbc]
    name = 'cc_kbc'
    url = '<trustee_url>'
    kbs_cert = """
    -----BEGIN CERTIFICATE-----
    <kbs_certificate>
    -----END CERTIFICATE-----
    """
    '''
    
    "policy.rego" = '''
    package agent_policy
    
    default AddARPNeighborsRequest := true
    default AddSwapRequest := true
    default CloseStdinRequest := true
    default CopyFileRequest := true
    default CreateContainerRequest := true
    default CreateSandboxRequest := true
    default DestroySandboxRequest := true
    default ExecProcessRequest := false
    default GetMetricsRequest := true
    default GetOOMEventRequest := true
    default GuestDetailsRequest := true
    default ListInterfacesRequest := true
    default ListRoutesRequest := true
    default MemHotplugByProbeRequest := true
    default OnlineCPUMemRequest := true
    default PauseContainerRequest := true
    default PullImageRequest := true
    default ReadStreamRequest := true
    default RemoveContainerRequest := true
    default RemoveStaleVirtiofsShareMountsRequest := true
    default ReseedRandomDevRequest := true
    default ResumeContainerRequest := true
    default SetGuestDateTimeRequest := true
    default SetPolicyRequest := true
    default SignalProcessRequest := true
    default StartContainerRequest := true
    default StartTracingRequest := true
    default StatsContainerRequest := true
    default StopTracingRequest := true
    default TtyWinResizeRequest := true
    default UpdateContainerRequest := true
    default UpdateEphemeralMountsRequest := true
    default UpdateInterfaceRequest := true
    default UpdateRoutesRequest := true
    default WaitProcessRequest := true
    default WriteStreamRequest := true
    '''
    Copy to Clipboard Toggle word wrap
    • <trustee-url>: Red Hat build of Trustee の IP アドレスとポートを指定します (例: https://192.168.122.22:32178)。
    • <kbs_certificate>: Attestation Agent 用の Base64 エンコード TLS 証明書を指定します。
    • kbs_cert: kbs-config config map で insecure_http = true を設定する場合は、kbs_cert 設定を削除します。
  4. 次のコマンドを実行して、initdata.toml ファイルを gzip 形式の Base64 エンコード文字列に変換し、テキストファイルに保存します。

    $ cat initdata.toml | gzip | base64 -w0 > initdata.txt
    Copy to Clipboard Toggle word wrap

    ピア Pod の config map またはピア Pod のマニフェスト用に、この文字列を記録しておきます。

  5. 次のコマンドを実行して、initdata.toml ファイルの SHA-256 ハッシュを計算し、その値を hash 変数に割り当てます。

    $ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
    Copy to Clipboard Toggle word wrap
  6. 次のコマンドを実行して、initial_pcr 変数に 32 バイトの 0 を割り当てます。

    $ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
    Copy to Clipboard Toggle word wrap
  7. 次のコマンドを実行して、hashinitial_pcr の SHA-256 ハッシュを計算し、その値を PCR8_HASH 変数に割り当てます。

    $ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
    Copy to Clipboard Toggle word wrap

    PCR8_HASH 値を記録しておきます。次のコマンドを実行して、initdata.toml ファイルの SHA-256 ハッシュを計算し、その値を hash 変数に割り当てます。

    $ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
    Copy to Clipboard Toggle word wrap
  8. 次のコマンドを実行して、initial_pcr 変数に 32 バイトの 0 を割り当てます。

    $ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
    Copy to Clipboard Toggle word wrap
  9. 次のコマンドを実行して、hashinitial_pcr の SHA-256 ハッシュを計算し、その値を PCR8_HASH 変数に割り当てます。

    $ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
    Copy to Clipboard Toggle word wrap

    RVPS の config map 用に PCR8_HASH 値を記録しておきます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat