7.16. 验证测试过程
您可以通过创建测试 pod 并检索其机密来验证 attestation 过程。
此流程是验证 attestation 是否正常工作的示例。不要将敏感数据写入标准 I/O,因为可使用内存转储捕获数据。只有写入内存的数据才会被加密。
默认情况下,嵌入在 pod 虚拟机(VM)镜像中的 Kata 代理策略会禁用机密容器 pod 的 exec
和日志
API。此策略可防止集群管理员执行 pod 中的进程来减轻敏感数据,同时阻止意外将敏感数据写入标准 I/O。
在测试场景中,您可以通过向 pod 添加策略注解来覆盖运行时的限制。对于技术预览,远程测试不会验证运行时策略注解。
先决条件
- 如果 Trustee 服务器和测试 pod 没有在同一集群中运行,则已创建了路由。
流程
创建
verification-pod.yaml
清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用代理策略同时指定
io.katacontainers.config.agent.policy
注解和io.katacontainers.config.runtime.cc_init_data
注解,则 initdata 注解优先于代理策略注解。运行以下命令来创建 pod:
oc create -f verification-pod.yaml
$ oc create -f verification-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,连接到
ocp-cc-pod
的 Bash shell:oc exec -it ocp-cc-pod -- bash
$ oc exec -it ocp-cc-pod -- bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来获取 pod secret:
curl http://127.0.0.1:8006/cdh/resource/default/kbsres1/key1
$ curl http://127.0.0.1:8006/cdh/resource/default/kbsres1/key1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
res1val1
res1val1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 只有当 attestation 成功时才会返回 secret。