Vault: работа с секретами
Создание и управление секретами
Vault поддерживает разные виды секретов: статические (например, пароли) и динамические (например, учетные данные для базы данных, которые Vault сам генерирует).
Статические секреты
- Включение секретного хранилища (если оно еще не включено):
12vault secrets enable -path=secret kvsecret/
. - Запись секрета:
12vault kv put secret/mysecret value="SuperSecretValue" - Чтение секрета:
12vault kv get secret/mysecret - Удаление секрета:
12vault kv delete secret/mysecret
Динамические секреты
Для динамических секретов Vault может сам создавать и управлять учетными данными для внешних сервисов (например, AWS или базы данных).
- Подключение к базе данных (например, PostgreSQL):
12345678vault secrets enable databasevault write database/config/my-postgresql-database \plugin_name=postgresql-database-plugin \connection_url="postgresql://{{username}}:{{password}}@localhost:5432/dbname" \allowed_roles="my-role" \username="admin" \password="adminpassword" - Создание роли для управления динамическими секретами:
123456vault write database/roles/my-role \db_name=my-postgresql-database \creation_statements="CREATE ROLE \"{{name}}\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';" \default_ttl="1h" \max_ttl="24h" - Запрос динамических учетных данных:
12vault read database/creds/my-rolettl
.
Настройка политик доступа
Политики в Vault позволяют управлять доступом к секретам. Для создания политики доступа нужно написать файл политики (например, my-policy.hcl
):
Recommended Posts
Vault как настроить доступ извне?
27.02.2024
Ошибки установки Vault в Gitlab CI пайплайне
26.02.2024
Vault: web интерфейс
25.02.2024