İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama
İmzalı URL'ler ve çerezlerle premium içeriğe erişimi kısıtlayacak ve coğrafi kısıtlamayla belirli ülkelerdeki kullanıcıları engelleyeceksiniz.
İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
CloudFront İçerik Erişimini Kısıtlama
Varsayılan olarak CloudFront, URL'yi bilen tüm görüntüleyicilere içerik sunar. Premium veya özel içerikler (video kursları, ücretli yazılım indirmeleri, yalnızca üyelere özel kaynaklar) için yalnızca yetkili kullanıcıların bunları alabilmesi amacıyla erişimi kısıtlamanız gerekir.
CloudFront, yetkili erişim için iki mekanizma sağlar: İmzalı URL'ler (tek bir URL, belirli bir nesneye erişim sağlar) ve İmzalı Çerezler (bir çerez kümesi, bir yol kalıbıyla eşleşen birden fazla nesneye erişim sağlar). Her ikisi de RSA anahtar çiftiyle oluşturulan şifreleme imzalarını kullanır.
CloudFront İmzalı URL'leri
İmzalı URL, bir süre dolma zamanını ve isteğe bağlı olarak bir IP adresi kısıtlamasını kodlayan kriptografik bir imza içeren CloudFront URL'sidir. URL yalnızca geçerlilik süresi dolana kadar ve yalnızca izin verilen IP adresinden (belirtilmişse) geçerlidir. Süre dolduktan sonra CloudFront, 403 Yasak yanıtı döndürür.
İmzalı URL'ler şu durumlar için en uygundur: tek bir kullanıcıya belirli bir dosyaya (örneğin oluşturulmuş bir PDF raporuna) erişim verme, süreyle sınırlı indirme bağlantıları sağlama veya istemcinin çerez ayarlayamadığı durumlar (örneğin mobil uygulamalar ya da RTMP akışı).
# Generate a signed URL using AWS CLI (requires a CloudFront key pair)
aws cloudfront sign \
--url https://d1234abcdef.cloudfront.net/premium/video.mp4 \
--key-pair-id APKA1234567890 \
--private-key file://private-key.pem \
--date-less-than 2026-06-21T00:00:00ZCloudFront İmzalı Çerezleri
İmzalı Çerezler, İmzalı URL'lere benzer şekilde çalışır; ancak her URL'yi değiştirmeden birden çok dosyaya erişim sağlar. Kimlik doğrulama başarıyla tamamlandıktan sonra sunucunuz üç çerez (CloudFront-Policy, CloudFront-Signature, CloudFront-Key-Pair-Id) oluşturur ve bunları tarayıcı yanıtına ekler. Bu tarayıcıdan yapılan sonraki CloudFront istekleri çerezleri içerir ve eşleşen tüm içeriğe erişim sağlar.
İmzalı Çerezler şu durumlar için en uygundur: oturum açmış kullanıcılara tüm premium bölüme (örneğin /members/* içindeki tüm videolara) erişim verme veya her bir kaynağın URL biçimini denetleyemediğiniz durumlar.
Güvenilen Anahtar Grupları
CloudFront imzaları oluşturmak için bir CloudFront anahtar çifti gerekir. Modern yaklaşımda Güvenilen Anahtar Grupları kullanılır: bir RSA anahtar çifti oluşturur, ortak anahtarı CloudFront'a yükler, anahtarı bir anahtar grubuna ekler ve ardından anahtar grubunu imzalı erişim gerektiren önbellek davranışıyla ilişkilendirirsiniz.
Özel anahtar, imzalama sunucunuzda güvenli bir şekilde (örneğin Secrets Manager'da) saklanır. Bir kullanıcı kimlik doğrulaması yaptığında sunucu, URL'yi veya çerez ilkesini imzalamak için özel anahtarı kullanır. CloudFront, imzaları güvenilen anahtar grubundaki ilgili ortak anahtarı kullanarak doğrular.
# Upload a public key to CloudFront
aws cloudfront create-public-key \
--public-key-config '{
"Name": "MySigningKey",
"EncodedKey": "-----BEGIN PUBLIC KEY-----\n...<key>...\n-----END PUBLIC KEY-----",
"CallerReference": "2026-06-20-key"
}'Hazır ve Özel İmzalı URL İlkeleri
İmzalı URL'ler iki ilke türünden birini kullanabilir:
- Hazır ilke: en basit biçimdir; yalnızca bir kaynak URL'si ve süre dolma zamanı belirtir. İmza kısa olur ve kolayca oluşturulur.
- Özel ilke: daha esnektir; isteğe bağlı joker karakterlerle birlikte bir kaynak URL'si (
https://d123.cloudfront.net/videos/*), isteğe bağlı bir başlangıç zamanı (bundan önce geçerli değil) ve isteğe bağlı bir IP adresi kısıtlaması belirtir. İlke JSON'ı URL içinde Base64 ile kodlanır.
Basit tek dosyalık bağlantılar için hazır ilkeleri; joker karakterli kaynak eşleştirmesine veya IP tabanlı kısıtlamalara ihtiyaç duyduğunuzda özel ilkeleri kullanın.
CloudFront Coğrafi Kısıtlaması
Coğrafi kısıtlama (coğrafi kısıtlamalar olarak da adlandırılır), izleyicinin bulunduğu ülkeye göre CloudFront'un içerik sunmasını engeller veya buna izin verir. CloudFront, üçüncü taraf bir coğrafi konum veritabanını kullanarak izleyicinin ülkesini IP adresinden belirler.
Coğrafi kısıtlamayı her dağıtım için izin listesi (yalnızca listelenen ülkeler içeriğe erişebilir) veya engelleme listesi (listelenen ülkeler engellenir) olarak yapılandırırsınız. Kısıtlı ülkelerdeki kullanıcılar HTTP 403 yanıtı alır. Coğrafi kısıtlama kaba bir araçtır; tek tek yollar için değil, dağıtımın tamamı için geçerlidir.
# Enable geo-restriction: block two countries
aws cloudfront update-distribution \
--id EDFDVBD6EXAMPLE \
--distribution-config '{
...existing config...
"Restrictions": {
"GeoRestriction": {
"RestrictionType": "blacklist",
"Quantity": 2,
"Items": ["CN", "RU"]
}
}
}' \
--if-match ETVPDKIKX0DERCoğrafi Kısıtlama ve Route 53 Coğrafi Konumlandırma Karşılaştırması
CloudFront coğrafi kısıtlaması ile Route 53 coğrafi konum yönlendirmesi coğrafyayı kullanır; ancak farklı amaçlara hizmet eder:
- CloudFront coğrafi kısıtlaması: CDN katmanında içeriğin uçtan sunulmasını engeller veya buna izin verir; engellenen ülkelere 403 döndürür ve dağıtım başına uygulanır
- Route 53 coğrafi konumlandırması: coğrafyaya göre DNS sorgularını farklı uç noktalara (farklı sunuculara veya sayfalara) yönlendirir; erişimi engellemez, ancak farklı içeriğe veya altyapıya yönlendirir
CloudFront coğrafi kısıtlamasını erişim denetimi (ülkelerin tamamını engelleme) için kullanın. Kullanıcıları bölgeye uygun içeriğe veya altyapıya yönlendirmek için Route 53 coğrafi konumlandırmasını kullanın.
İmzalı URL'leri S3 ve OAC ile Birleştirme
Eksiksiz bir özel içerik sunma mimarisi:
- S3 paketi özel olmalıdır (herkese açık erişim yoktur)
- CloudFront, yalnızca dağıtımın S3'ten okuyabilmesi için OAC kullanır
- Özel içerik için önbellek davranışı, imzalı URL'ler veya çerezler (ilişkilendirilmiş Güvenilen Anahtar Grubu) gerektirir
- Uygulama sunucunuz kullanıcıların kimliğini doğrular ve imzalı URL'ler/çerezler sağlar
- Kullanıcılar içeriğe yalnızca süreyle sınırlı imzalı CloudFront URL'leri üzerinden erişir
Bir kullanıcı S3 URL'sini tahmin etse veya paylaşsa bile erişim engellenir. CloudFront URL'sini paylaşsa bile URL, yapılandırılan sürenin sonunda geçerliliğini yitirir. Bu katmanlı yaklaşım, dijital içerik için derinlemesine savunma sağlar.
Alan Düzeyinde Şifreleme
Alan düzeyinde şifreleme, HTTP POST isteklerindeki hassas veri alanlarının kaynağa iletilmeden önce uçta şifrelenmesini sağlayan gelişmiş bir CloudFront özelliğidir. Kaynak sunucunun güvenliği ihlal edilse bile şifrelenen alanlar (örneğin kredi kartı numaraları ve SSN'ler), ilgili özel anahtar olmadan okunamaz durumda kalır.
CloudFront, belirtilen alanları uçta bir ortak anahtar kullanarak şifreler. Verilerin şifresini yalnızca eşleşen özel anahtara sahip hedef arka uç hizmeti çözebilir. Alan düzeyinde şifreleme, zaten TLS ile güvenliği sağlanmış bir işlem hattına ek bir koruma katmanı ekler.
Belirteç Tabanlı Erişim Denetimi Deseni
Ülke düzeyinde engellemenin ötesinde ayrıntılı erişim denetimine ihtiyaç duyan dinamik uygulamalar için yaygın bir desen, Lambda@Edge kullanarak belirteç tabanlı erişim sağlamaktır:
- Kullanıcı Cognito veya kimlik doğrulama hizmetinizle kimlik doğrulaması yapar ve bir JWT alır
- Kullanıcı, CloudFront isteklerinde JWT'yi sorgu parametresi veya çerez olarak gönderir
- Lambda@Edge Viewer-Request işlevi JWT imzasını ve taleplerini doğrular
- Geçerliyse Lambda@Edge isteği kaynağa iletir; geçersizse 401 döndürür
Bu yöntem, yetkisiz istekler için kaynağa ulaşmadan, tamamen CloudFront ucunda kullanıcı ve kaynak bazında ayrıntılı erişim denetimi sağlar.
Gerçek Dünya Kullanım Senaryoları Özeti
İmzalı URL'ler/Çerezler ve coğrafi kısıtlamayla ilgili sınav senaryosu örüntüleri:
- 'Satın alınan bir dosya için süreyle sınırlı indirme bağlantısı' → süre dolma özellikli İmzalı URL
- 'Oturum açmış premium kullanıcılar /premium/* içindeki tüm videolara erişsin' → joker karakterli ilkeye sahip İmzalı Çerezler
- 'Lisanslama nedeniyle belirli ülkelerdeki kullanıcıların erişimini engelle' → CloudFront coğrafi kısıtlaması engelleme listesi
- 'Farklı ülkelere farklı içerik sun' → Route 53 coğrafi konumlandırması + birden çok dağıtım veya kaynak
- 'Kredi kartı alanlarını kaynak yöneticilerinden bile koru' → alan düzeyinde şifreleme
Hızlı Kontrol
Bu dersteki AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: İmzalı URL'ler, süre dolma zamanı ve isteğe bağlı IP kısıtlamasıyla tek tek dosyalara erişimi sınırlar; İmzalı Çerezler, tek bir kimliği doğrulanmış oturumda yol örüntüsüyle eşleşen birden çok dosyaya erişim sağlar ve coğrafi kısıtlama, CloudFront dağıtımı düzeyinde ülkelerin tamamını engeller veya bunlara izin verir. Sırada CloudFront'u WAF ve Lambda@Edge ile inceleyeceğiz.
Sıkça Sorulan Sorular
“İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama” dersi ücretsiz mi?
Evet — “İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama” dersinde ne öğreneceğim?
İmzalı URL'ler ve çerezlerle premium içeriğe erişimi kısıtlayacak ve coğrafi kısıtlamayla belirli ülkelerdeki kullanıcıları engelleyeceksiniz. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- CloudFront Dağıtımları ve Kaynaklar
- Önbellek Davranışları ve TTL Ayarları
- İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama
- WAF ve Lambda@Edge ile CloudFront