Vault with k8s v2: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 9: | Строка 9: | ||
(базовая настройка - https://noname.com.ua/mediawiki/index.php/Vault_Basic_Setup) |
(базовая настройка - https://noname.com.ua/mediawiki/index.php/Vault_Basic_Setup) |
||
* кластер Kubernetes установлен и настроен |
* кластер Kubernetes установлен и настроен |
||
+ | * '''kubectl''' настроен для работы с кластером |
||
=Принципы работы= |
=Принципы работы= |
Версия 12:07, 9 февраля 2022
Авторизация K8S POD в Vault
Постановка задачи
- Получать "секреты" из Vault при этом не передавая в POD пароли, токены или другую секретную информацию
Предварительны условия
- Установлен и настроен Vault
(базовая настройка - https://noname.com.ua/mediawiki/index.php/Vault_Basic_Setup)
- кластер Kubernetes установлен и настроен
- kubectl настроен для работы с кластером
Принципы работы
- Создается один или несколько Service Account
- POD запускается в определенном Service Account
- POD может воспользоваться токеном этого Service Account
- В качестве входных данных POD получает НЕ СЕКРЕТНУЮ информацию
- Адрес Vault в переменной окружения VAULT_ADDR
- Имя роли в переменной окружения VAULT_K8S_ROLE
- POD авторизуется в VAULT под ролью переданной в переменной VAULT_K8S_ROLE используя для этого JWT принадлежащий Service Account
- Vault настроен на проверку прав токена PODs в API K8S (Сам процесс VAULT использует ДРУГОЙ сервисный аккаунт, отличный от того под которым запускается POD для проверки токена PODa)
- После успешной авторизации POD может читать "секреты" из VAULT согласно политик которые привязаны к роле (политики и роли тут - это объекты в Vault)
Настройка Vault
Настройка со стороны k8s
Сервисный аккаунт
Это аккаунт с которым Vault подключается к API k8s для валидации JWT
Этот аккаунт отличается от того который используется для запуска POD
--- apiVersion: v1 kind: ServiceAccount metadata: name: vault-token-review-service-account namespace: kilda