Google Haritalar Platformu API'lerini ve SDK'larını kullanan uygulamalar ve projeler, kimliklerini doğrulamak için API anahtarlarını veya destekleniyorsa OAuth 2.0'ı kullanmalıdır.
Bu en iyi uygulamalar, Maps Platform erişiminizi nasıl güvenli hale getireceğinizi gösterir.
Sunucudan sunucuya trafiği yetkilendirmek için OAuth 2.0'ı kullanmak istiyorsanız API belgelerinizde OAuth konusunu bulun. Daha fazla bilgi için Sunucu tarafı uygulamaları için OAuth'u kullanma başlıklı makaleyi inceleyin.
Uygulama ve API anahtarı kısıtlamaları uygulamanın yanı sıra belirli Google Haritalar Platformu ürünleri için geçerli olan tüm güvenlik uygulamalarına uyun. Örneğin, Önerilen uygulama ve API kısıtlamaları bölümünde aşağıdaki Maps JavaScript API'ye bakın.
API anahtarlarınız zaten kullanılıyorsa Kullanımda olan bir API anahtarını kısıtlıyorsanız bölümündeki önerileri inceleyin.
Maps Static API ve Street View Static API tarafından desteklenen dijital imzalar hakkında daha fazla bilgi için Dijital İmza Kılavuzu'na bakın.
Önerilen en iyi uygulamalar
Güvenliği artırmak ve yetkisiz kullanım için faturalandırılmamak üzere tüm Google Maps Platform API'leri, SDK'ları veya hizmetleri için aşağıdaki API güvenliğiyle ilgili en iyi uygulamaları uygulayın:
Tüm API anahtarı kullanımları için önerilir.
Her uygulama için ayrı API anahtarları kullanın
Kullanılmayan API anahtarlarını silme
API anahtarı kullanımınızı kontrol etme
API anahtarlarını döndürürken dikkatli olun
İstemci tarafı ve sunucu tarafı kullanımını ayrı projelerde bölme
Kullanılmayan hizmetleri devre dışı bırakma
İstemci tarafı uygulamalar için ek öneriler
İstemci taraflı SDK'ları kullanma
Güvenli istemci tarafı web hizmeti çağrıları
Statik Web API'lerini kullanan web siteleri veya istemci tarafı uygulamalar için ek öneriler
Protect Static Web API kullanımını koruma
Web hizmetlerini kullanan sunucu tarafı uygulamaları için ek öneriler
Web hizmeti API anahtarlarını koruma
Sunucu tarafı uygulamaları için OAuth'u kullanma
Kullanımda olan bir API anahtarını kısıtlıyorsanız veya döndürüyorsanız
API anahtarını değiştirmeden önce API anahtarı kullanımınızı kontrol edin. Bu adım, özellikle üretim uygulamasında zaten kullanılmakta olan bir anahtara kısıtlamalar ekliyorsanız önemlidir.
Anahtarı değiştirdikten sonra, gerektiğinde tüm uygulamalarınızı yeni API anahtarlarıyla güncelleyin.
API anahtarınızın güvenliği ihlal edilmediyse ve anahtar aktif olarak kötüye kullanılmıyorsa uygulamalarınızı kendi hızınızda birden fazla yeni API anahtarına taşıyabilirsiniz. Bu durumda, yalnızca tek bir trafik türü gözlemleyene kadar orijinal API anahtarına dokunmayın. Ardından, API anahtarı, tek bir uygulama kısıtlaması türüyle güvenli bir şekilde kısıtlanabilir ve hizmette istenmeyen kesintilere neden olmaz.
Diğer talimatlar için Birden fazla API anahtarına geçiş yapma başlıklı makaleyi inceleyin.
Eski anahtarı kısıtlamayı veya silmeyi seçmeden önce, belirli API'lerin, platform türlerinin ve alanların eski API anahtarından ne zaman taşındığını görmek için zaman içindeki kullanımı izleyin. Daha fazla bilgi için Raporlama ve izleme ile Metrikler başlıklı makaleleri inceleyin.
API anahtarınızın güvenliği ihlal edildiyse, API anahtarınızın güvenliğini sağlamak ve kötüye kullanımı durdurmak için daha hızlı hareket etmek istiyorsanız. Android ve iOS uygulamalarında, müşteriler uygulamalarını güncelleyene kadar anahtarlar değiştirilmez. Web sayfalarındaki veya sunucu tarafı uygulamalarındaki anahtarları güncellemek ya da değiştirmek çok daha kolaydır ancak yine de dikkatli planlama ve hızlı çalışma gerektirebilir.
Daha fazla bilgi için API anahtarının yetkisiz kullanımını ele alma başlıklı makaleyi inceleyin.
Daha fazla bilgi
Önerilen uygulama ve API kısıtlamaları
API anahtarlarınızı kısıtlama
En iyi uygulama, API anahtarlarınızı her zaman bir tür uygulama kısıtlaması ve bir veya daha fazla API kısıtlamasıyla kısıtlamaktır. API, SDK veya JavaScript hizmetine göre önerilen kısıtlamalar için aşağıdaki Önerilen uygulama ve API kısıtlamaları bölümüne bakın.
Uygulama kısıtlamaları Bir API anahtarının kullanımını belirli platformlarla (Android veya iOS uygulamaları ya da istemci tarafı uygulamaları için belirli web siteleri ya da web hizmeti REST API çağrıları yayınlayan sunucu tarafı uygulamaları için belirli IP adresleri veya CIDR alt ağları) sınırlayabilirsiniz.
Yetkilendirmek istediğiniz türlerde bir veya daha fazla uygulama kısıtlaması ekleyerek bir anahtarı kısıtlarsınız. Bu işlemden sonra yalnızca bu kaynaklardan gelen isteklere izin verilir.
API kısıtlamaları API anahtarınızın kullanılabileceği Google Haritalar Platformu API'lerini, SDK'larını veya hizmetlerini kısıtlayabilirsiniz. API kısıtlamaları yalnızca belirttiğiniz API'lere ve SDK'lara yapılan isteklere izin verir. Belirli bir API anahtarı için istediğiniz kadar API kısıtlaması belirtebilirsiniz. Kullanılabilir API'lerin listesinde, bir projede etkinleştirilen tüm API'ler yer alır.
API anahtarı için uygulama kısıtlaması ayarlama
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Kısıtlamak istediğiniz API anahtarını seçin.
API anahtarını düzenle sayfasındaki Anahtar kısıtlamaları bölümünde Uygulama kısıtlaması ayarla'yı seçin.
Kısıtlama türlerinden birini seçin ve kısıtlama listesine göre istenen bilgileri sağlayın.
Kısıtlama türü Açıklama Web siteleri Bir veya daha fazla yönlendiren web sitesi belirtin. - Evrensel olarak desteklenen yönlendiren URI şemaları
https
vehttp
'dir. Modern web tarayıcıları, gizlilik nedeniyle giden isteklerde "Referer" üstbilgisi göndermediğinden diğer şemaların doğru şekilde çalışacağı garanti edilmez. - Protokol şeması, ana makine adı ve isteğe bağlı bağlantı noktası dahil olmak üzere yönlendiren dizesinin tamamını her zaman sağlayın (ör.
https://google.com
). - Tüm alt alan adlarını yetkilendirmek için joker karakterler kullanabilirsiniz. Örneğin,
https://*.google.com
,.google.com
ile biten tüm siteleri kabul eder. - Tam yol yönlendirenleri (ör.
https://google.com/some/path
) yetkilendirirken dikkatli olun. Çoğu web tarayıcısı, gizlilik nedeniyle yolları kaynaklar arası isteklerden çıkarır.
IP adresleri CIDR gösterimini kullanarak bir veya daha fazla IPv4 ya da IPv6 adresi veya alt ağ belirtin. IP adresleri, Google Haritalar Platformu sunucularının gözlemlediği kaynak adresiyle eşleşmelidir. Ağ adresi çevirisi (NAT) kullanıyorsanız bu adres genellikle makinenizin herkese açık IP adresine karşılık gelir. Android uygulamaları Yetkilendirmek istediğiniz her Android uygulamasının Android paket adını (
AndroidManifest.xml
dosyasından) ve SHA-1 imza sertifikası parmak izini ekleyin.- Android uygulamaları'nı seçin.
- + Ekle'yi tıklayın.
- Paketinizin adını ve SHA-1 sertifika parmak izinizi girin. Örneğin:
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- Kaydet'i tıklayın.
İki tür sertifika vardır:
- Hata ayıklama sertifikası: Bu sertifika türünü yalnızca test ettiğiniz uygulamalarda ve diğer üretim dışı kodlarda kullanın. Hata ayıklama sertifikasıyla imzalanmış bir uygulamayı yayınlamaya çalışmayın. Android SDK araçları, hata ayıklama derlemesi çalıştırdığınızda bu sertifikayı otomatik olarak oluşturur.
- Yayınlama sertifikası: Uygulamanızı bir uygulama mağazasında yayınlamaya hazır olduğunuzda bu sertifikayı kullanın. Android SDK araçları, yayın derlemesi çalıştırdığınızda bu sertifikayı oluşturur.
Android uygulama imzalama ve sertifikalar hakkında daha fazla bilgi için Uygulamanızı imzalama rehberine göz atın.
Play Uygulama İmzalama'yı kullanıyorsanız imzalama sertifikası parmak izini getirmek için API Sağlayıcılarla Çalışma başlıklı makaleyi inceleyin. İmzalama anahtarınızı kendiniz yönetiyorsanız Uygulamanızı kendiniz imzalama başlıklı makaleye bakın veya derleme ortamınızla ilgili talimatları inceleyin.
iOS uygulamaları Yetkilendirmek istediğiniz her iOS uygulamasının paket tanımlayıcısını ekleyin.
- iOS uygulamaları'nı seçin.
- + Ekle'yi tıklayın.
- Bu kimliğe sahip iOS uygulamasından gelen istekleri kabul etmek için paket kimliğini ekleyin.
- Kaydet'i tıklayın.
Uygulama kısıtlamasıyla ilgili öneriler için Önerilen uygulama kısıtlaması başlıklı makaleyi inceleyin.
- Evrensel olarak desteklenen yönlendiren URI şemaları
Kaydet'i seçin.
API anahtarı için API kısıtlamaları ayarlama
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Kısıtlamak istediğiniz API anahtarını seçin.
API anahtarını düzenle sayfasında, API kısıtlamaları bölümünde:
Anahtarı kısıtla'yı seçin.
API'leri seçin'i açın ve uygulamanızın API anahtarını kullanarak erişmesini istediğiniz API'leri veya SDK'ları seçin.
Listede yer almayan bir API veya SDK'yı etkinleştirmeniz gerekir. Ayrıntılar için Bir veya daha fazla API ya da SDK'yı etkinleştirme başlıklı makaleyi inceleyin.
Kaydet'i seçin.
Bu adımdan sonra kısıtlama, API anahtarı tanımının bir parçası olur. Uygun ayrıntıları sağladığınızdan ve API anahtarı kısıtlamalarınızı kaydetmek için Kaydet'i seçtiğinizden emin olun. Daha fazla bilgi için, ilgilendiğiniz API veya SDK'nın belgelerindeki API Anahtarı Alma kılavuzuna bakın.
Önerilen API kısıtlamaları için Önerilen API Kısıtlamaları başlıklı makaleyi inceleyin.
API anahtarı kullanımınızı kontrol etme
API anahtarlarını oluşturulduktan sonra kısıtlıyorsanız veya hangi API'lerin bir anahtar tarafından kullanıldığını görmek istiyorsanız (böylece bunları kısıtlayabilirsiniz) API anahtarı kullanımınızı kontrol etmeniz gerekir. Bu adımlar, API anahtarının hangi hizmetlerde ve API yöntemlerinde kullanıldığını gösterir. Google Haritalar Platformu hizmetlerinin ötesinde bir kullanım görürseniz istenmeyen kullanımı önlemek için daha fazla kısıtlama eklemeniz gerekip gerekmediğini belirlemek üzere araştırma yapın. API anahtarınıza hangi API ve uygulama kısıtlamalarının uygulanacağını belirlemek için Google Haritalar Platformu Cloud Console Metrikleri Gezgini'ni kullanabilirsiniz:
API anahtarınızı kullanan API'leri belirleme
Aşağıdaki metrik raporları, hangi API'lerin API anahtarlarınızı kullandığını belirlemenize olanak tanır. Bu raporları kullanarak şunları yapabilirsiniz:
- API anahtarlarınızın nasıl kullanıldığını görme
- Beklenmeyen kullanımı tespit etme
- Kullanılmayan bir anahtarın silinmesinin güvenli olup olmadığını doğrulamanıza yardımcı olur. API anahtarı silme hakkında bilgi için Kullanılmayan API anahtarlarını silme başlıklı makaleyi inceleyin.
API kısıtlamaları uygularken, yetkilendirilecek API'lerin listesini oluşturmak veya otomatik olarak oluşturulan API anahtarı kısıtlama önerilerini doğrulamak için bu raporları kullanın. Önerilen kısıtlamalar hakkında daha fazla bilgi için Önerilen kısıtlamaları uygulama başlıklı makaleyi inceleyin. Metrik Gezgini'ni kullanma hakkında daha fazla bilgi için Metrik Gezgini ile grafik oluşturma başlıklı makaleyi inceleyin.
Google Cloud Console'un Metrik Gezgini'ne gidin.
Oturum açın ve kontrol etmek istediğiniz API anahtarlarının bulunduğu projeyi seçin.
API türünüz için Metrik Gezgini sayfasına gidin:
Maps Embed API dışındaki herhangi bir API'yi kullanan API anahtarları için: Metrik Gezgini sayfasına gidin.
Maps Embed API'yi kullanan API anahtarları için: Metrik Gezgini'ne gidin.
Her API anahtarını inceleyin:
FİLTRE EKLE'yi seçin.
Etiketi
credential_id
seçin.İncelemek istediğiniz anahtara karşılık gelen değeri seçin.
Bu API anahtarının hangi API'ler için kullanıldığını not edin ve kullanımın beklendiğini onaylayın.
İşlem tamamlandıktan sonra, etkin filtre satırının sonundaki Filtreyi kaldır'ı
seçerek ek filtreyi silin.
Kalan tüm anahtarlar için bu işlemi tekrarlayın.
API anahtarlarınızı yalnızca kullanılan API'lerle kısıtlayın.
Yetkisiz kullanım tespit ederseniz API anahtarının yetkisiz kullanımını ele alma başlıklı makaleyi inceleyin.
Metrik Gezgini'ni kullanarak doğru uygulama kısıtlama türünü seçme
API anahtarınızın yalnızca kullandığı Google Haritalar Platformu hizmetleri için kullanıldığından emin olmak üzere doğrulama işlemini tamamlayıp gerekli işlemleri yaptıktan sonra API anahtarının doğru uygulama kısıtlamalarına sahip olduğunu da doğrulayın.
API anahtarınızda önerilen API anahtarı kısıtlamaları varsa bunları uygulayın. Daha fazla bilgi için Önerilen API anahtarı kısıtlamalarını uygulama başlıklı makaleyi inceleyin.
API anahtarınızda kısıtlama önerileri yoksa Metrik Gezgini'ni kullanarak bildirilen platform_type
'ya göre uygulanacak uygulama kısıtlaması türünü belirleyin:
Google Cloud Console'un Metrik Gezgini'ne gidin.
Oturum açın ve kontrol etmek istediğiniz API'lerin projesini seçin.
Şu Metrik Gezgini sayfasına gidin: Metrik Gezgini.
Her API anahtarını inceleyin:
FİLTRE EKLE'yi seçin.
Etiketi
credential_id
seçin.İncelemek istediğiniz anahtara karşılık gelen değeri seçin.
İşlem tamamlandıktan sonra, etkin filtre satırının sonundaki Filtreyi kaldır'ı
seçerek ek filtreyi silin.
Kalan tüm anahtarlar için bu işlemi tekrarlayın.
API anahtarlarınızın platform türünü belirledikten sonra ilgili
platform_type
için uygulama kısıtlamasını uygulayın:PLATFORM_TYPE_JS
: Anahtara web sitesi kısıtlamaları uygulayın.PLATFORM_TYPE_ANDROID
: Anahtara Android uygulama kısıtlamaları uygulayın.PLATFORM_TYPE_IOS
: Anahtara iOS uygulama kısıtlamaları uygulayın.PLATFORM_TYPE_WEBSERVICE
: Anahtarı düzgün bir şekilde kısıtlamak için anahtardaki IP adresi kısıtlamalarını kullanmanız gerekebilir.Maps Static API ve Street View Static API ile ilgili öneriler için Protect Static Web API usage (Statik Web API kullanımını koruma) başlıklı makaleyi inceleyin.
Maps Embed API önerileri için Maps Embed API'nin kullanıldığı web siteleri başlıklı makaleyi inceleyin.
API anahtarım birden fazla platform türü kullanıyor: Trafiğiniz tek bir API anahtarıyla düzgün şekilde güvenli hale getirilemez. Birden fazla API anahtarına geçmeniz gerekir. Daha fazla bilgi için Birden fazla API anahtarına geçiş yapma başlıklı makaleyi inceleyin.
Her uygulama için ayrı API anahtarları kullanın
Bu uygulama, her anahtarın kapsamını sınırlar. Bir API anahtarının güvenliği ihlal edilirse diğer API anahtarlarınızı güncellemeden etkilenen anahtarı silebilir veya döndürebilirsiniz. Proje başına en fazla 300 API anahtarı oluşturabilirsiniz. Daha fazla bilgi için API anahtarlarıyla ilgili sınırlar başlıklı makaleyi inceleyin.
Güvenlik açısından uygulama başına bir API anahtarı kullanmak ideal olsa da aynı tür uygulama kısıtlamasını kullandıkları sürece birden fazla uygulamada kısıtlanmış anahtarlar kullanabilirsiniz.
Önerilen API anahtarı kısıtlamalarını uygulama
Google Cloud Console, bazı proje sahipleri, düzenleyiciler ve API anahtarı yöneticileri için Google Haritalar Platformu kullanımlarına ve etkinliklerine göre kısıtlanmamış API anahtarlarına yönelik belirli API anahtarı kısıtlamaları önerir.
Varsa öneriler, Google Haritalar Platformu Kimlik Bilgileri sayfasında önceden doldurulmuş seçenekler olarak gösterilir.
Otomatik öneriler tarafından desteklenen Google Haritalar Platformu API'leri ve SDK'ları
Maps JavaScript API, Directions Service (Eski), Distance Matrix Service (Eski), Elevation Service, Geocoding Service, Place sınıfı, Place Autocomplete Widget (Yeni), Place Autocomplete Data API, Places Library, Places Service, Place Autocomplete Widget ve Places UI Kit dahil
Maps Static API ve Street View Static API
Maps Embed API
Android için Haritalar SDK'sı, Android için Navigasyon SDK'sı, Android için Yerler SDK'sı ve Android'de Yerler UI Kit
iOS için Haritalar SDK'sı, iOS için Navigasyon SDK'sı, iOS için Yerler SDK'sı, iOS için Yerler Swift SDK'sı ve iOS'te Yerler UI Kit'i.
Önerileri görememenizin veya eksik görmenizin nedenleri
Öneri görmemenizin nedenleri
API anahtarını Google Haritalar Platformu hizmetleri dışında veya otomatik öneriler tarafından henüz desteklenmeyen Haritalar Platformu hizmetlerinde de kullanıyorsunuz.
Diğer hizmetlerde kullanım görüyorsanız aşağıdaki işlemleri önce yapmadan öneriyi uygulamayın:
Google Cloud Console'daki Metrik Gezgini'nde gördüğünüz API kullanımının meşru olduğunu doğrulayın.
Eksik hizmetleri, yetkilendirilecek API'ler listesine manuel olarak ekleyin.
API listesine eklenen hizmetler için eksik uygulama kısıtlamalarını manuel olarak ekleyin. Eklediğiniz diğer API anahtarlarının farklı bir türde uygulama kısıtlaması gerektirmesi durumunda Birden fazla API anahtarına taşıma başlıklı makaleyi inceleyin.
API anahtarınız istemci tarafı SDK'larda veya API'lerde kullanılmıyor.
API anahtarını, son 60 gün içinde kullanılmamış düşük hacimli bir uygulamada veya web sitesinde kullanıyorsunuz.
Çok kısa süre önce yeni bir anahtar oluşturduysanız veya mevcut bir anahtarı çok kısa süre önce yeni bir uygulamada dağıttıysanız. Bu durumda, önerilerin güncellenmesi için birkaç gün daha beklemeniz yeterlidir.
API anahtarını, çakışan uygulama kısıtlaması türleri gerektiren birden fazla uygulamada kullanıyorsunuz veya aynı API anahtarını çok fazla farklı uygulama ya da web sitesinde kullanıyorsunuz. Her iki durumda da en iyi uygulama olarak birden fazla anahtara geçiş yapmanız gerekir. Daha fazla bilgi için Birden fazla API anahtarına geçiş yapma başlıklı makaleyi inceleyin.
Eksik öneri görme nedenleri
API anahtarını, son 60 gün içinde kullanılmamış düşük hacimli bir uygulamada veya web sitesinde kullanıyorsunuz.
Yeni bir API veya hizmette mevcut bir anahtarı çok yakın zamanda kullanmaya başladıysanız ve otomatik API anahtarı kısıtlama önerisi işlem hattı, güncellenen kullanım metriklerini henüz işlemediyse. Kullanım metriklerinin yayılması birkaç gün sürebilir.
Diğer hizmetlerde kullanım görüyorsanız aşağıdaki işlemleri önce yapmadan öneriyi uygulamayın:
Google Cloud Console'daki Metrik Gezgini'nde gördüğünüz API kullanımının meşru olduğunu doğrulayın.
Eksik hizmetleri, yetkilendirilecek API'ler listesine manuel olarak ekleyin.
API listesine eklenen hizmetler için eksik uygulama kısıtlamalarını manuel olarak ekleyin. Eklediğiniz diğer API anahtarlarının farklı bir türde uygulama kısıtlaması gerektirmesi durumunda Birden fazla API anahtarına taşıma başlıklı makaleyi inceleyin.
Bir anahtarı acil olarak kısıtlamanız gerekmiyorsa (ör. yetkisiz kullanım nedeniyle) önerilerin güncellenmesi için bir veya iki gün bekleyebilirsiniz.
Grafiklerde görünmeyen öneriler görmenizin nedenleri
Uygulamanız veya web siteniz yalnızca çok kısa trafik patlamaları gönderdi. Bu durumda, kullanım bilgileri göstergede görünmeye devam ettiğinden TABLO veya HER İKİSİ'ni göstermek için GRAFİK görünümünden geçiş yapın. Daha fazla bilgi için Grafiğin tam açıklamalarını değiştirme başlıklı makaleyi inceleyin.
Trafiğiniz Maps Embed API'den geliyor. Talimatlar için API anahtarınızı kullanan API'leri belirleme başlıklı makaleyi inceleyin.
Uygulamadan veya web sitesinden gelen trafik, Google Cloud Console'daki Metrik Gezgini'nde kullanılabilen tarih aralığının dışındadır.
Önerilen kısıtlamaları uygulamak için
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Kullanılabiliyorsa Önerilen kısıtlamaları uygula'yı seçin.
API anahtarının hangi hizmetlerde kullanıldığını doğrulamak için API kullanımını kontrol et'i seçin. Google Haritalar Platformu hizmetleri dışında bir hizmet görürseniz yukarıdaki öneri adımlarını manuel olarak incelemek için duraklatın. Önerilen API anahtarı kısıtlamalarını uygulama bölümünün başındaki sorun giderme adımlarını inceleyin.
Önceden doldurulmuş kısıtlamaların, API anahtarınızı kullanmayı beklediğiniz web siteleri ve uygulamalarla eşleştiğini tekrar kontrol edin.
En iyi uygulama: Hizmetlerinizle ilişkili olmayan tüm uygulama veya API kısıtlamalarını belgeleyin ve kaldırın. Beklenmeyen bir bağımlılık nedeniyle bir şey bozulursa gerekli uygulamaları veya API'leri tekrar ekleyebilirsiniz.
Önerinizde bir uygulamanın, web sitesinin veya API'nin eksik olduğunu fark ederseniz bunu manuel olarak ekleyin ya da önerinin güncellenmesi için birkaç gün bekleyin.
Önerilen tavsiyenizle ilgili daha fazla yardıma ihtiyacınız varsa destek ekibiyle iletişime geçin.
Uygula'yı seçin.
Bir öneriyi uyguladıktan sonra başvurunuz reddedilirse ne yapmanız gerekir?
Bir kısıtlama uyguladıktan sonra bir uygulamanın veya web sitesinin reddedildiğini fark ederseniz API yanıtı hata mesajında eklemeniz gereken uygulama kısıtlamasını bulun.
İstemci taraflı SDK'lar ve API'ler
- Tarayıcı ve WebView tabanlı uygulamalar
Modern tarayıcılar, gizlilik nedeniyle genellikle kaynaklar arası isteklerdeki
Referer
üstbilgisini sansürler ve çoğu zamanOrigin
olarak kısaltır. Ancak tam davranış, barındırma sitesinin uyguladığıreferrer-policy
bağlıdır ve kullanıcı tarayıcısına ve sürümüne göre de değişebilir.İçerik yüklemek için opak veya yerel URI şemaları kullanan web uygulamaları genellikle oluşturma tarayıcısının veya web görünümünün, giden çağrılardan
Referer
üstbilgisini tamamen çıkarmasına neden olur. Bu durum, web sitesi kısıtlamaları olan API anahtarlarının kullanıldığı isteklerin başarısız olmasına yol açabilir.Daha fazla bilgi için Tarayıcı tabanlı uygulamalarınızı sunucuda barındırma başlıklı makaleyi inceleyin.
Tarayıcı ve WebView tabanlı uygulamalarla ilgili sorun giderme talimatları:
Maps JavaScript API için uygulamanızı yetkilendirme hakkında ayrıntılı bilgi edinmek üzere tarayıcı hata ayıklama konsoluna bakın.
Alışılmadık URI şemaları kısmen desteklenir. Uygulamanızın bazı bölümleri, gerekli yönlendiren yetkilendirildikten sonra bile alışılmadık bir URI şemasında çalışmıyorsa uygulamanızı uzak bir sunucuda barındırmanız ve HTTPS (veya HTTP) üzerinden yüklemeniz gerekir.
Alışılmadık URI şemalarıyla ilgili yardıma ihtiyacınız varsa destek ekibiyle iletişime geçin.
Diğer Maps Platform API'leri, istemcinin bu bilgiyi reddedilen istekle birlikte gönderdiği varsayılarak, API hata yanıtında yetkilendirmeniz gereken yönlendireni genellikle döndürür.
Alışılmadık URI şemaları desteklenmez.
- Android uygulamaları
Android Debug Bridge (adb) veya Logcat'i kullanın.
- iOS uygulamaları
Günlük mesajlarını görüntüleme başlıklı makaleyi inceleyin.
Web hizmetlerini doğrudan çağıran uygulamalar
Google Haritalar Platformu HTTPS REST API'sini veya gRPC uç noktalarını doğrudan istemci tarafı Google Haritalar Platformu SDK'sı olmadan çağıran uygulamalar için aşağıya bakın:
- Android ve iOS uygulamaları
Android veya iOS uygulamanız, mevcut Google Haritalar Platformu istemci SDK'larından herhangi birini kullanmadan doğrudan Haritalar Platformu hizmetlerini çağırıyorsa daha fazla sorun giderme ipucu için Android uygulamaları ve iOS uygulamaları'na, mobil kullanım alanları için geçerli en iyi güvenlik uygulamaları için ise Güvenli istemci tarafı web hizmeti çağrıları'na bakın.
Uygulamanız Maps Platform API hata yanıtlarını günlüğe kaydediyorsa istemci tarafı SDK'ları için yukarıdaki talimatlar, kimlik doğrulama sorunlarını gidermede de faydalı olabilir.
- Sunucu tarafı uygulamalar
API anahtarlarına dayalı sunucu tarafı uygulamaları, en iyi şekilde IP adresi kısıtlamalarıyla güvenli hale getirilir. Anahtarınıza IP adresi kısıtlamaları uyguladıysanız ve hizmetiniz Haritalar Platformu API hata yanıtlarını günlüğe kaydediyorsa daha fazla bilgi için sistem günlüklerinizi kontrol edin. Hata yanıtı, yetkilendirmeniz gereken sunucu IP adresini içerir.
- Tarayıcı veya web görünümü tabanlı uygulamalar
Maps Static API ve Street View Static API gibi daha yeni Google Haritalar Platformu API'leri de yönlendiren kısıtlamalarını destekleyecek olsa da web tarayıcılarının veya web görünümlerinin, kaynaklar arası istekler için
Referer
üstbilgisiniOrigin
ile kısıtlayacağını ve yerel olarak erişilen kaynaklar veya HTTP ya da HTTPS dışında protokoller üzerinden sunulan kaynaklar için bu üstbilgiyi göndermeyi tamamen atlayacağını unutmayın.Uygulamanızda Maps JavaScript API'yi kullanamıyorsanız ve web sitesi kısıtlamaları işe yaramıyorsa tarayıcı tabanlı istemci tarafı uygulamanızdan Maps Platform web hizmeti çağrılarını güvenli bir şekilde nasıl yapacağınızı öğrenmek için Güvenli istemci tarafı web hizmeti çağrıları başlıklı makaleye bakın.
API kısıtlamalarını kontrol etme ipuçları
Gerekli API kısıtlamalarınızı kontrol etmek için API anahtarınızı kullanan API'leri belirleme başlıklı makaleyi inceleyin.
Hangi kısıtlamaları uygulayacağınızdan emin değilseniz:
- Mevcut kısıtlamaları ileride başvurmak üzere belgeleyin.
- Sorunu araştırırken bunları geçici olarak kaldırın. API anahtarı kullanımınızı kontrol etme bölümündeki adımları uygulayarak zaman içindeki kullanımınızı kontrol edebilirsiniz.
- Gerekirse destek ekibiyle iletişime geçin.
Kullanılmayan API anahtarlarını silme
Bir API anahtarını silmeden önce üretimde kullanılmadığından emin olun. Başarılı trafik yoksa anahtarın silinmesi güvenlidir. Daha fazla bilgi için API anahtarı kullanımınızı kontrol etme başlıklı makaleye bakın.
API anahtarını silmek için:
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Silmek istediğiniz API anahtarını seçin.
Sayfanın üst kısmındaki Sil düğmesini seçin.
Kimlik bilgisini silin sayfasında Sil'i seçin.
API anahtarının silinmesi birkaç dakika sürer. Yayma işlemi tamamlandıktan sonra, silinen API anahtarını kullanan tüm trafik reddedilir.
API anahtarlarını döndürürken dikkatli olun
API anahtarı rotasyonu yapıldığında, eski anahtarın tüm kısıtlamalarına sahip yeni bir anahtar oluşturulur. Bu süre zarfında hem eski hem de yeni anahtar kabul edilir. Böylece uygulamalarınızı yeni anahtarı kullanacak şekilde taşıma fırsatı elde edersiniz.
API anahtarını döndürmeden önce:
Öncelikle API anahtarlarınızı kısıtlama bölümünde açıklandığı şekilde API anahtarlarınızı kısıtlamayı deneyin.
Çakışan uygulama kısıtlama türleri nedeniyle API anahtarınızı kısıtlamak mümkün değilse Birden fazla API anahtarına geçiş yapma bölümünde açıklandığı gibi birden fazla yeni (kısıtlanmış) anahtara geçiş yapın. Taşıma işlemi, yeni API anahtarlarına taşıma ve kullanıma sunma zaman çizelgesini kontrol etmenize olanak tanır.
Yukarıdaki öneriler mümkün değilse ve yetkisiz kullanımı önlemek için API anahtarınızı döndürmeniz gerekiyorsa aşağıdaki adımları uygulayın:
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Döndürmek istediğiniz API anahtarını açın.
Sayfanın üst kısmında Anahtarı döndür'ü seçin.
İsteğe bağlı olarak API anahtarının adını değiştirin.
Oluştur'u seçin.
Uygulamalarınızı yeni anahtarı kullanacak şekilde güncelleyin.
Uygulamalarınızı yeni anahtarı kullanacak şekilde güncelledikten sonra, yeni API anahtarı sayfasının Önceki Anahtar bölümündeki Önceki anahtarı sil düğmesini tıklayarak eski anahtarı silin.
Birden fazla API anahtarına geçiş yapma
Birden fazla uygulama için tek bir API anahtarı kullanmaktan her uygulama için tek bir benzersiz API anahtarı kullanmaya geçmek istiyorsanız aşağıdakileri yapın:
Hangi uygulamaların yeni anahtarlara ihtiyacı olduğunu belirleme:
- Kodun tamamını siz kontrol ettiğiniz için web uygulamalarını güncellemek en kolay yöntemdir. Web tabanlı uygulamalarınızın tüm anahtarlarını güncellemeyi planlayın.
- Müşterileriniz yeni anahtarlar kullanılmadan önce uygulamalarını güncellemek zorunda olduğundan mobil uygulamalarda bu işlem çok daha zordur.
Yeni anahtarlar oluşturma ve kısıtlama: Hem uygulama kısıtlaması hem de en az bir API kısıtlaması ekleyin. Daha fazla bilgi için Önerilen en iyi uygulamalar başlıklı makaleyi inceleyin.
Yeni anahtarları uygulamalarınıza ekleyin: Mobil uygulamalarda, tüm kullanıcılarınız yeni API anahtarıyla en son uygulamaya güncelleyene kadar bu işlem aylar sürebilir.
İstemci tarafı ve sunucu tarafı kullanımını ayrı projelerde bölme
Google Haritalar Platformu hizmetlerini hem sunucu tarafı uygulamalarından hem de doğrudan son kullanıcı cihazlarında çalışan istemci tarafı uygulamalarından çağırmanız gerekiyorsa Google, kullanımınızı iki ayrı proje arasında bölmenizi önerir.
Bu yaklaşım, istemci tarafı projenizdeki çoğu Google Haritalar Platformu hizmetine uygun dakika başına ve kullanıcı başına kota sınırları uygulamanıza olanak tanır. Böylece, tüm son kullanıcıların birbirini etkilemeden genel proje kotanızdan adil bir şekilde yararlanmasını sağlayabilirsiniz.
Ancak kullanıcı başına kota kısıtlamaları hem istemci tarafı hem de sunucu tarafı uygulamalarını etkilediğinden, sunucu tarafı işleriniz için de yüksek bant genişliği gerekiyorsa bu kullanım alanı için ayrı bir proje oluşturun ve bu projeyi kullanıcı başına daha yüksek bir kota sınırı veya sınırsız olarak yapılandırın.
Kullanılmayan hizmetleri devre dışı bırakma
Kullanılmayan hizmetleri projede etkin bırakmayın. Bu uygulama, özellikle tüm herkese açık API anahtarlarınızı kısıtlamadıysanız kötüye kullanıma karşı savunmasızdır. En iyi uygulama olarak, bir hizmeti yalnızca uygulamalarınızın ihtiyaç duyduğu projelerde etkinleştirin.
Bir anahtara API kısıtlamaları eklemek, anahtarın yetkilendirilmediği hizmetlerde kullanılmasını engeller. Ancak API kısıtlamaları yalnızca söz konusu anahtar için geçerlidir. Proje düzeyinde bir hizmeti devre dışı bırakarak projeye bağlı herhangi bir anahtarda hizmetin yetkisiz kullanımını önleyebilirsiniz.
İstemci tarafı SDK'larını kullanma
Sağlanan istemci tarafı Google Haritalar Platformu SDK'larını kullanırken hizmet kullanımınızı güvence altına almak için API anahtarınıza her zaman uygun kısıtlamalar uygulayabilirsiniz.
İstemci tarafı SDK'ları kullanmak, Haritalar Platformu API'lerinin desteklediği Firebase App Check gibi daha gelişmiş güvenlik mekanizmalarını da kullanmanıza olanak tanır. Daha fazla bilgi için API anahtarınızın güvenliğini sağlamak için Uygulama Kontrolü'nü kullanma başlıklı makaleyi inceleyin.
Platformunuz için istemci tarafı SDK'ları kullanılamıyorsa İstemci tarafı web hizmeti çağrılarınızı güvenli hale getirme başlıklı makaleyi inceleyin.
Farklı platformlar için istemci tarafı Google Haritalar Platformu SDK'larının kullanılabilirliği hakkında bilgi edinmek için Önerilen uygulama ve API kısıtlamaları başlıklı makaleyi inceleyin.
Statik Web API kullanımını koruma
Maps Static API ve Street View Static API gibi statik web API'leri, web hizmeti API çağrılarına benzer.
İkisini de HTTPS REST API kullanarak çağırırsınız ve genellikle API isteği URL'sini sunucuda oluşturursunuz. Ancak StaticWeb API'leri, JSON yanıtı döndürmek yerine oluşturulan HTML koduna yerleştirebileceğiniz bir resim oluşturur. Daha da önemlisi, Google Haritalar Platformu hizmetini çağıran genellikle sunucu değil, son kullanıcı istemcisidir.
Dijital imza kullanma
En iyi uygulama olarak, API anahtarına ek olarak her zaman dijital imzalar kullanın. Ayrıca, günlük kaç tane imzalanmamış isteğe izin vermek istediğinizi inceleyin ve imzalanmamış istek kotalarınızı buna göre ayarlayın.
Dijital imzalar hakkında daha fazla bilgi için Dijital İmza Kılavuzu'na bakın.
İmzalama gizli anahtarınızı koruma
Statik web API'lerini korumak için API imzalama sırlarınızı doğrudan koda veya kaynak ağacına yerleştirmeyin ya da bunları istemci tarafı uygulamalarda kullanıma sunmayın. İmzalama sırlarınızı korumak için şu en iyi uygulamaları izleyin:
Bir web sayfası sunarken veya mobil uygulamanızdan gelen bir isteğe yanıt olarak, imzalı Maps Static API ve Street View Static API istek URL'lerinizi sunucu tarafında oluşturun.
Statik web içeriği için Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasındaki URL'yi şimdi imzala widget'ını kullanabilirsiniz.
Dinamik web içeriği için kullanılabilir URL isteği imzalama kod örneklerine bakın.
İmzalama sırlarını uygulamanızın kaynak kodu ve kaynak ağacının dışında saklayın. İmzalama sırlarınızı veya başka özel bilgilerinizi ortam değişkenlerine yerleştirirseniz ya da ayrı olarak depolanan dosyaları dahil edip kodunuzu paylaşırsanız imzalama sırları paylaşılan dosyalara dahil edilmez. Dosyalarda imzalama sırları veya başka özel bilgiler saklıyorsanız imzalama sırlarınızı kaynak kodu kontrol sisteminizden uzak tutmak için dosyaları uygulamanızın kaynak ağacının dışında tutun. Bu önlem, özellikle GitHub gibi herkese açık bir kaynak kodu yönetim sistemi kullanıyorsanız önemlidir.
Web hizmeti API anahtarlarını koruma
Google Haritalar Platformu API'lerinin ve hizmetlerinin istemci tarafı uygulamalardan güvenli bir şekilde kullanılması için İstemci tarafı SDK'ları kullanma ve İstemci tarafı web hizmeti çağrılarını güvenli hale getirme başlıklı makalelere bakın.
API anahtarlarını uygulamanızın kaynak kodu veya kaynak ağacının dışında saklayın. API anahtarlarınızı veya başka bilgileri ortam değişkenlerine yerleştirirseniz ya da ayrı olarak depolanan dosyaları dahil edip kodunuzu paylaşırsanız API anahtarları paylaşılan dosyalara dahil edilmez. Bu durum, GitHub gibi herkese açık bir kaynak kodu yönetim sistemi kullanıyorsanız özellikle önemlidir.
Google, web hizmeti API anahtarınızı yanlışlıkla kullanıma karşı korumak için Haritalar Platformu'nda kullanılan tüm anahtarlara API kısıtlamaları uygulamanızı önerir. Ayrıca, web hizmeti anahtarınıza IP adresi kısıtlamaları uygulamak, anahtar yanlışlıkla sızdırılsa bile diğer kaynak IP adreslerinden yetkisiz kullanıma karşı korunmasını sağlar.
Sunucu taraflı uygulamalar için OAuth'u kullanma
OAuth 2.0, erişim yetkisi verme için açık bir standarttır.
OAuth 2.0 protokolü, son kullanıcının bir uygulamayı kendi adına kişisel verilere erişmesi için yetkilendirdiği kullanım alanlarını desteklese de Maps Platform ile OAuth 2.0'ın amaçlanan kullanım alanı, geliştiricinin Google Cloud projesi hizmet hesabı adına bir API'yi çağırmak üzere uygulamasını yetkilendirmek için hizmet hesabının izinleriyle geçici erişim jetonlarını kullanmasıdır.
Hizmet hesapları çok geniş izinlere sahip olabileceğinden, geliştiricinin güvenilir sunucu tarafı uygulamaları ile Google'ın Haritalar Platformu sunucuları arasında sunucudan sunucuya yapılan çağrıların yetkilendirilmesi için OAuth 2.0 önerilir.
Son kullanıcı cihazlarında çalışan istemci tarafı uygulamalar için API anahtarları gibi diğer kimlik doğrulama yöntemleri önerilir.
Sunucudan sunucuya trafiği yetkilendirmek için OAuth 2.0'ı kullanmak istiyorsanız API belgelerinizde OAuth konusunu bulun.
Örneğin, Address Validation API ile ilgili OAuth konusu aşağıda verilmiştir.
Güvenli istemci tarafı web hizmeti çağrıları
İstemci tarafı SDK'ları kullanılamıyorsa aşağıdaki önerileri inceleyin.
Proxy sunucu kullanma
Güvenli bir proxy sunucusu kullanmak, API anahtarınızı, imzalama gizli anahtarınızı veya Google Cloud hizmeti hesabınızı yetkisiz kullanıcılara göstermeden istemci tarafı uygulamasından Google Haritalar Platformu web hizmeti uç noktasıyla etkileşim kurmak için sağlam bir kaynak sağlar.
Önemli noktalar:
Google Haritalar Platformu isteklerinizi proxy sunucusunda oluşturun. İstemcilerin, proxy'yi kullanarak rastgele API çağrıları iletmesine izin vermeyin.
Google Haritalar Platformu yanıtlarını proxy sunucunuzda sonradan işleyin. Müşterinin ihtiyaç duymadığı verileri filtreleyin.
Proxy sunucusu kullanma hakkında daha fazla bilgi için Living Vicariously: Using Proxy Servers with the Google Data API Client Libraries başlıklı makaleyi inceleyin.
Doğrudan mobil web hizmeti çağrılarını güvenli hale getirme
İstemci tarafı uygulamanız için güvenli bir proxy sunucusu ayarlayamıyorsanız aşağıdaki adımları uygulayarak uygulamanızı güvenli hale getirin:
HTTP üstbilgilerini kullanma:
Android:
X-Android-Package
veX-Android-Cert
HTTP üstbilgilerini kullanın.iOS:
X-Ios-Bundle-Identifier
HTTP üstbilgisini kullanın.
Android veya iOS anahtarınıza ilgili uygulama kısıtlamalarını ekleyin.
Doğrudan mobil uygulamanızdan Google Haritalar Platformu REST API web hizmetine çağrı göndermeyi düşünmeden önce yanlış Android veya iOS uygulama tanımlayıcılarına sahip isteklerin reddedildiğini doğrulayın.
Test edilen uç noktada Android ve iOS uygulama kısıtlamaları desteklenmiyorsa Google, mobil istemcileriniz ile Google Haritalar Platformu web hizmeti uç noktası arasında güvenli bir proxy sunucusu kullanmanızı şiddetle önerir.
Android uygulamalarıyla ilgili ipuçları:
Android uygulamanızı Google Haritalar Platformu hizmetleriyle entegre etmeden önce uygulama kimliğinizin (paket adı olarak da bilinir) doğru şekilde biçimlendirildiğini doğrulayın. Ayrıntılar için Android dokümanlarındaki Uygulama modülünü yapılandırma başlıklı makaleyi inceleyin.
X-Android-Package
değerini doğrudan uygulamanızdan iletmek içinContext.getPackageName()
kullanarak programatik olarak arayın.X-Android-Cert
değerini doğrudan uygulamalarınızdan iletmek için uygulama imzalama sertifikalarınızın gerekli SHA-1 dijital parmak izini hesaplayın. Bu sertifikalaraPackageInfo.signingInfo
üzerinden erişebilirsiniz.Android uygulamanızı Google Cloud Console'u kullanarak yetkilendiriyorsanız kullanıcı arayüzünün SHA-1 parmak izinin iki nokta üst üste ile ayrılmış bir dize olmasını beklediğini unutmayın. Örneğin:
00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33
. Ancakgcloud
aracı ve API anahtarları API'si, sınırlayıcılar olmadan onaltılık dizeyi bekler.
iOS uygulamalarıyla ilgili ipuçları:
iOS uygulamanızı Google Haritalar Platformu hizmetleriyle entegre etmeden önce paket kimliğinizin doğru şekilde biçimlendirildiğini doğrulayın.
iOS uygulamanızı yetkilendirirken genellikle
X-Ios-Bundle-Identifier
üstbilgisinde ana paketinizin paket kimliğini her zaman iletmeniz gerekir.
Daha fazla bilgi için API anahtarlarını yönetme ve API'lere erişmek için API anahtarlarını kullanma başlıklı makalelere bakın.
Tarayıcı tabanlı uygulamalarınızı bir sunucuda barındırma
Apache Cordova gibi çerçeveler, web görünümünde çalışan çok platformlu karma uygulamaları kolayca oluşturmanıza olanak tanır. Ancak web uygulamanız, kontrol ettiğiniz ve yetkilendirdiğiniz bir web sitesinden HTTP veya HTTPS kullanılarak yüklenmediği sürece API anahtarı web sitesi kısıtlamalarının doğru şekilde çalışacağı garanti edilmez.
Karma bir uygulamadan yerel olarak yüklenen veya yerel bir dosya URL'si kullanılarak erişilen paketlenmiş kaynaklar, birçok durumda yönlendirene dayalı yetkilendirmenin çalışmasını engeller. Bunun nedeni, web görünümünüze güç veren tarayıcı motorunun Referer
üstbilgisini göndermeyi atlamasıdır. Bunu önlemek için web uygulamalarınızı istemci tarafında değil, sunucu tarafında barındırın.
Alternatif olarak, mobil uygulamalarda web tabanlı bir SDK kullanmak yerine mevcut yerel Google Haritalar Platformu Android ve iOS SDK'larını kullanabilirsiniz.
API anahtarınızın güvenliğini sağlamak için Uygulama Kontrolü'nü kullanma
Belirli Haritalar SDK'ları ve API'leri, Firebase App Check ile entegrasyon yapmanıza olanak tanır. Uygulama Kontrolü, geçerli uygulamalar dışındaki kaynaklardan gelen trafiği engelleyerek uygulamanızdan Google Haritalar Platformu'na yapılan çağrıları korur. Bu işlem, bir onay sağlayıcının jetonunu kontrol ederek yapılır. Uygulamalarınızı Uygulama Kontrolü ile entegre etmek, kötü amaçlı isteklere karşı korunmanıza yardımcı olur. Böylece yetkisiz API çağrıları için sizden ücret alınmaz.
Uygulama Kontrolü entegrasyon talimatları:
- iOS için Yerler SDK'sı
- Android için Yerler SDK'sı
- Maps JavaScript API
- Place sınıfı, Maps JavaScript API
API anahtarının yetkisiz kullanımını ele alma
API anahtarınızın yetkisiz kullanımını tespit ederseniz sorunu gidermek için aşağıdakileri yapın:
Anahtarlarınızı kısıtlayın: Aynı anahtarı birden fazla uygulamada kullandıysanız birden fazla API anahtarına geçin ve her uygulama için ayrı API anahtarları kullanın. Daha fazla bilgi için:
Places SDK'sını veya Maps JavaScript API'yi kullanıyorsanız API anahtarınızın güvenliğini sağlamak için App Check'i de kullanabilirsiniz.
Anahtarları yalnızca aşağıdaki durumlarda değiştirin veya döndürün:
Kısıtlanamayan veya zaten kısıtlanmış anahtarlarda yetkisiz kullanım tespit ediyorsunuz ve App Check geçerli değil.
Uygulamanızdan gelen meşru trafiği etkileyebilecek olsa bile, API anahtarınızın güvenliğini sağlamak ve kötüye kullanımı durdurmak için daha hızlı hareket etmek istiyorsunuz.
Devam etmeden önce API anahtarlarını döndürürken dikkatli olun başlıklı makaleyi okuyun.
Sorun yaşamaya devam ederseniz veya yardıma ihtiyacınız olursa destek ekibiyle iletişime geçin.
Önerilen uygulama ve API kısıtlamaları
Aşağıdaki bölümlerde her bir Google Haritalar Platformu API'si, SDK'sı veya hizmeti için uygun uygulama ve API kısıtlamaları önerilmektedir.
Önerilen API Kısıtlamaları
API kısıtlamalarıyla ilgili aşağıdaki yönergeler tüm Google Haritalar Platformu hizmetleri için geçerlidir:
API anahtarınızı yalnızca kullandığınız API'lerle kısıtlayın. Aşağıdaki istisnalar geçerlidir:
Uygulamanız Android için Yerler SDK'sını veya iOS için Yerler SDK'sını kullanıyorsa kullandığınız SDK sürümlerine bağlı olarak Yerler API'si (Yeni) veya Yerler API'si için yetkilendirme yapın. 1
Uygulamanız Maps JavaScript API'yi kullanıyorsa her zaman anahtarınızda yetkilendirin.
Aşağıdaki Maps JavaScript API hizmetlerinden herhangi birini de kullanıyorsanız ilgili API'leri de yetkilendirmeniz gerekir:
Hizmet API kısıtlaması Directions Service (Eski) Directions API (Eski) Distance Matrix Hizmeti (Eski) Distance Matrix API (Eski) Yükseklik Hizmeti Elevation API Coğrafi Kodlama Hizmeti Geocoding API Yer sınıfı, Yer Adı Otomatik Tamamlama Widget'ı (Yeni) ve Yer Adı Otomatik Tamamlama Veri API'si Places API (Yeni)2 Yer Kitaplığı, Yer Hizmeti & Otomatik Yer Tamamlama Widget'ı Places API2
1 Daha fazla bilgi için Android için Yerler SDK'sı ve iOS için Yerler SDK'sı belgelerine bakın.
2 Places API (Yeni) veya Places API'yi yetkilendirmeniz gerekip gerekmediğinden emin değilseniz Maps JavaScript API dokümanlarına bakın.
Bazı örnekler:
Android için Haritalar SDK'sı ve Android için Yerler SDK'sını kullandığınız için API kısıtlamaları olarak Android için Haritalar SDK'sı ve Yerler API'si (Yeni) ekliyorsunuz.
Web sitenizde Maps JavaScript API Yükseklik Hizmeti ve Maps Static API kullanıldığından aşağıdaki API'lerin tümü için API kısıtlamaları ekliyorsunuz:
- Maps JavaScript API
- Elevation API
- Maps Static API
Önerilen uygulama kısıtlaması
Web siteleri
Maps JavaScript API hizmetlerini, Maps Static API'yi veya Street View Static API'yi kullanan ya da HTTPS REST API veya gRPC üzerinden doğrudan son Google Haritalar Platformu hizmetlerini çağıran web siteleri için Web siteleri uygulama kısıtlamasını kullanın:
1 Mobil uygulamalar için yerel Android için Haritalar SDK'sı ve iOS için Haritalar SDK'sını kullanmayı düşünebilirsiniz.
2 Mobil uygulamalar için yerel Android için Yerler SDK'sı ve iOS için Yerler SDK'sını kullanmayı düşünebilirsiniz.
3 Ayrıca Statik Web API kullanımını koruma başlıklı makaleyi inceleyin.
Maps Embed API'nin kullanıldığı web siteleri
Maps Embed API'nin kullanımı ücretsiz olsa da diğer hizmetlerde kötüye kullanımı önlemek için kullanılan API anahtarlarını kısıtlamanız gerekir.
En iyi uygulama: Maps Embed API kullanımı için ayrı bir API anahtarı oluşturun ve bu anahtarı yalnızca Maps Embed API ile sınırlayın. Bu kısıtlama, anahtarı yeterince güvenli hale getirerek başka bir Google hizmetinde yetkisiz kullanımını önler. Google, Maps Embed API anahtarınızın nereden kullanılabileceği konusunda tam kontrol sahibi olmak için Web siteleri uygulama kısıtlamalarının da uygulanmasını önerir.
Maps Embed API kullanımınızı ayrı bir API anahtarıyla ayıramıyorsanız mevcut anahtarınızı Web siteleri uygulama kısıtlamasını kullanarak güvenli hale getirin.
Web hizmetlerini kullanan uygulamalar ve sunucular
API anahtarlarıyla birlikte web hizmetlerini kullanan güvenilir kurumsal iç ağlardaki sunucular ve istemci tarafı uygulamalar için IP addresses
uygulama kısıtlamasını kullanın.
Bu API'leri kullanan uygulamalar ve sunucular için kullanın:
4 Mobil uygulamalar için Navigasyon SDK'sını kullanabilirsiniz.
5 Mobil cihazınızı güvenli bir şekilde kullanmak için güvenli bir proxy sunucu kullanın.
6 İstemci tarafı uygulamalar için platformun sunduğu yerel coğrafi konum hizmetini kullanmayı düşünebilirsiniz. Örneğin, web tarayıcıları için W3C Geolocation, Android için LocationManager veya Fused Location Provider API, iOS için ise Apple Core Location çerçevesi.
7 Mobil uygulamalar için yerel Android için Yerler SDK'sı ve iOS için Yerler SDK'sını kullanmayı düşünebilirsiniz.
8 İstemci tarafında güvenli kullanım için güvenli bir proxy sunucu kullanın.
Android uygulamaları
Android'deki uygulamalar için Android apps
uygulama kısıtlamasını kullanın. Şu SDK'ları kullanan uygulamalar için:
Ayrıca, Secrets Gradle Plugin'i kullanarak API anahtarlarının yanlışlıkla sürüm kontrolüne eklenmesini önleyin. Bu eklenti, sırları Android Manifest'te depolamak yerine yerel bir dosyadan eklemenizi sağlar.
iOS uygulamaları
iOS'teki uygulamalar için iOS apps
uygulama kısıtlamasını kullanın. Bu SDK'ları kullanan uygulamalar ve sunucular için kullanın:
Daha fazla bilgi
- API anahtarlarını yönetme
- API'lere erişmek için API anahtarlarını kullanma
- Kotalarla Google Haritalar Platformu kullanımınızı optimize etme (video)
- Google Haritalar Platformu için API anahtarlarını oluşturma ve kısıtlama (video)
- API anahtarlarını kısıtlama
- Static Maps ve Street View API'lerini kullanırken API anahtarlarının güvenliğini sağlama
- 15 Google Haritalar Platformu En İyi Uygulaması