API Anahtarları Nerede Saklanmalı? Environment Variables, Vault ve Secrets Manager Rehberi

Yazar: Serhat AkdemirYayın: 27 Ağu 2026Güncelleme: 31 Ağu 202611 dk Okuma

API anahtarlarını güvenli saklamak için kaynak koda gömmek yerine Environment Variables, HashiCorp Vault veya AWS tabanlı Secrets Manager şifreleme çözümleri kullanılmalıdır.

API Anahtarları Nerede Saklanmalı? Environment Variables, Vault ve Secrets Manager Rehberi için öne çıkan görsel
API Anahtarları Nerede Saklanmalı? Environment Variables, Vault ve Secrets Manager Rehberi için öne çıkan görsel

API anahtarlarını güvenli saklamak için kaynak koda gömmek yerine Environment Variables, HashiCorp Vault veya AWS tabanlı Secrets Manager şifreleme çözümleri kullanılmalıdır. Yazılım mimarilerinde üçüncü parti servis entegrasyonları, veritabanı bağlantıları ve ödeme geçitleri doğrudan API anahtarlarına dayanır. Bu hassas kimlik bilgilerinin yanlış yapılandırılması; veri sızıntılarına, yetkisiz altyapı kullanımına ve ağır finansal kayıplara yol açar. Bu rehberde, API anahtarlarının yaşam döngüsünü koruma altına alan temel yöntemleri, geliştirme aşamasından kurumsal canlı (production) ortamlara kadar adım adım inceleyerek doğru saklama mimarisini nasıl kurgulayacağınızı aktarıyoruz.

Kaynak Koda Gömülü API Anahtarları: Kurumsal Güvenlik İçin Kritik Bir Hata

Kaynak koda doğrudan kimlik bilgisi yazmak (hardcoding), yazılım projelerinde karşılaşılan en temel siber güvenlik ihmallerinden biridir. Geliştiriciler genellikle prototipleme veya test aşamasında hız kazanmak adına OpenAI, Stripe, AWS veya SendGrid gibi servislerin erişim anahtarlarını doğrudan kod satırlarına ekler. Ancak bu geçici yaklaşımın kalıcı hale gelmesi, ilgili anahtarın yazılımın tüm dağıtım zinciri boyunca savunmasız bir biçimde taşınmasına sebep olur. Kaynak koda gömülen her kimlik bilgisi, uygulamanın derlenmiş paketlerinde, istemci tarafı kodlarında ve sürüm kontrol geçmişinde silinmesi güç izler bırakır.

Kurumsal ölçekte bir API sızıntısı, yalnızca ilgili servisin yetkisiz kullanımıyla sınırlı kalmaz. Kötü niyetli aktörler ele geçirdikleri API anahtarları üzerinden veritabanlarına sızabilir, hassas müşteri verilerini dışarı aktarabilir veya bulut altyapınız üzerinde yetkisiz kaynaklar (örneğin kripto madencilik sunucuları) açarak işletmenize dakikalar içinde binlerce dolarlık faturalar çıkarabilir. OWASP (Open Web Application Security Project) listelerinde kimlik doğrulama ve sır yönetimi zafiyetlerinin üst sıralarda yer alması, bu tehlikenin boyutunu açıkça gösterir.

Hardcoding Neden Bir Güvenlik Zafiyetidir?

Hardcoding, güvenlik denetimlerinin ve erişim hiyerarşisinin tamamen devre dışı kalmasına neden olur. Kaynak koda yazılan bir anahtar, o depoya (repository) erişimi olan her ekip üyesi, stajyer, dış yüklenici veya üçüncü parti CI/CD entegrasyonu tarafından görünür hale gelir. Güvenlik mimarisinde temel kural, hassas verilerin "bilmesi gereken kişi" prensibine göre dağıtılmasıdır. Statik olarak koda gömülen sırlar bu prensibi temelden yıkar.

