Правило №1: Никогда не хардкодьте секреты. Инфраструктурный код — это тоже код, и к нему применяются те же правила безопасности.
Плохой пример:
resource "aws_db_instance" "database" {
password = "notasecurepassword"
}Правильный подход:
1. Объявляем переменную в variables.tf:
variable "db_password" {
type = string
}2. Создаем secrets.tfvars:
db_password = "insecurepassword"
3. Используем переменную:
resource "aws_db_instance" "database" {
password = var.db_password
}Не забудьте добавить
secrets.tfvars в .gitignoreНо это только первый шаг. Хранить секреты в файлах — всё ещё не лучшее решение.
🐸 Библиотека devops'a
#root_prompt
