Os contêineres Docker são amplamente usados para implantar aplicativos na nuvem. Usando Gramine Shielded Containers (GSC), fornecemos a infraestrutura para implantar contêineres Docker protegidos por enclaves Intel SGX usando o Gramine Library OS.
A ferramenta GSC transforma uma imagem Docker em uma nova imagem que inclui o sistema operacional Gramine Library, arquivos de manifesto, informações relacionadas ao Intel SGX e executa o aplicativo dentro de um enclave Intel SGX usando o sistema operacional Gramine Library. Ele segue a abordagem comum do Docker para primeiro construir uma imagem e posteriormente executá-la dentro de um contêiner. Primeiramente, uma imagem Docker deve ser graminizada por meio do comando gsc build
. Quando a imagem graminizada deve ser executada em um enclave Intel SGX, a imagem deve ser assinada por meio de um comando gsc sign-image
. Posteriormente, a imagem pode ser executada usando docker run
.
NOTA : Como parte da etapa gsc build
, o GSC gera o arquivo de manifesto com uma lista de arquivos confiáveis (arquivos com proteção de integridade). Esta lista contém hashes de todos os arquivos presentes na imagem original do Docker. Portanto, a capacidade de criação de manifesto do GSC depende do empacotamento da imagem original do Docker: se a imagem original do Docker estiver inchada (contém arquivos desnecessários), o manifesto gerado também ficará inchado. Embora isso não prejudique as garantias de segurança do Gramine/GSC, pode afetar o desempenho da inicialização. Tenha cuidado ao obter apenas as dependências realmente necessárias para sua imagem Docker.
A documentação oficial do Gramine Library OS pode ser encontrada em https://gramine.readthedocs.io.
A documentação oficial do GSC pode ser encontrada em https://gramine-gsc.readthedocs.io.
Aceitamos contribuições por meio de solicitações pull do GitHub. Tenha em mente que eles são regidos pelas mesmas regras do projeto principal.
Para qualquer dúvida, envie um email para [email protected] (arquivo público).
Para relatórios de bugs, poste um problema em nosso repositório GitHub: https://github.com/gramineproject/gsc/issues.