CodeBlanks Logo Icon CodeBlanks

Secrets yönetimi

Secrets yönetimi ve güvenli depolamayı öğrenirsin.

Secrets (gizli bilgiler)

Secrets, parola, API anahtarı, sertifikalar gibi hassas bilgilerdir. Bunlar asla koda gömülmemeli; her zaman ortam değişkeni veya bir secrets yönetim aracından okunmalıdır. Sürüm kontrolüne sızdırmak büyük güvenlik açığıdır.

Örnek: const apiKey = process.env.API_KEY;. API_KEY bir .env dosyasında tutulur; .env .gitignore'a eklenir. Üretimde secrets, AWS Secrets Manager veya HashiCorp Vault gibi araçlarla yönetilir. Kod hiçbir zaman parolayı doğrudan içermez. Eğer bir parola yanlışlıkla koda gömülürse ve sürüm kontrolüne işlenirse, geçmiş sürümlerde kalır; bu yüzden parola hemen döndürülmelidir. Secrets yönetimi, güvenli uygulama geliştirmenin temelidir.

Secrets yönetim araçları

Üretimde secrets bir .env dosyasında değil, merkezi bir araçta tutulur. Popüler araçlar: AWS Secrets Manager, HashiCorp Vault, Google Secret Manager. Uygulama açılırken bu araçtan secrets'i çeker.

Örnek: AWS Secrets Manager'dan secret çekme genellikle const client = new AWS.SecretsManager(); const secret = await client.getSecretValue({ SecretId: "my-app" }).promise(); şeklinde olur. Vault'ta benzer bir API vardır. Bu araçlar, secrets'i şifreler, erişimi denetler ve döndürme kolaylaştırır. Çok sayıda servisin olduğu sistemlerde her servis ayrı secret'e sahip olur; merkezi yönetim bunu kolaylaştırır. .env yalnızca geliştirmede kullanılır; üretimde asla.

Uygulama API_KEY'i oku

dotenv'i etkinleştir. const apiKey = process.env.API_KEY ile API anahtarını oku. console.log ile apiKey'i yazdır.

Başlangıç kodu

index.js
// dotenv etkinleştir
// buraya yaz

// API_KEY değişkenini oku
// buraya yaz

// apiKey yazdır
// buraya yaz

Örnek çözüm

index.js
require("dotenv").config();
const apiKey = process.env.API_KEY;
console.log(apiKey);

Beklenen çıktı

test-key

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 .gitignore satırını tamamla

Soru
____
Cevap
.env

Açıklama: .env .gitignore'a eklenir.

2 Aracı rolüne eşle

Kavram Anlamı
AWS Secrets Manager AWS secrets aracı
HashiCorp Vault Açık kaynak secrets aracı
.env + .gitignore Geliştirme yöntemi
process.env.API_KEY Koddan erişim

3 Parola nerede tutulmalıdır?

index.js
const apiKey = process.env.API_KEY
  • Sürüm kontrol sisteminde
  • Doğrudan kaynak kodda
  • Ortam değişkeninde veya secrets aracında Doğru cevap
  • Log dosyalarında

Açıklama: Parola ortam değişkeninde veya secrets aracında tutulur.

İleri seviye bölümündeki tüm dersler