4.6. initdata の作成


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

グローバル設定の場合は Pod config map で initdata を指定でき、特定の Pod の場合は Pod マニフェストで initdata を指定できます。Pod マニフェストの initdata 値は、Pod config map に設定された値をオーバーライドします。

重要

実稼働環境では、デフォルトの permissive の Kata エージェントポリシーをオーバーライドするために initdata を作成する必要があります。

グローバル設定の場合はピア Pod config map で initdata を指定でき、特定の Pod の場合はピア Pod マニフェストで initdata を指定できます。ピア Pod マニフェストの initdata 値は、ピア Pod config map に設定された値より優先されます。

重要

Red Hat build of Trustee の 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>'
    '''
    
    "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 := true
    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 の IP アドレスとポートを指定します (例: https://192.168.122.22:32178)。
    <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 カスタムリソースの作成 で指定したシークレット名とキーに置き換えます。
  4. 次のコマンドを実行して、initdata.toml ファイルを gzip 形式の Base64 エンコード文字列に変換し、テキストファイルに保存します。

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

    ピア Pod config map またはピア Pod マニフェストで使用するためにこの文字列を記録します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat