Secrets'ı appsettings.json'da Bırakmak
Repo'ya giren cümle rotate ister

appsettings.Development.json'a Postgres cümlesini yazdım, bir kez de gerçek parolayı kopyaladım. .gitignore Development'ı tutmuyordu; hepsi commit oldu. Secret scanning sonra yakaladı. History'den silmek yetmez, parolayı rotate etmek gerekir. Rotate etmeden 'dosyayı düzelttik' olmaz.
builder.Configuration
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.AddUserSecrets();
var connection = builder.Configuration.GetConnectionString("Postgres")
?? throw new InvalidOperationException("Postgres bağlantısı yok.");
Lokal: user-secrets. CI ve production: ortam değişkeni veya vault. json'da sadece anahtar adı. appsettings.Production.json'a gerçek değer koymak, image'a da gömmektir. Mert'in Actions log yazısıyla aynı çizgi: sızıntı commit'te de olur, log'da da.
Tarama kuralını sonradan ekledim. Eklenmeden önceki commit'ler duruyor. Bu yüzden json'a bir kez yazmak, bir kez rotate demek. Kolaylık o rotate'den ucuz değil.
Yorumlar
Yorumlar (0)
Yorumlar üyelere açık. Üye ol · Giriş yap