Docker 容器广泛用于在云中部署应用程序。通过使用 Gramine Shielded Containers (GSC),我们提供基础设施来使用 Gramine Library OS 部署受 Intel SGX enclave 保护的 Docker 容器。
GSC 工具将 Docker 映像转换为新映像,其中包括 Gramine Library OS、清单文件、Intel SGX 相关信息,并使用 Gramine Library OS 在 Intel SGX enclave 内执行应用程序。它遵循常见的 Docker 方法,首先构建映像,然后在容器内运行该映像。首先,必须通过gsc build
命令对 Docker 映像进行粒度化。当粒化图像应在 Intel SGX enclave 内运行时,必须通过gsc sign-image
命令对图像进行签名。随后,可以使用docker run
运行该映像。
注意:作为gsc build
步骤的一部分,GSC 生成包含受信任文件列表(具有完整性保护的文件)的清单文件。此列表包含原始 Docker 映像中存在的所有文件的哈希值。因此,GSC 的清单创建能力依赖于对原始 Docker 镜像的打包:如果原始 Docker 镜像臃肿(包含不必要的文件),那么生成的清单也会臃肿。虽然这不会恶化 Gramine/GSC 的安全保证,但可能会影响启动性能。请务必小心,仅拉入 Docker 映像真正需要的依赖项。
官方 Gramine Library OS 文档可以在 https://gramine.readthedocs.io 找到。
官方 GSC 文档可以在 https://gramine-gsc.readthedocs.io 找到。
我们欢迎通过 GitHub Pull Request 做出贡献。请记住,它们受与主项目相同的规则的约束。
如有任何疑问,请发送电子邮件至 [email protected](公共存档)。
对于错误报告,请在我们的 GitHub 存储库上发布问题:https://github.com/gramineproject/gsc/issues。