7.16. 验证测试过程


您可以通过创建测试 pod 并检索其机密来验证 attestation 过程。

重要

此流程是验证 attestation 是否正常工作的示例。不要将敏感数据写入标准 I/O,因为可使用内存转储捕获数据。只有写入内存的数据才会被加密。

默认情况下,嵌入在 pod 虚拟机(VM)镜像中的 Kata 代理策略会禁用机密容器 pod 的 exec 和日志 API。此策略可防止集群管理员执行 pod 中的进程来减轻敏感数据,同时阻止意外将敏感数据写入标准 I/O。

在测试场景中,您可以通过向 pod 添加策略注解来覆盖运行时的限制。对于技术预览,远程测试不会验证运行时策略注解。

先决条件

  • 如果 Trustee 服务器和测试 pod 没有在同一集群中运行,则已创建了路由。

流程

  1. 创建 verification-pod.yaml 清单文件:

    apiVersion: v1
    kind: Pod
    metadata:
      name: ocp-cc-pod
      labels:
        app: ocp-cc-pod
      annotations:
        io.katacontainers.config.agent.policy: <base64_encoded_policy> 
    1
    
        io.katacontainers.config.runtime.cc_init_data: <base64_initdata> 
    2
    
    spec:
      runtimeClassName: kata-remote
      containers:
        - name: skr-openshift
          image: registry.access.redhat.com/ubi9/ubi:9.3
          command:
            - sleep
            - "36000"
          securityContext:
            privileged: false
            seccompProfile:
              type: RuntimeDefault
    1
    此 pod 注解覆盖阻止敏感数据写入标准 I/O 的默认代理策略。
    2
    此 pod 注解覆盖 initdata.toml 文件的 Base64 编码字符串,在对等 pod 配置映射中全局设置。

    如果您使用代理策略同时指定 io.katacontainers.config.agent.policy 注解和 io.katacontainers.config.runtime.cc_init_data 注解,则 initdata 注解优先于代理策略注解。

  2. 运行以下命令来创建 pod:

    $ oc create -f verification-pod.yaml
  3. 运行以下命令,连接到 ocp-cc-pod 的 Bash shell:

    $ oc exec -it ocp-cc-pod -- bash
  4. 运行以下命令来获取 pod secret:

    $ curl http://127.0.0.1:8006/cdh/resource/default/kbsres1/key1

    输出示例

    res1val1

    只有当 attestation 成功时才会返回 secret。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部