confidential-containers/guest-components
GitHub: confidential-containers/guest-components
机密容器项目在可信执行环境内部运行的 Rust 工具集,提供远程证明、镜像加解密、机密数据管理等核心能力。
Stars: 118 | Forks: 146
# 机密容器工具与组件
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fconfidential-containers%2Fimage-rs?ref=badge_shield)
[](https://scorecard.dev/viewer/?uri=github.com/confidential-containers/guest-components)
本仓库包含用于机密容器镜像的工具和组件。
## 组件
[Attestation Agent](attestation-agent)
用于协助远程证明协议的代理。
可以构建为库以在基于进程的 enclave 中运行,也可以构建为在机密虚拟机内部运行的进程。
[image-rs](image-rs)
容器镜像管理库的 Rust 实现。
[ocicrypt-rs](ocicrypt-rs)
OCI 镜像加密库的 Rust 实现。
[api-server-rest](api-server-rest)
CoCo RESTful API 服务器。
[confidential-data-hub](confidential-data-hub)
机密数据中心。
[coco-keyprovider](attestation-agent/coco_keyprovider/)
CoCo Keyprovider。用于加密容器镜像。
## 工具
[secret-cli](confidential-data-hub/hub/src/bin/secret_cli.rs)
用于封装和解封密封秘密的实用程序
[CDH Client](confidential-data-hub/hub/src/bin)
用于测试 CDH 端点的工具
[CDH Go Client](confidential-data-hub/golang)
用于测试 CDH 端点的 Go 工具
[CDH (One Shot)](confidential-data-hub/hub/src/bin/cdh-oneshot.rs)
CDH 的 One Shot 版本
[CoCo Keyprovider](attestation-agent/coco_keyprovider)
用于加密镜像的 Keyprovider 端点
## 构建
提供了一个 `Makefile`,用于快速为特定平台构建 Attestation Agent/Api Server Rest/Confidential Data Hub。
```
make build TEE_PLATFORM=$(TEE_PLATFORM)
make install DESTDIR=/usr/local/bin
```
`TEE_PLATFORM` 参数可以是
- `none`:用于非机密访客的测试
- `all`:用于以下所有平台
- `fs`:用于具有加密根文件系统的平台(即 s390x)
- `tdx`:用于 Intel TDX
- `az-tdx-vtpm`:用于带有 Azure vTPM 的 Intel TDX
- `snp`:用于 AMD SEV-SNP
- `amd`:用于 AMD SEV(-ES) 和 AMD SEV-SNP
- `az-snp-vtpm`:用于带有 Azure vTPM 的 AMD SEV-SNP
- `se`:用于 IBM Secure Execution (SE)
默认情况下,`kbs`/`sev` 将作为资源提供者在 Confidential Data Hub 中构建。如果你不想启用任何默认选项,而只使用内置的 `offline-fs-kbc`,可以在构建时将 `NO_RESOURCE_PROVIDER` 标志设置为 `true`。
```
make build TEE_PLATFORM=$(TEE_PLATFORM) NO_RESOURCE_PROVIDER=true
```
### 可选构建参数
可以通过运行以下命令更新 ttRPC 和 gRPC 协议
```
make build-protos
```
## 许可证
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fconfidential-containers%2Fimage-rs?ref=badge_large)
标签:DevSecOps, Go 语言, JSONLines, Kata Containers, Python工具, Rust, StruQ, 上游代理, 可信执行环境 (TEE), 可视化界面, 容器镜像加密, 微服务安全, 数据隐私, 日志审计, 机密容器, 机密计算, 硬件安全模块, 网络流量审计, 请求拦截, 远程证明, 通知系统, 通知系统, 镜像拉取, 零信任