Ayrıca kaynak koda gömülen sırlar operasyonel esnekliği tamamen yok eder. Bir güvenlik ihlali şüphesi durumunda anahtarın iptal edilmesi ve yenilenmesi gerektiğinde, ekibin yeni bir commit atması, test süreçlerinden geçmesi ve tüm uygulamayı baştan canlıya alması (deploy) gerekir. Bu durum, sızıntı anında dakikaların hayati önem taşıdığı kriz anlarında kabul edilemez bir zaman kaybı yaratır.

Versiyon Kontrol Sistemlerinde (GitHub, GitLab) Yaşanan Sızıntıların Maliyeti

GitHub, GitLab ve Bitbucket gibi versiyon kontrol sistemleri, geliştiricilerin kod geçmişini saklamak üzere tasarlanmıştır. Bir API anahtarı içeren dosya sisteme bir kez "commit" edildiğinde, daha sonra o satır silinse veya dosya depodan kaldırılsa dahi Git geçmişinde (Git history) kalmaya devam eder. Otomatik botlar, açık kaynaklı veya sızdırılmış özel depoları saniyeler içinde tarayarak bu geçmişi analiz eder ve aktif API anahtarlarını anında tespit eder.

Git geçmişinden bir sırrı tamamen kazımak; git filter-repo veya BFG Repo-Cleaner gibi karmaşık araçların kullanılmasını, tüm ekip üyelerinin yerel kopyalarını sıfırlamasını ve deponun geçmişinin zorla (force push) yeniden yazılmasını gerektirir. Bu operasyonel yükün yanı sıra, sızan anahtarların iptal edilip yenilenmesi sürecinde sistem kesintileri yaşanması kaçınılmaz hale gelir.

Sızıntı TürüTespit Edilme SüresiTipik Operasyonel RiskOrtalama Temizleme Maliyeti
Açık GitHub Deposu1 - 5 Dakika (Otomatik Botlar)Altyapı kaynaklarının kötüye kullanımı, veri ihlaliÇok Yüksek (Acil Rotasyon + Geçmiş Temizliği)
Özel GitHub DeposuGünler / Aylar (İç Tehdit / Hesap İhlali)Yetkisiz veri tabanı erişimi, fikri mülkiyet hırsızlığıYüksek (İç Denetim + Erişim Sıfırlama)
Derlenmiş İstemci KoduSaatler (Tersine Mühendislik)API limitlerinin tüketilmesi, sahte işlem üretimiOrta - Yüksek (API Endpoint Koruması)

Açık GitHub Deposu

Tespit Edilme Süresi

1 - 5 Dakika (Otomatik Botlar)

Tipik Operasyonel Risk

Altyapı kaynaklarının kötüye kullanımı, veri ihlali

Ortalama Temizleme Maliyeti

Çok Yüksek (Acil Rotasyon + Geçmiş Temizliği)

Özel GitHub Deposu

Tespit Edilme Süresi

Günler / Aylar (İç Tehdit / Hesap İhlali)

Tipik Operasyonel Risk

Yetkisiz veri tabanı erişimi, fikri mülkiyet hırsızlığı

Ortalama Temizleme Maliyeti

Yüksek (İç Denetim + Erişim Sıfırlama)

Derlenmiş İstemci Kodu

Tespit Edilme Süresi

Saatler (Tersine Mühendislik)

Tipik Operasyonel Risk

API limitlerinin tüketilmesi, sahte işlem üretimi

Ortalama Temizleme Maliyeti

Orta - Yüksek (API Endpoint Koruması)

Geliştirme Ortamlarında Temel Güvenlik: Environment Variables (Çevre Değişkenleri)

Environment Variables (Çevre Değişkenleri), uygulamanın çalıştığı işletim sistemi veya konteyner seviyesinde tanımlanan dinamik anahtar-değer çiftleridir. On İki Faktörlü Uygulama (The Twelve-Factor App) metodolojisinin en temel ilkelerinden biri olan "konfigürasyonu koddan ayırma" prensibi, çevre değişkenleri kullanılarak hayata geçirilir. Bu yöntem sayesinde aynı kod tabanı, hiçbir değişikliğe uğramadan geliştirme (development), test (staging) ve canlı (production) ortamlarında farklı API anahtarlarıyla çalıştırılabilir.

