Как я могу развернуть приложения SGX в Kubernetes?

Недавно я узнал, что процессоры Intel SGX способны шифровать анклавы для постоянного хранения на диске. После этого я начал писать свои первые SGX-приложения и теперь мне интересно, есть ли возможность развернуть их на Kubernetes?

1 ответ

Ваш вопрос можно разделить на несколько шагов:

  1. Наличие кластера Kubernetes, предоставляющего доступ к SGX вашим приложениям.

Вам понадобятся узлы Kubernetes с процессорами с поддержкой SGX. Kubernetes обрабатывает «специальные устройства» как SGX через подключаемые модули устройств . Для Kubernetes существует несколько подключаемых модулей устройств SGX:

После того, как вы оборудовали узел таким плагином, они предоставляют вам механизм для предоставления устройства SGX вашим контейнерам.

  1. Создание приложений SGX для Kubernetes и доступ к ресурсам SGX

Вам нужно будет объединить свой анклав в контейнер и написать определения ресурсов Kubernetes. Вероятно, наиболее распространенным языком для облачных приложений является Go. Существует отличный пример конфиденциального микросервисного приложения на основе среды выполнения EdgelessRT Go и SDK (ссылка), в котором используется подключаемый модуль устройства Azure для предоставления SGX контейнерам: https://github.com/edgelesssys/emojivoto .

  1. Управление аттестацией, печатью и т. д. для вашего приложения SGX

Вероятно, наиболее интересным моментом при развертывании приложений SGX в Kubernetes является оркестровка, специфичная для SGX. В то время как Kubernetes выполняет всю общую координацию, специфичные для SGX задачи, такие как удаленная аттестация, миграция и управление секретами ваших развертываний, должны выполняться отдельно. Сервисная сетка Marblerun решает следующие задачи, а именно:

Другие вопросы по тегам