2.8. initdata の作成


initdata を作成すると、実行時に機密データまたはワークロード固有のデータを使用して Pod をセキュアに初期化できるため、このデータを仮想マシンイメージに埋め込む必要がなくなります。このアプローチにより、機密情報の漏洩リスクが軽減され、カスタムイメージビルドの必要性がなくなるため、セキュリティーが強化されます。

重要

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

手順

  1. 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>'
    '''
    
    "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-----
    """
    [image]
    image_security_policy_uri = 'kbs:///default/<secret-policy-name>/<key>
    '''
    
    "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 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 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 ExecProcessRequest := false
    default SetPolicyRequest := false
    default WriteStreamRequest := false
    
    ExecProcessRequest if {
        input_command = concat(" ", input.process.Args)
        some allowed_command in policy_data.allowed_commands
        input_command == allowed_command
    }
    
    policy_data := {
      "allowed_commands": [
            "curl http://127.0.0.1:8006/cdh/resource/default/attestation-status/status"
      ]
    }
    '''
    Copy to Clipboard Toggle word wrap
    url
    Red Hat build of Trustee を指定します。
    <kbs_certificate>
    attestation agent の Base64 でエンコードされた TLS 証明書を指定します。
    kbs_cert
    Red Hat build of Trustee URL の kbs-config config map で insecure_http = true を設定する場合は、kbs_cert 設定を削除します。
    image_security_policy_uri
    コンテナーイメージ署名検証ポリシーを有効にした場合のみ (オプション)。<secret-policy-name><key> は、それぞれ KbsConfig カスタムリソースの作成 で指定したシークレット名とキーに置き換えます。
  2. 次のコマンドを実行して、initdata.toml ファイルを gzip 形式の Base64 エンコード文字列に変換し、テキストファイルに保存します。

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

    この文字列を記録して、Pod マニフェストで使用します。

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

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

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

© 2026 Red Hat
トップに戻る