Çevre değişkenleri, API anahtarlarının kaynak kod depolarına girmesini engellemenin ilk ve en pratik savunma hattıdır. Uygulama kodu, ihtiyaç duyduğu API anahtarını doğrudan bir metin olarak içermek yerine, çalışma zamanında (runtime) sistem ortamından @@CODE0@@ (Node.js), @@CODE1@@ (Python) veya System.getenv("API_KEY") (Java) gibi standart fonksiyonlarla talep eder.

.env Dosyalarının Rolü ve Doğru Yapılandırılması

Yerel geliştirme süreçlerinde çevre değişkenlerini pratik biçimde yönetmek için @@CODE0@@ dosyaları kullanılır. Bu dosyalar, projenin kök dizininde yer alan ve uygulamanın ihtiyaç duyduğu tüm gizli anahtarları barındıran düz metin belgeleridir. Geliştirme ortamında popüler kütüphaneler (örneğin Node.js için @@CODE1@@, Python için python-dotenv) bu dosyayı okuyarak değişkenleri çalışma zamanı ortamına yükler.

Doğru bir @@CODE0@@ yapılandırması için projede mutlaka bir şablon dosya bulundurulmalıdır. @@CODE1@@ veya .env.template adıyla depoya eklenen bu şablon, gerçek anahtarları içermez; sadece ekibe hangi değişkenlerin tanımlanması gerektiğini gösteren boş anahtarları listeler. Örneğin:

# .env.example (Depoya commit edilen güvenli şablon)
DATABASE_URL=postgresql://user:password@localhost:5432/mydb
STRIPE_SECRET_KEY=sk_test_placeholder
OPENAI_API_KEY=your_openai_key_here

.gitignore Kullanımının Taviz Verilemez Önemi

Bir projede @@CODE0@@ dosyası oluşturulduğu an yapılması gereken ilk işlem, bu dosyanın @@CODE1@@ kural listesine eklenmesidir. Bu adım atlandığında, geliştiricinin yapacağı ilk commit işlemiyle tüm yerel sırlar doğrudan sürüm kontrol sistemine aktarılır. .gitignore yapılandırması projenin ilk aşamasında merkezi olarak kurgulanmalıdır.

İyi yapılandırılmış bir @@CODE0@@ dosyası yalnızca standart @@CODE1@@ dosyasını değil, olası varyasyonları da kapsamalıdır:

# Çevre değişkenleri ve yerel sırlar
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
*.pem
*.key

İstemci Tarafı (Frontend) ve Sunucu Tarafı (Backend) Ayrımı: Frontend Neden Asla Güvenli Değildir?

Web ve mobil geliştiricilerin en sık düştüğü yanılgılardan biri, frontend framework'leri (React, Vue, Next.js, Angular) içinde kullanılan çevre değişkenlerinin güvenli olduğunu varsaymaktır. Frontend kodları kullanıcının tarayıcısında çalışır; dolayısıyla tarayıcıya iletilen JavaScript dosyaları tamamen kamusal alandadır. React projesinde @@CODE0@@ veya Next.js projesinde @@CODE1@@ önekiyle tanımlanan tüm çevre değişkenleri, derleme (build) aşamasında doğrudan düz metin olarak HTML/JS kodlarının içine gömülür.

Kullanıcı, tarayıcının "İncele" (DevTools) konsolunu açarak veya "Kaynak Kodu Görüntüle" diyerek frontend içerisindeki tüm bu değişkenleri saniyeler içinde okuyabilir. Bu nedenle:

  • Frontend Tarafında: Yalnızca kamusal olması sorun teşkil etmeyen değerler (örneğin Firebase Public Key, Stripe Publishable Key, Google Analytics ID) saklanabilir.

  • Backend Tarafında: Veritabanı şifreleri, Stripe Secret Key, AWS Access Key, OpenAI Private Key gibi yetkilendirme sırları kesinlikle sunucu tarafında tutulmalı ve istemciye asla açık edilmemelidir. İstemci, bu servislere doğrudan değil, kendi güvenli backend API'si üzerinden erişmelidir.

