☸️ Как раскодировать / расшифровать секрет Kubernetes |

☸️ Как раскодировать / расшифровать секрет Kubernetes

Мануал
Конфиденциальная информация, такая как пароли, ключи SSH, учетные данные API и токены OAuth, хранятся в Kubernetes как секреты (secrets).
Недавно мы сделали руководство о том, как скопировать секрет Kubernetes из одного пространства имен в другое.
Когда вам нужно подтвердить фактические значения секрета, вы можете декодировать данные base64.
В этом кратком руководстве мы покажем вам, как декодировать секрет base64 в Kubernetes с помощью команды kubectl.

Для  демонстрации мы создадим простой секрет с именем пользователя и паролем для базы данных.

echo -n 'admin' > ./username.txt
echo -n 'Password' > ./password.txt
Запустите команду kubectl create secret, чтобы создать объект секрета на сервере Kubernetes API.
$ kubectl create secret generic my-user-pass --from-file=./username.txt --from-file=./password.txt
secret/my-user-pass created
Вы можете подтвердить, что объект был успешно создан, выполнив следующую команду kubectl:
$ kubectl get secret

Расшифруйте секретные данные:

kubectl get secret $secret_name -o go-template='{{range $k,$v := .data}}{{printf "%s: " $k}}{{if not $v}}{{$v}}{{else}}{{$v | base64decode}}{{end}}{{"\n"}}{{end}}'

Это результат выполнения моей команды:

password.txt: Password
username.txt: admin

Если у вас есть jq, вы можете использовать следующую команду для декодирования.

$ kubectl get secret my-user-pass -o json | jq '.data | map_values(@base64d)'
{
  "password.txt": "Password",
  "username.txt": "admin"

}

Установите jq с помощью команды:

--- Ubuntu / Debian ---
$ sudo apt install jq

--- CentOS / Fedora ---
$ sudo yum install jq
Вот как вы можете легко выводить секреты, закодированные с помощью base64, в Kubernetes.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий