- Konu sahibi
- #1
Google Maps API anahtarı nedir?
Google Maps API anahtarı, web sitenizin veya uygulamanızın Google Maps Platform servislerine yaptığı istekleri bir Google Cloud projesiyle ilişkilendiren kimlik değeridir. Harita görüntüleme, adres arama, rota hesaplama veya konum bilgisi gibi servisleri kullanırken hangi projenin istek gönderdiğini belirlemeye, kullanım sınırlarını uygulamaya ve gerektiğinde ücretlendirmeyi doğru projeye bağlamaya yardımcı olur. API anahtarı kullanıcı parolası ya da Google hesabıyla oturum açma bilgisi değildir.
Nasıl çalışır?
Önce bir Google Cloud projesi oluşturulur veya mevcut bir proje seçilir. Kullanılacak Google Maps Platform API ya da SDK etkinleştirilir ve bu projeye bağlı bir API anahtarı oluşturulur. Uygulama, ilgili isteğe bu anahtarı ekler. Google isteği değerlendirirken anahtarın geçerli olup olmadığını, hangi API'lere izin verildiğini ve isteğin izin verilen kaynaktan gelip gelmediğini kontrol eder.
Örneğin
example.com üzerinde ziyaretçiye mağaza konumlarını gösteren bir sayfanız olduğunu varsayalım. Bu sayfa tarayıcıda harita kütüphanesini kullanır ve isteğini proje anahtarınızla gönderir. Anahtarı yalnızca sitenizin alan adından gelen istekleri kabul edecek şekilde sınırlandırırsanız, anahtar kaynak kodunda görünse bile başka sitelerden kullanılma riskini azaltırsınız. Bu, anahtarı gizli hale getirmez; yalnızca kullanım alanını daraltır.Bu yazı anahtarın görevi ve kısıtlanmasına odaklanır. Kullanılan servisin OAuth desteği varsa uygun kimlik doğrulama yöntemi kendi belgesinden seçilmelidir; her üründe aynı seçeneklerin bulunduğunu varsaymayın.
API anahtarı ile Google Maps üzerindeki bir haritanın görünüşünü veya kimliğini karıştırmamak gerekir:
| Öğe | Görevi | Örnek kullanım |
|---|---|---|
| API anahtarı | İsteği Google Cloud projesiyle ilişkilendirir ve erişimi sınırlar | Harita JavaScript istekleri |
| Harita kimliği (Map ID) | Haritanın stil ve bazı gelişmiş harita özellikleriyle ilişkilendirilir | Özel harita stili |
| OAuth veya kullanıcı oturumu | Bir kullanıcının uygulamadaki kimliğini ve yetkisini yönetir | Hesaba özel işlemler |
Bu nedenle özel harita stili kullanmak API anahtarının yerine geçmez; kullanıcı girişi eklemek de harita servislerine erişim için tek başına yeterli değildir.
Anahtarı kullanırken izlenecek yol
- Google Cloud üzerinde uygun projeyi seçin. Üretimde standart Maps JavaScript API anahtarı kullanımı için projede faturalandırmanın etkin olması gerekir; anahtar oluşturmak servisin ücretsiz veya sınırsız olduğu anlamına gelmez.
- Gerçekten kullanacağınız Maps Platform API veya SDK'larını etkinleştirin. Gereksiz API'leri açık bırakmayın.
- Bir API anahtarı oluşturun ve uygulamanın türüne uygun uygulama kısıtlamasını seçin. Web sitesi için HTTP referrer (isteğin geldiği web sitesi) kısıtlaması, sunucu için IP adresleri, mobil uygulama için ilgili uygulama kısıtlamaları kullanılır.
- Anahtarı ayrıca yalnızca gerekli API'lere izin verecek biçimde API kısıtlamasıyla daraltın. Örneğin yalnızca harita JavaScript servisini kullanan bir siteye rota veya adres doğrulama servislerini açmayın.
- Harita bileşenini çalıştırıp tarayıcının geliştirici araçlarındaki ağ ve konsol hatalarını kontrol edin. İzinli sitede yüklemeyi doğrulayın; izin verilmeyen test kaynağından aynı anahtarla erişimin reddedildiğini de kontrol edin. Kota ve faturalandırma uyarılarını ayrıca izleyin.
- Anahtarın kontrolsüz biçimde paylaşıldığını düşünüyorsanız mevcut anahtarı silmeden önce yeni ve kısıtlı bir anahtar hazırlayın, uygulamayı buna geçirin, ardından eski anahtarı devre dışı bırakın veya kaldırın.
Tarayıcıda çalışan bir web haritasının anahtarının ziyaretçiye görünmesi beklenebilir. Bu tür anahtarlarda doğru yaklaşım, değeri gizlemeye çalışmak yerine alan adı ve API kısıtlamalarını doğru yapılandırmaktır. Sunucu tarafında kullanılan anahtarlarda ise anahtarı kaynak koduna veya herkese açık depo dosyalarına yazmayın; çalışma ortamı değişkeni ya da sunucunun gizli yapılandırması üzerinden sağlayın.
Çalışmazsa ne anlama gelir?
Harita hiç yüklenmiyorsa önce yanlış anahtar, etkinleştirilmemiş API veya kısıtlamanın gerçek alan adıyla uyuşmaması kontrol edilir. İstekler reddediliyor fakat harita kısmen görünüyorsa kullanılan servis için API kısıtlaması, proje yapılandırması veya kota durumu incelenmelidir. Anahtarı kaldırıp yenisini üretmek, yanlış proje veya yanlış kısıtlama sorununu kendiliğinden çözmez; yeni anahtarın doğru projeye ve doğru servislere bağlanması gerekir.
Sık sorulan sorular
API anahtarını HTML dosyasına yazmak güvenli midir?
Tarayıcıya gönderilen bir anahtar kullanıcı tarafından görülebilir; bu yüzden tamamen gizli kabul edilmez. Web sitesi kısıtlaması ve API kısıtlaması uygulanmış bir istemci anahtarı kullanın. Gerçek gizlilik gerektiren sunucu işlemlerinde anahtarı yalnızca sunucu tarafında tutun.
Tek API anahtarıyla tüm Google Maps servisleri kullanılabilir mi?
Anahtarın hangi API'lere erişebileceği proje ve anahtar kısıtlamalarına bağlıdır. Teknik olarak aynı anahtar birden fazla izinli serviste kullanılabilse de, farklı uygulamalar veya risk düzeyleri için ayrı ve dar kapsamlı anahtarlar yönetimi kolaylaştırır.