Kurumsal ve Canlı Ortamlar İçin Gelişmiş Sır Yönetimi (Secrets Management)

Uygulamalar büyüdükçe, mikroservis mimarilerine geçildikçe ve çoklu bulut (multi-cloud) altyapıları kullanıldıkça, API anahtarlarını düz metin çevre değişkenleriyle yönetmek sürdürülemez ve güvensiz hale gelir. Sunucu üzerinde çalışan düz metin .env dosyaları veya kontrolsüz işletim sistemi değişkenleri; sunucuya yetkisiz erişim sağlayan bir saldırganın tüm sistem sırlarını anında ele geçirmesine yol açar. Bu noktada devreye profesyonel Sır Yönetimi (Secrets Management) çözümleri girer.

Sır yönetimi platformları; API anahtarlarını, veritabanı kimlik bilgilerini, TLS sertifikalarını ve şifreleme anahtarlarını merkezi bir kasada (vault) toplar. Bu sistemlerde veriler hem iletim halindeyken (in-transit) hem de diskte saklanırken (at-rest) AES-256 gibi güçlü şifreleme standartlarıyla korunur. Kimlik bilgileri uygulamalara yalnızca ihtiyaç anında, sıkı IAM (Kimlik ve Erişim Yönetimi) politikaları doğrultusunda dinamik olarak sunulur.

Neden Sadece Environment Variables Yeterli Değildir?

Geleneksel çevre değişkenleri statiktir. Bir anahtar tanımlandığında, sunucu yeniden başlatılana veya konteyner yeniden ayağa kaldırılana kadar aynı kalır. Bu durum şu kritik riskleri beraberinde getirir:

  1. Denetim İzi (Audit Log) Eksikliği: Bir çevre değişkenini hangi servisin, ne zaman ve kaç kez okuduğunu standart işletim sistemi araçlarıyla takip edemezsiniz.

  2. Sıfır Rotasyon Kapasitesi: Anahtar sızdığında manuel müdahale gerekir. Sistemler çalışırken anahtarları otomatik yenilemek mümkün değildir.

  3. Konteyner ve Bellek İhlalleri: Docker imajları oluşturulurken ENV komutuyla eklenen değişkenler imaj katmanlarına kalıcı olarak yazılır ve imajı çeken herkes tarafından okunabilir. Ayrıca çöken bir uygulamanın ürettiği hata dökümleri (core dump) bellek içerisindeki çevre değişkenlerini açığa çıkarabilir.

HashiCorp Vault ile Merkezi ve Dinamik Sır Yönetimi

HashiCorp Vault, modern altyapılarda sır yönetiminin endüstri standardı olarak kabul edilir. İster şirket içi (on-premise) sunucularda ister AWS, Azure, Google Cloud gibi bulut sağlayıcılarında çalışsın, platformdan bağımsız merkezi bir güvenlik katmanı sunar.

Vault'un en güçlü özelliklerinden biri Dinamik Sırlar (Dynamic Secrets) üretme yeteneğidir. Vault, uygulamanıza statik bir API anahtarı vermek yerine, talep anında ilgili üçüncü parti servisle (örneğin AWS veya PostgreSQL) konuşarak sadece o işlem için geçerli, kısa ömürlü (TTL - Time to Live) geçici kimlik bilgileri oluşturur. İşlem tamamlandığında veya süresi dolduğunda anahtar otomatik olarak imha edilir. Böylece anahtar sızsa dahi saldırganın elindeki veri dakikalar içinde işlevsiz hale gelir.

AWS Secrets Manager ile Tam Entegre Bulut Güvenliği ve Otomatik Rotasyon

AWS ekosisteminde çalışan organizasyonlar için AWS Secrets Manager, sıfır altyapı yönetimi gerektiren tam entegre bir çözümdür. AWS Secrets Manager, veritabanı kimlik bilgileri ve harici API anahtarlarını KMS (Key Management Service) şifrelemesiyle depolar.

