Les conteneurs Docker sont largement utilisés pour déployer des applications dans le cloud. À l'aide de Gramine Shielded Containers (GSC), nous fournissons l'infrastructure nécessaire au déploiement de conteneurs Docker protégés par des enclaves Intel SGX à l'aide du système d'exploitation Gramine Library.
L'outil GSC transforme une image Docker en une nouvelle image qui inclut le système d'exploitation Gramine Library, les fichiers manifestes, les informations relatives à Intel SGX, et exécute l'application dans une enclave Intel SGX à l'aide du système d'exploitation Gramine Library. Il suit l'approche Docker courante pour créer d'abord une image, puis exécuter cette image à l'intérieur d'un conteneur. Dans un premier temps, une image Docker doit être graminée via la commande gsc build
. Lorsque l'image graminisée doit s'exécuter dans une enclave Intel SGX, l'image doit être signée via une commande gsc sign-image
. Par la suite, l'image peut être exécutée à l'aide de docker run
.
REMARQUE : Dans le cadre de l'étape gsc build
, GSC génère le fichier manifeste avec une liste de fichiers de confiance (fichiers avec protection d'intégrité). Cette liste contient les hachages de tous les fichiers présents dans l'image Docker d'origine. Par conséquent, la capacité de création de manifeste de GSC dépend de l'empaquetage de l'image Docker d'origine : si l'image Docker d'origine est gonflée (contient des fichiers inutiles), alors le manifeste généré sera également gonflé. Bien que cela ne détériore pas les garanties de sécurité de Gramine/GSC, cela peut affecter les performances de démarrage. Veuillez faire preuve de prudence en n'intégrant que les dépendances réellement requises pour votre image Docker.
La documentation officielle du système d'exploitation Gramine Library est disponible sur https://gramine.readthedocs.io.
La documentation officielle de GSC est disponible sur https://gramine-gsc.readthedocs.io.
Nous acceptons les contributions via les pull request GitHub. Gardez à l’esprit qu’ils sont régis par les mêmes règles que le projet principal.
Pour toute question, veuillez envoyer un e-mail à [email protected] (archives publiques).
Pour les rapports de bogues, publiez un problème sur notre référentiel GitHub : https://github.com/gramineproject/gsc/issues.