2.6. initdata の作成


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

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

次に、Red Hat build of Trustee の参照値プロバイダーサービス(RVPS)設定マップの initdata.toml ファイルから Platform Configuration Register (PCR) 8 ハッシュを生成します。

Red Hat build of Trustee は、RVPS を使用して、機密ワークロードによって送信される証明書証明の証拠を検証します。RVPS には、ファイルハッシュなどの信頼できる参照値が含まれています。これらの値は、アテステーション要求に含まれる PCR 測定値と比較されます。これらのハッシュは、Red Hat build of Trustee では生成されません。

重要

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

手順

  1. 以下のコマンドを実行して、Red Hat build of Trustee URL を取得します。

    $ TRUSTEE_URL=$(oc get route kbs-service \
      -n trustee-operator-system -o jsonpath='{.spec.host}') \
      && echo $TRUSTEE_URL
    Copy to Clipboard Toggle word wrap
  2. 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 := false
    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&gt;: 信頼の URL の Red Hat ビルドを指定します。テスト目的で insecure_http を使用して Red Hat build of Trustee を設定する場合は、HTTP を使用します。それ以外の場合は HTTPS を使用します。実稼働システムでは、プロキシーなどを使用して TLS を外部で処理するように環境を設定しない限り、insecure_http を使用しないでください。
    • <kbs_certificate>: Attestation Agent 用の Base64 エンコード TLS 証明書を指定します。
    • kbs_cert: kbs-config 設定マップで insecure_http = true を設定する場合、kbs_cert 設定を削除します。
  3. 次のコマンドを実行して、initdata.toml ファイルを gzip 形式の Base64 エンコード文字列に変換し、テキストファイルに保存します。

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

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

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

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

    $ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
    Copy to Clipboard Toggle word wrap
  6. 次のコマンドを実行して、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
  7. 次のコマンドを実行して、initial_pcr 変数に 32 バイトの 0 を割り当てます。

    $ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
    Copy to Clipboard Toggle word wrap
  8. 次のコマンドを実行して、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