Platformun en belirgin avantajı yerleşik Otomatik Rotasyon (Automatic Rotation) mekanizmasıdır. AWS Lambda fonksiyonlarıyla entegre çalışan bu mekanizma, belirlediğiniz periyotlarda (örneğin her 30 günde bir) API anahtarlarını veya şifreleri üçüncü parti sağlayıcıda otomatik olarak günceller ve yeni anahtarı kasaya kaydeder. Uygulamanız AWS SDK üzerinden en güncel sırrı dinamik olarak çektiği için sıfır kesintiyle (zero-downtime) anahtar rotasyonu gerçekleştirilir.

Projenize En Uygun Güvenlik Mimarisini Seçmek

Her projenin güvenlik gereksinimleri, bütçesi ve operasyonel yetkinliği aynı değildir. Küçük ölçekli bir proje için karmaşık bir HashiCorp Vault kümesi (cluster) kurup yönetmek aşırı mühendislik (over-engineering) sayılabilirken; yüzlerce mikroservisi ve finansal verisi bulunan kurumsal bir platformda sadece .env dosyalarına güvenmek kabul edilemez bir güvenlik açığıdır.

Doğru kararı verebilmek için ekibinizin büyüklüğü, altyapınızın karmaşıklığı, tabi olduğunuz yasal düzenlemeler (KVKK, GDPR, PCI-DSS, ISO 27001) ve bütçeniz bir bütün olarak değerlendirilmelidir.

{{ENHANCEMENTBLOCK: type="comparisontable" title="API Anahtarları Saklama Yöntemleri Karşılaştırma Matrisi" }}

Basit Uygulamalar ve Startup'lar İçin Güvenlik Adımları

Geliştirme aşamasındaki girişimler ve küçük ölçekli ekipler için operasyonel yükü minimumda tutan hibrit bir yaklaşım önerilir:

  1. Yerel Ortam: @@CODE0@@ dosyaları ve yerel çevre değişkenleri kullanılmalı, @@CODE1@@ kuralları eksiksiz işletilmelidir.

  2. CI/CD Süreçleri: GitHub Actions Secrets, GitLab CI/CD Variables veya Bitbucket Pipelines Secrets gibi entegre araçlar kullanılarak dağıtım sırları repo dışına çıkarılmalıdır.

  3. PaaS Çözümleri: Vercel, Netlify, Render veya AWS Elastic Beanstalk gibi platformların sunduğu yerleşik "Environment Variables" yönetim panelleri kullanılmalıdır. Bu paneller verileri veritabanında şifreli tutar ve yalnızca çalışma zamanında uygulamaya iletir.

Enterprise Düzeyindeki Mimariler İçin Vault ve Secrets Manager Karşılaştırması

Kurumsal şirketler ve karmaşık bulut altyapıları için karar genellikle HashiCorp Vault ile bulut sağlayıcılarının yerel araçları (AWS Secrets Manager, Azure Key Vault, Google Secret Manager) arasında verilir.

  • HashiCorp Vault Tercih Edilmeli: Altyapınız çoklu bulut (Multi-Cloud) veya hibrit (On-premise + Cloud) mimarideyse, gelişmiş dinamik sır üretimine ve bulut sağlayıcısından bağımsız merkezi bir kimlik doğrulama katmanına ihtiyaç duyuyorsanız.

  • AWS Secrets Manager Tercih Edilmeli: Altyapınız tamamen AWS üzerinde kuruluysa (ECS, EKS, Lambda, RDS), sunucu yönetimi operasyonuyla uğraşmak istemiyorsanız ve KMS ile doğrudan entegre yerleşik otomatik rotasyon avantajından faydalanmak istiyorsanız.

API Anahtarı Yönetiminde Endüstri Standartları (Best Practices)

API anahtarlarını yalnızca doğru yerde saklamak yeterli değildir; bu anahtarların oluşturulmasından iptal edilmesine kadar geçen tüm yaşam döngüsü boyunca sıkı güvenlik standartlarına uyulması gerekir. Savunma derinliği (defense-in-depth) stratejisi, anahtarın saklandığı yer ele geçirilse dahi saldırganın hareket alanını kısıtlamayı hedefler.

