Eğer AWS'deyseniz , AWS Blog'daki Segment.io tarafından "Sırları Yönetmenin Doğru Yolu" na bakın . Sırlarımızı chamber
yönetmek için tüm müşterilerimize kullanmayı savunuyoruz . AWS Sistem Yöneticisi Parametre Deposunu (SSM) KMS tuşları ile birlikte kullanarak kaldırarak çalışır. Bu, sırların istirahatte (ve transit olarak) şifrelenmesini, IAM ile güvence altına alınmasını, CloudTrails ile denetlenebilmesini ve yalnızca çalışma zamanında ortam değişkenleri olarak ortaya çıkmasını sağlar.
Bölmeyi yapılandırdıktan ve KMS anahtarını ayarladıktan sonra , sırları parametre deposuna yazarız.
chamber write db TF_VAR_DB_USER foobar
chamber write db TF_VAR_DB_PASS secret
Terraform deyince bu sırları kullanın.
chamber exec db -- terraform plan
Bu , HCL kodunuzda DB_USER
ve adında bir değişken tanımladığınızı varsayar DB_PASS
.
Örneğin, bunu variables.tf
variable "DB_USER" { }
variable "DB_PASS" { }
NOT: chamber
her zaman çevre değişkenlerini büyük harf olarak verir
terraform-aws-kms-key
KMS anahtarının sağlanmasını kolaylaştırmak için adlandırılan bir terraform modül sunuyoruz . Sırları yönetmek içinchamber
birden fazla ad alanıyla nasıl kullanılacağına ve aynı zamanda odaların terraform ile nasıl kullanılacağına dair örnekler içeren ayrıntılı belgelere göz atın . Hazne bağımlılıkları sağlama için referans örneğimize bakın .
Gelince .tfstate
, sen devlet dosyasında düz metin sırlarının varlığı hakkında gerçekten iyi bir noktaya getirmek. Bunun için gerçekten bir yol yok. Terraform'un bir plan oluşturmak için değişiklikleri hesaplayabilmesi için "önce" ve "sonra" durumunu bilmesi gerekir. Bu nedenle, zorunlu versiyonlamaya sahip şifreli bir S3 kovası kullanmanızı öneririz. terraform-aws-tfstate-backend
En iyi uygulamalara göre bir kova ve DynamoDB kilitleme masası sağlamak için modülü kullanın .