M.AIM.AISoloLabsSeviye 2

Proje Ustalığıders 6/8

DERS 2.6 Env ve secret: şifrelerin evi

KAZANIM Bu dersin sonunda: anahtar ve şifreleri sızdırmayacak düzeni kurar, sızıntıda doğru sırayla müdahale edersin.

1TanımOrtam değişkeni = ortama göre değişen ayar; secret = şifre değerindeki ayarlar (API anahtarları, veritabanı bağlantısı). Evleri: yerelde .env dosyası (repoya GİRMEZ), canlıda barındırma panelinin ortam-değişkenleri bölümü.

2İşlev ve amaçTek cümlelik yasa: koda yazılan şifre, çalınmış şifredir. Repo bir gün paylaşılır, yedeklenir, sızar — içindeki anahtar da onunla gezer. Anahtarın kod dışında yaşaması, sızıntıyı yapısal olarak önler.

3Nasıl yapılır(1) Proje kurulurken .env'nin repo-dışı listede (.gitignore) olduğunu doğrulatın: "'.env' dosyası git'e girmiyor, doğru mu? Kanıtla." (2) Yeni bir hizmet bağlanırken (Resend, ödeme...) anahtarı .env'ye siz yapıştırın — sohbete yapıştırmak zorunda değilsiniz; "anahtarı .env'ye NE adla koyacağımı söyle, ben koyarım" deyin. (3) Canlıya çıkarken aynı değişkenleri barındırma paneline girin — "canlı için hangi ortam değişkenlerini panele girmem gerekiyor, liste çıkar" isteyin ve listeyi tek oturuşta girin.

4Ne ters gider + çözümüKaza 1: anahtar yanlışlıkla koda/repoya girdi. Çözüm: sadece silmek YETMEZ (tarihçede durur) — anahtarı hizmet panelinden iptal edip (rotate) yenisini alın; sonra dosyadan temizleyin. Kaza 2: "yerelde çalışıyor, canlıda çalışmıyor" — klasik sebep: değişken panele girilmemiş. Çözüm: canlı hata + "environment variable" kelimesini görünce önce panel kontrolü. Kaza 3: boş değer — panel arayüzü bazen değeri sessizce boş kaydeder; girdikten sonra kaydedilen değerin gerçekten dolu olduğunu panelden teyit edin.

5AlternatiflerTakım büyüyünce secret yöneticisi araçlar devreye girer; tek kişilik üründe .env + panel ikilisi yeterli ve standarttır.

6Denetim penceresiPeriyodik tarama istemi: "Bu repoda koda gömülü anahtar/şifre/bağlantı adresi var mı tara; şüpheli her bulguyu dosya adıyla listele." Kırmızı bayraklar: kod içinde sk-, key=, uzun rastgele karakter dizileri · .env'nin repoda görünmesi. Bu tarama, mezuniyet görevinizin de parçası.

7Mini egzersiz (KENDİ-PROJEN)Denetle (bu ders üretmeden denetler): mevcut bir projenizde 6. bölümdeki tarama istemini çalıştırın. Bulgu çıkarsa: anahtarı panelden yenileyin, dosyayı temizletin, .gitignore'u doğrulatın — üç adımı sırasıyla.

8Kontrol soruları(1) "Koda yazılan şifre çalınmış şifredir" — neden? (2) Repoya sızan anahtarda ilk hamle silmek midir, değilse nedir? (3) "Yerelde çalışıyor canlıda çalışmıyor"un klasik sebebi?

9Mentor istemi

AI Maestro Seviye 2 Ders 2.6'nın (env/secret) hocası ol. Secret kavramını "ev anahtarını
paspasın altına yazmak" metaforuyla anlat. Bana bir sızıntı senaryosu ver; doğru
kurtarma sırasını kurayım, değerlendir. Sonunda 3 kontrol sorusu.
Kontrol sorularını cevaplayıp egzersizi yaptıysan işaretle; ilerleme bu tarayıcıda tutulur.