Как защитить учетные данные частного реестра докеров, используемые в узлах кластера и пространствах имен Kubernetes?

Попытка узнать, есть ли какие-либо рекомендуемые или лучшие подходы, поскольку docker login my.registry.com создает config.json с идентификатором пользователя и паролем, и он не зашифрован. Любой, кто вошел в узел или узел перехода, где изображения выталкиваются / извлекаются из частного реестра, может легко увидеть учетные данные реестра. Что касается использования этих учетных данных для развертывания Kubernetes, я считаю, что единственный вариант - преобразовать их в regcred и называть это imagePullSecrets в файлах YAML. Секрет может быть ограничен пространством имен, но по-прежнему имеет риск раскрытия данных другим пользователям, которые могут иметь доступ к этому пространству имен, поскольку секреты k8s просто закодированы в base64, а не на самом деле зашифрованы.

Существуют ли какие-либо рекомендуемые инструменты / плагины для защиты и / или шифрования этих учетных данных без использования внешних вызовов API?

Я слышал о запечатанных секретах Bitnami, но еще не исследовал их, хотел бы услышать от других, поскольку это очень распространенная проблема для любой команды / приложения, которые начинают путешествие с контейнерами.


person cnu    schedule 08.01.2021    source источник
comment
Вы можете настроить узлы для используйте частный реестр и запретите прямой доступ к узлам для входа в систему. Однако такая конфигурация на уровне кластера - это не тот вопрос программирования, который актуален для Stack Overflow; в справочном центре есть дополнительные сведения.   -  person David Maze    schedule 09.01.2021


Ответы (1)


Для этого нет прямого решения. Для некоторых конкретных хостов, таких как AWS и GCP, вы можете использовать их собственную систему IAM. Однако в Kubernetes нет дополнительных возможностей (SealedSecrets вообще не поможет).

person coderanger    schedule 09.01.2021