Всем привет!
Утилита Sealed Secrets от Bitnami Labs
предназначена для шифрования секретов Kubernetes.
Зачем?
Основное назначение - это безопасное хранение секретов, используемых в кластере, на уровне Git.
Например, если вы используете ArgoCD для реализации GitOps и в Git-е храните secret.yaml в «голом» виде, то эта утилита может вам пригодиться, чтобы этого избежать.
Из чего состоит?
🍡Контроллер/оператор
🍡Утилита kubeseal
Как работает?
Kubeseal шифрует секрет с использованием асимметричного шифрования. Расшифровать этот секрет может только контроллер, развёрнутый в кластере.
Зашифрованный секрет представляет собой объект Kubernetes с kind: SealedSecret.
Выглядит он примерно так:
И эту конфигурацию можно положить в Git вместо стандартного секрета.
Не без нюансов. SealedSecret связан с Secret, после прохождения процедуры usealing, в Kubernetes появляется стандартный Secret, поэтому защита секрета по факту реализуется только снаружи кластера, остальное решается стандартно - настройка RBAC в кластере.
Больше информации можно получить по ссылке: https://github.com/bitnami-labs/sealed-secrets
Утилита Sealed Secrets от Bitnami Labs
предназначена для шифрования секретов Kubernetes.
Зачем?
Основное назначение - это безопасное хранение секретов, используемых в кластере, на уровне Git.
Например, если вы используете ArgoCD для реализации GitOps и в Git-е храните secret.yaml в «голом» виде, то эта утилита может вам пригодиться, чтобы этого избежать.
Из чего состоит?
🍡Контроллер/оператор
🍡Утилита kubeseal
Как работает?
Kubeseal шифрует секрет с использованием асимметричного шифрования. Расшифровать этот секрет может только контроллер, развёрнутый в кластере.
Зашифрованный секрет представляет собой объект Kubernetes с kind: SealedSecret.
Выглядит он примерно так:
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: mysecret
namespace: mynamespace
spec:
encryptedData:
foo: AgBy3i4O...
И эту конфигурацию можно положить в Git вместо стандартного секрета.
Не без нюансов. SealedSecret связан с Secret, после прохождения процедуры usealing, в Kubernetes появляется стандартный Secret, поэтому защита секрета по факту реализуется только снаружи кластера, остальное решается стандартно - настройка RBAC в кластере.
Больше информации можно получить по ссылке: https://github.com/bitnami-labs/sealed-secrets