Güvenlik standartlarını operasyonel süreçlerinize entegre etmek, olası sızıntıların etkisini sıfıra indirir veya tespit süresini dakikalara çeker.

Düzenli Anahtar Rotasyonu (Key Rotation) Stratejileri

Statik API anahtarları zamanla unutulur, eski çalışanların erişimlerinde kalır veya log dosyalarına sızabilir. Bu riski bertaraf etmenin yolu periyodik anahtar rotasyonudur. Endüstri standartları, kritik API anahtarlarının en geç 30 ile 90 gün arasında bir rotasyona tabi tutulmasını önerir.

Sıfır kesinti ile rotasyon sağlamak için İkili Anahtar (Dual-Key) Stratejisi uygulanır:

  1. Servis sağlayıcı üzerinde ikincil bir API anahtarı (Secondary Key) üretilir.

  2. Uygulama konfigürasyonu güncellenerek yeni anahtara geçirilir.

  3. Eski anahtarın trafiği izlenir; kullanım sıfıra indiğinde eski anahtar kalıcı olarak silinir.

{{ENHANCEMENTBLOCK: type="processsteps" title="Sıfır Kesintili API Rotasyon Süreci" }}

En Az Ayrıcalık Prensibi (Principle of Least Privilege)

Bir API anahtarı oluşturulurken yapılabilecek en büyük hata, ilgili anahtara tam yetki (Full Admin / Read-Write-Delete) vermektir. En az ayrıcalık prensibi, bir anahtarın yalnızca yapması gereken işlem kadar yetkiye sahip olmasını emreder.

  • Yetki Kapsamı (Scoping): Stripe API anahtarınız yalnızca ödeme durumunu sorgulayacaksa, o anahtara "para iadesi yapma" veya "müşteri verilerini silme" yetkisi verilmemelidir.

  • IP Kısıtlaması (IP Whitelisting): Üretim ortamındaki backend sunucularınızın sabit IP adresleri varsa, oluşturulan API anahtarları yalnızca bu IP adreslerinden gelen isteklere yanıt verecek şekilde yapılandırılmalıdır.

  • HTTP Referrer Kısıtlaması: Frontend üzerinde kullanılması zorunlu olan kamusal anahtarlar (Google Maps API vb.), yalnızca şirketinizin alan adından (https://ornek.com/*) gelen isteklere sınırlandırılmalıdır.

Sızıntı Durumunda Uygulanacak Acil Müdahale Planı

Bir API anahtarının sızdığı tespit edildiği veya şüphelenildiği an vakit kaybetmeden devreye sokulacak net bir operasyonel müdahale protokolü bulunmalıdır.

SÜREÇ ADIMLARI

API Anahtarı Sızıntısı Acil Müdahale Adımları

Bir sızıntı tespit edildiğinde aşağıdaki adımları sırasıyla uygulayın.

01

İptal ve Yenileme

Sızan anahtarı servis sağlayıcı panelinden anında iptal edin ve yeni anahtar üretin.

02

Trafik ve Log İncelemesi

Sızan anahtarla yapılan son işlemleri loglardan tarayarak veri sızıntısı veya yetkisiz işlem olup olmadığını belirleyin.

03

Depo Geçmişi Temizliği

Git geçmişinde kalan anahtar izlerini repo temizleme araçlarıyla tamamen kazıyın ve zorla push yapın.

04

Olay Raporlama

Gerekiyorsa veri ihlali kapsamında yasal mercilere (KVKK/GDPR) ve etkilenen kullanıcılara bildirim yapın.

API Güvenliğinde Sıfır Tolerans Yaklaşımı

Modern yazılım geliştirme ve sistem entegrasyonu süreçlerinde güvenlik, sonradan eklenen bir yama değil, sistem mimarisinin en temel yapı taşıdır. API anahtarlarını kaynak koda gömmek gibi geleneksel ve riskli alışkanlıklar terk edilmeli; geliştirme aşamasında katı .env disiplini, canlı sistemlerde ise HashiCorp Vault ve AWS Secrets Manager gibi profesyonel sır yönetimi araçları standart haline getirilmelidir.

Unutulmamalıdır ki bir sistem, yalnızca zincirindeki en zayıf halka kadar güvenlidir. API anahtarlarının yaşam döngüsünü doğru planlamak, yetkilendirmeleri en az ayrıcalık ilkesiyle sınırlandırmak ve otomatik rotasyon süreçlerini devreye almak, işletmenizi hem maddi kayıplardan hem de telafisi güç itibar zedelenmelerinden korur.

Sıkça Sorulan Sorular

API anahtarlarını kaynak koda yazmak neden tehlikelidir?

Kaynak koda yazılan anahtarlar sürüm kontrol geçmişine kaydedilir, depoya erişimi olan herkes tarafından görülebilir ve istemciye giden derlenmiş dosyalardan kolayca çalınabilir. Bu durum yetkisiz veri erişimine ve yüksek altyapı maliyetlerine yol açar.

.env dosyası kullanmak API anahtarlarını korumak için tek başına yeterli midir?

.env dosyası yerel geliştirme ortamları için etkili bir yöntemdir ancak dosyanın .gitignore ile depodan hariç tutulması şarttır. Canlı ve dağıtık üretim ortamlarında ise şifreleme ve denetim izi sunan merkezi sır yöneticileri tercih edilmelidir.

React veya Next.js gibi frontend projelerinde API anahtarları nasıl saklanmalıdır?

Frontend ortamları kamusal alandır ve buraya eklenen tüm değişkenler kullanıcılar tarafından görüntülenebilir. Yalnızca public anahtarlar frontend'de tutulmalı; gizli anahtarlar mutlaka sunucu tarafında (Node.js, Python, Go vb.) saklanmalı ve istekler backend üzerinden yönlendirilmelidir.

HashiCorp Vault ile AWS Secrets Manager arasındaki temel fark nedir?

HashiCorp Vault platform bağımsızdır, şirket içi ve çoklu bulut altyapılarında dinamik sırlar üretebilir. AWS Secrets Manager ise AWS ekosistemiyle tam entegre, sunucusuz çalışan ve yerleşik otomatik rotasyon sağlayan yönetilen bir bulut servisidir.

Git deposuna yanlışlıkla commit edilen bir API anahtarı nasıl temizlenir?

İlk olarak ilgili anahtar servis sağlayıcı panelinden derhal iptal edilmeli ve yenisi oluşturulmalıdır. Ardından git filter-repo veya BFG Repo-Cleaner gibi araçlarla Git geçmişinden tamamen temizlenmeli ve depo zorla (force push) güncellenmelidir.

Dinamik sır (Dynamic Secret) kavramı ne anlama gelir?

Dinamik sırlar, bir uygulama talep ettiğinde anlık olarak üretilen, belirli bir geçerlilik süresi (TTL) bulunan ve süre bitiminde otomatik imha edilen geçici kimlik bilgileridir. Anahtar sızsa dahi süresi dolduğunda geçersiz hale gelir.

API anahtarı rotasyonu (Key Rotation) ne sıklıkla yapılmalıdır?

Kurumsal güvenlik standartları, kritik API anahtarlarının ve veritabanı şifrelerinin 30 ila 90 günlük periyotlarla düzenli olarak yenilenmesini önerir. Bir sızıntı şüphesinde ise süreye bakılmaksızın acil rotasyon uygulanmalıdır.

En Az Ayrıcalık Prensibi (Principle of Least Privilege) API anahtarlarına nasıl uygulanır?

API anahtarı oluşturulurken yalnızca ilgili servisin ihtiyaç duyduğu operasyon yetkileri verilmeli, okuma/yazma sınırlandırılmalı ve mümkünse anahtar sadece belirli IP adreslerinden veya alan adlarından gelen isteklere kısıtlanmalıdır.

Son Adım

Dijital projenizi bugün planlayalım

Web, yazılım, e-ticaret, mobil uygulama, entegrasyon, SEO veya GEO ihtiyacınızı net bir kapsama dönüştürelim.

API Anahtarları Nerede Saklanmalı? Environment Variables, Vault ve Secrets Manager Rehberi | Webizm