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
    Copy to Clipboard Toggle word wrap
    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
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令,连接到 ocp-cc-pod 的 Bash shell:

    $ oc exec -it ocp-cc-pod -- bash
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令来获取 pod secret:

    $ curl http://127.0.0.1:8006/cdh/resource/default/kbsres1/key1
    Copy to Clipboard Toggle word wrap

    输出示例

    res1val1
    Copy to Clipboard Toggle word wrap

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat