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üvenceye alacağınızı gösterir.
Sunucular arası trafiği yetkilendirmek için OAuth 2.0'ı kullanmak istiyorsanız API belgelerinizde OAuth konusunu inceleyin. Daha fazla bilgi için Sunucu tarafı uygulamalar için OAuth 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 güvenlik uygulamalarını da takip edin. Örneğin, Önerilen uygulama ve API kısıtlamaları bölümünde 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'nu inceleyin.
Önerilen en iyi uygulamalar
Güvenliği artırmak ve yetkisiz kullanım için faturalandırılmamak amacıyla tüm Google Haritalar Platformu API'leri, SDK'ları veya hizmetleri için aşağıdaki API güvenliğiyle ilgili en iyi uygulamaları izleyin:
Tüm API anahtarı kullanımları için önerilir.
Her uygulama için ayrı API anahtarları kullanma
Kullanılmayan API anahtarlarını silme
API anahtarı kullanımınızı kontrol etme
API anahtarlarını rotasyona tabi tutarken dikkatli olun
İstemci tarafı ve sunucu tarafı kullanımını ayrı projelere bölme
Kullanılmayan hizmetleri devre dışı bırakma
İstemci tarafı uygulamalar için ek öneriler
İstemci tarafı SDK'ları kullanma
İstemci tarafı web hizmeti çağrılarını güvence altına alma
Statik Web API'lerini kullanan web siteleri veya istemci tarafı uygulamalar için ek öneriler
Statik 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 kullanma
Kullanımda olan bir API anahtarını kısıtlıyor veya rotasyona tabi tutuyorsanız
API anahtarını değiştirmeden önce API anahtarı kullanımınızı kontrol edin. Bu adım, özellikle üretim uygulamasında halihazırda kullanımda olan bir anahtar için kısıtlama ekliyorsanız önemlidir.
Anahtarı değiştirdikten sonra tüm uygulamalarınızı yeni API anahtarlarıyla güncelleyin.
API anahtarınızın güvenliği ihlal edilmediyse ve 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 süreçte, yalnızca tek bir trafik türü gözlemleyene kadar orijinal API anahtarını değiştirmeden bırakabilirsiniz. Böylece API anahtarı, istenmeyen hizmet kesintilerine neden olmadan tek bir uygulama kısıtlaması türüyle güvenli bir şekilde kısıtlanabilir.
Daha fazla talimat 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 zaman içindeki kullanımı izleyin ve belirli API'lerin, platform türlerinin ve alanların eski API anahtarından ne zaman taşındığını görün. Daha fazla bilgi için Raporlama ve izleme ve Metrikler bölümlerine bakın.
API anahtarınızın güvenliği ihlal edildiyse API anahtarınızı güvence altına almak ve kötüye kullanımı durdurmak için daha hızlı hareket etmeniz gerekir. Android ve iOS uygulamalarında, müşteriler uygulamalarını güncelleyene kadar anahtarlar değiştirilmez. Web sayfalarındaki veya sunucu tarafı uygulamalardaki anahtarları güncellemek ya da değiştirmek çok daha kolaydır ancak yine de dikkatli bir 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 sınırlayabilirsiniz: Android veya iOS uygulamaları ya da istemci tarafı uygulamalar için belirli web siteleri ya da web hizmeti REST API çağrıları yapan sunucu tarafı uygulamalar için belirli IP adresleri veya CIDR alt ağları.
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 yönelik isteklere izin verir. Herhangi bir API anahtarı için gerektiği kadar API kısıtlaması belirtebilirsiniz. Kullanılabilir API'ler 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.
Edit API key (API anahtarını düzenle) sayfasındaki Key restrictions (Anahtar kısıtlamaları) bölümünde Set an application restriction'ı (Uygulama kısıtlaması ayarla) seçin.

Kısıtlama türlerinden birini seçin ve kısıtlama listesinden sonra 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ı
httpsvehttp'dir. Modern web tarayıcıları, gizlilik nedeniyle giden isteklerde "Referer" başlığı 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ı (ör.
https://google.com) dahil olmak üzere her zaman tam yönlendiren dizesini sağlayın. - Tüm alt alan adlarını yetkilendirmek için joker karakterler kullanabilirsiniz. Örneğin,
https://*.google.com,.google.comile biten tüm siteleri kabul eder. - Tam yol yönlendirenlerine (ör.
https://google.com/some/path) yetki verirken dikkatli olun. Çoğu web tarayıcısı, gizlilik nedeniyle çapraz kaynak isteklerinden yolu kaldırı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 adresle eşleşmelidir. Ağ adresi çevirisi (NAT) kullanıyorsanız bu adres genellikle makinenizin genel IP adresine karşılık gelir. Android uygulamaları Yetkilendirmek istediğiniz her Android uygulamasının Android paket adını (
AndroidManifest.xmldosyasından) ve SHA-1 imzalama sertifikası parmak izini ekleyin.- Android uygulamaları'nı seçin.
- + Ekle'yi tıklayın.
- Paket adınızı 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 sertifika türü vardır:
- Hata ayıklama sertifikası: Bu sertifika türünü yalnızca test ettiğiniz uygulamalarda ve üretim dışı diğer kodlarda kullanın. Hata ayıklama sertifikasıyla imzalanmış bir uygulamayı yayınlamaya çalışmayın. Android SDK araçları, bir hata ayıklama derlemesi çalıştırdığınızda bu sertifikayı otomatik olarak oluşturur.
- Sürüm sertifikası: Uygulamanızı bir uygulama mağazasında yayınlamaya hazır olduğunuzda bu sertifikayı kullanın. Android SDK araçları, yayınlanan bir derlemeyi çalıştırdığınızda bu sertifikayı oluşturur.
Android uygulama imzalama ve sertifikaları hakkında daha fazla bilgi için Uygulamanızı imzalama kılavuzuna bakın.
Play Uygulama İmzalama'yı kullanıyorsanız imzalama sertifikası parmak izini almak için API sağlayıcılarıyla çalışma bölümüne bakın. Kendi imzalama anahtarınızı yönetiyorsanız Uygulamanızı kendiniz imzalama bölümüne bakın veya derleme ortamınızla ilgili talimatları inceleyin.
iOS uygulamaları Yetkilendirmek istediğiniz her iOS uygulamasının paket kimliğini 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.
Edit API key (API anahtarını düzenle) sayfasındaki API restrictions (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 olmayan API veya SDK'ları etkinleştirmeniz gerekir. Ayrıntılar için Bir veya daha fazla API ya da SDK'yı etkinleştirme bölümüne bakın.

Kaydet'i seçin.
Bu adımdan sonra kısıtlama, API anahtarı tanımının bir parçası haline gelir. Uygun ayrıntıları sağladığınızdan emin olun ve API anahtarı kısıtlamalarınızı kaydetmek için Kaydet'i seçin. 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ı bölümüne bakın.
API anahtarı kullanımınızı kontrol etme
API anahtarlarını oluşturulduktan sonra kısıtlıyorsanız veya kısıtlayabilmek için bir anahtar tarafından hangi API'lerin kullanıldığını görmek istiyorsanız 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 hizmetleri dışında bir kullanım görürseniz istenmeyen kullanımı önlemek için daha fazla kısıtlama eklemeniz gerekip gerekmediğini belirlemek üzere inceleme yapın. API anahtarınıza hangi API ve uygulama kısıtlamalarını uygulayacağınızı belirlemek için Google Haritalar Platformu Cloud Console Metrik Gezgini'ni kullanabilirsiniz:
API anahtarınızı kullanan API'leri belirleme
Aşağıdaki metrik raporları, API anahtarlarınızı hangi API'lerin kullandığını belirlemenize olanak tanır. Bu raporları kullanarak aşağıdakileri yapabilirsiniz:
- API anahtarlarınızın nasıl kullanıldığını görme
- Beklenmeyen kullanımları tespit etme
- Kullanılmayan bir anahtarın silinmesinin güvenli olup olmadığını doğrulamaya yardımcı olur. API anahtarlarını 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 projesini seçin.
API türünüzün Metrics Explorer sayfasına gidin:
Maps Embed API hariç herhangi bir API'yi kullanan API anahtarları için: Metrics Explorer sayfasına gidin.
Maps Embed API'yi kullanan API anahtarları için: Metrics Explorer'a (Metrik Gezgini) gidin.
Her API anahtarını inceleyin:
FİLTRE EKLE'yi seçin.
Etiket'i
credential_idseç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ği gibi olduğunu onaylayın.
İşiniz bittiğinde, etkin filtre satırının sonundaki Filtreyi kaldır'ı seçerek ek filtreyi silin.
Kalan 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ıtlaması 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 yapı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ız için ö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 değerine göre uygulanacak uygulama kısıtlamasının 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.
Etiket'i
credential_idseçin.İncelemek istediğiniz anahtara karşılık gelen değeri seçin.
İşiniz bittiğinde, etkin filtre satırının sonundaki Filtreyi kaldır'ı seçerek ek filtreyi silin.
Kalan anahtarlar için bu işlemi tekrarlayın.
API anahtarlarınızın platform türünü belirledikten sonra ilgili
platform_typeiçin uygulama kısıtlamasını uygulayın:PLATFORM_TYPE_JS: Anahtara web sitesi kısıtlamaları uygulayın.PLATFORM_TYPE_ANDROID: Anahtara Android uygulaması kısıtlamaları uygulayın.PLATFORM_TYPE_IOS: Anahtara iOS uygulama kısıtlamaları uygulayın.PLATFORM_TYPE_WEBSERVICE: Anahtarı doğru ş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 Statik Web API kullanımını koruma başlıklı makaleyi inceleyin.
Maps Embed API önerileri için Maps Embed API kullanan 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üvence altına alınamaz. 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ı kullanma
Bu uygulama, her anahtarın kapsamını sınırlandırır. Bir API anahtarının güvenliği ihlal edilirse diğer API anahtarlarınızı güncellemenize gerek kalmadan etkilenen anahtarı silebilir veya değiştirebilirsiniz. Proje başına en fazla 300 API anahtarı oluşturabilirsiniz. Daha fazla bilgi için API anahtarlarıyla ilgili sınırlamalar başlıklı makaleyi inceleyin.
Güvenlik açısından her uygulama için bir API anahtarı kullanılması 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.
Öneriler varsa 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), Mesafe Matrisi Hizmeti (Eski), Rakım Hizmeti, Coğrafi Kodlama Hizmeti, Yer sınıfı, Yer Adı Otomatik Tamamlama Widget'ı (Yeni), Yer Adı Otomatik Tamamlama Data API, Yer Kitaplığı, Yerler Hizmeti, Yer Adı Otomatik Tamamlama 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 Places SDK ve Android için Places UI Kit
iOS için Haritalar SDK'sı, iOS için Navigasyon SDK'sı, iOS için Places SDK, iOS için Places Swift SDK ve iOS'te Places UI Kit.
Önerileri görememenizin veya eksik öneriler 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 önce aşağıdakileri yapmadan öneriyi uygulamayın:
Google Cloud Console'daki Metrics Explorer'da 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 uygulamalar farklı bir tür uygulama kısıtlaması gerektiriyorsa Birden fazla API anahtarına geçiş yapma 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 uygulama veya web sitesinde kullanıyorsunuz.
Çok kısa bir süre önce yeni bir anahtar oluşturduysanız veya mevcut bir anahtarı yeni bir uygulamada dağıttıysanız önerilerin güncellenmesi için birkaç gün daha beklemeniz gerekir.
API anahtarını, çakışan türde uygulama kısıtlamaları 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örmenizin nedenleri
API anahtarını, son 60 gün içinde kullanılmamış, düşük hacimli bir uygulama veya web sitesinde kullanıyorsunuz.
Yeni bir API veya hizmette mevcut bir anahtarı kullanmaya çok kısa süre önce başladınız ve otomatik API anahtarı kısıtlama önerisi ardışık düzeni, güncellenen kullanım metriklerini henüz işlemedi. Kullanım metriklerinin yayılması birkaç gün sürebilir.
Diğer hizmetlerde kullanım görüyorsanız önce aşağıdakileri yapmadan öneriyi uygulamayın:
Google Cloud Console'daki Metrics Explorer'da 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 uygulamalar farklı bir tür uygulama kısıtlaması gerektiriyorsa Birden fazla API anahtarına geçiş yapma 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 iki gün bekleyebilirsiniz.
Grafiklerde görünmeyen öneriler görmenizin nedenleri
Uygulamanız veya web siteniz yalnızca çok kısa süreli trafik artışları gönderdi. Bu durumda, kullanım hâlâ göstergede göründüğü için GRAFİK görünümünden TABLO veya HER İKİSİ görünümüne geçin. Daha fazla bilgi için Grafiğin tam açıklama metinlerini açma/kapatma 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.
Uygulama veya web sitesinden gelen trafik, Google Cloud Console Metrik Gezgini'nde bulunan tarih aralığının dışında.
Önerilen kısıtlamaları uygulamak için
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Varsa Ö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 hizmetler görüyorsanız 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ı planladığınız web siteleri ve uygulamalarla eşleştiğinden emin olun.
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 sorun yaşanırsa gerekli uygulamaları veya API'leri tekrar ekleyebilirsiniz.
Önerinizde bir uygulamanın, web sitesinin veya API'nin açıkça eksik olduğunu fark ederseniz bunu manuel olarak ekleyin veya önerinin güncellenmesi için birkaç gün bekleyin.
Önerilen tavsiyeyle ilgili daha fazla yardıma ihtiyacınız olursa destek ekibiyle iletişime geçin.
Uygula'yı seçin.
Bir öneriyi uyguladıktan sonra başvurunuz reddedilirse ne yapmalısınız?
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ı arayın.
İstemci tarafı SDK'lar ve API'ler
- Tarayıcı ve webview tabanlı uygulamalar
Modern tarayıcılar, gizlilik nedeniyle çapraz kaynak isteklerinde
Refererbaşlığını genellikleOriginolarak kısaltır. Ancak tam davranış, barındırma sitesinin uygulananreferrer-policypolitikasına bağlıdır ve kullanıcının tarayıcısına ve sürümüne göre de değişiklik gösterebilir.İçerik yüklemek için opak veya yerel URI şemaları kullanan web uygulamaları, genellikle oluşturma tarayıcısının veya WebView'un giden aramalardan
Refererbaşlığını tamamen çıkarmasına neden olur. Bu durum, web sitesi kısıtlamaları olan API anahtarlarını kullanan isteklerin başarısız olmasına yol açabilir.Daha fazla bilgi için Tarayıcı tabanlı uygulamalarınızı bir sunucuda barındırma başlıklı makaleyi inceleyin.
Tarayıcı ve webview tabanlı uygulamalar için sorun giderme talimatları:
Maps JavaScript API için uygulamanızı nasıl yetkilendireceğinizle ilgili ayrıntıları tarayıcı hata ayıklama konsolunda bulabilirsiniz.
Egzotik URI şemaları kısmen desteklenir. Uygulamanızın bazı bölümleri, gerekli yönlendireni yetkilendirdikten sonra bile egzotik bir URI şemasında çalışmıyorsa uygulamanızı bir sunucuda uzaktan barındırmanız ve HTTPS (veya HTTP) üzerinden yüklemeniz gerekebilir.
Alışılmadık URI şemalarıyla ilgili yardıma ihtiyacınız varsa destek ekibiyle iletişime geçin.
Diğer Haritalar Platformu API'leri, istemcinin bu bilgileri reddedilen istekle birlikte gönderdiğini varsayarak genellikle API hata yanıtında yetkilendirmeniz gereken yönlendireni döndürür.
Egzotik URI şemaları desteklenmez.
- Android uygulamaları
Android Debug Bridge (adb) veya Logcat'i kullanma
- iOS uygulamaları
Günlük mesajlarını görüntüleme bölümüne bakın.
Web hizmetlerini doğrudan çağıran uygulamalar
İstemci tarafı Google Haritalar Platformu SDK'sı olmadan doğrudan Maps Platform HTTPS REST API'yi veya gRPC uç noktalarını ç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 Maps Platform hizmetlerini çağırıyorsa daha fazla sorun giderme ipucu için Android uygulamaları ve iOS uygulamaları bölümlerine, mobil kullanım alanları için mevcut en iyi güvenlik uygulamaları hakkında bilgi edinmek için ise İstemci tarafı web hizmeti çağrılarının güvenliğini sağlama bölümüne 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 yararlı olabilir.
- Sunucu tarafı uygulamalar
API anahtarlarını kullanan sunucu tarafı uygulamalar, IP adresi kısıtlamalarıyla en iyi şekilde korunur. Anahtarınıza IP adresi kısıtlamaları uyguladıysanız ve hizmetiniz Maps Platform API hata yanıtlarını hizmet günlüğüne 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 webview tabanlı uygulamalar
Maps Static API, Street View Static API ve daha yeni Google Haritalar Platformu API'leri de yönlendiren kısıtlamalarını destekler. Ancak web tarayıcıları veya web görünümleri, çapraz kaynak istekleri için
RefererbaşlığınıOriginile kısıtlayabilir ve yerel olarak erişilen kaynaklar ya da HTTP veya HTTPS dışındaki protokoller üzerinden sunulan kaynaklar için bu başlığı tamamen göndermeyebilir.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 Google Haritalar Platformu web hizmeti çağrılarını güvenli bir şekilde nasıl yapacağınızı öğrenmek için İstemci tarafı web hizmeti çağrılarını güvenli hale getirme başlıklı makaleyi inceleyin.
API kısıtlamalarını kontrol etmeyle ilgili 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ızı belirleyemiyorsanız:
- Mevcut kısıtlamaları ileride başvurmak üzere belgeleyin.
- Sorunu araştırırken bu uygulamaları 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, anahtarın üretimde kullanılmadığından emin olun. Başarılı trafik yoksa anahtarın silinmesi muhtemelen güvenlidir. Daha fazla bilgi için API anahtarı kullanımınızı kontrol etme başlıklı makaleyi inceleyin.
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 sil sayfasında Sil'i seçin.
API anahtarının silinmesi birkaç dakika sürer. Yayılma tamamlandıktan sonra, silinen API anahtarını kullanan tüm trafik reddedilir.
API anahtarlarını rotasyona tabi tutarken dikkatli olun
Bir API anahtarını rotasyona tabi tuttuğunuzda, eski anahtarın tüm kısıtlamalarına sahip yeni bir anahtar oluşturulur. Bu zaman aralığında hem eski hem de yeni anahtar kabul edilir. Böylece uygulamalarınızı yeni anahtarı kullanacak şekilde taşıyabilirsiniz.
API anahtarını rotasyona tabi tutmadan ö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 geçiş 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ı rotasyona tabi tutmanız gerekiyorsa aşağıdaki adımları uygulayın:
Google Cloud Console'da Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.
Rotasyon uygulamak istediğiniz API anahtarını açın.
Sayfanın üst kısmında Anahtarı değiştir'i seçin.
İsterseniz API anahtarının adını değiştirebilirsiniz.
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 için aşağıdakileri yapın:
Hangi uygulamaların yeni anahtarlara ihtiyacı olduğunu belirleme:
- Tüm kodları kontrol ettiğiniz için web uygulamalarını güncellemek en kolay olanıdır. Web tabanlı tüm uygulamalarınızın anahtarlarını güncellemeyi planlayın.
- Mobil uygulamalarda bu işlem çok daha zordur. Çünkü yeni anahtarların kullanılabilmesi için müşterilerinizin uygulamalarını güncellemesi gerekir.
Yeni anahtarları oluşturun ve kısıtlayın: Hem bir 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 bu işlem, tüm kullanıcılarınız yeni API anahtarını içeren en son uygulamaya geçene kadar aylar sürebilir.
İstemci tarafı ve sunucu tarafı kullanımını ayrı projelere bölme
Google Haritalar Platformu hizmetlerini hem sunucu tarafı uygulamalardan hem de doğrudan son kullanıcı cihazlarında çalışan istemci tarafı uygulamalardan çağırmanız gerekiyorsa Google, kullanımınızı iki ayrı projeye bölmenizi önerir.
Bu yaklaşım, istemci tarafı projenizdeki çoğu Google Haritalar Platformu hizmetinde dakika ve kullanıcı başına uygun kota sınırları uygulamanıza olanak tanır. Böylece tüm son kullanıcıların, birbirlerini etkilemeden toplam proje kotanızdan adil bir pay almasını sağlayabilirsiniz.
Ancak kullanıcı başına kota kısıtlamaları hem istemci tarafı hem de sunucu tarafı uygulamaları etkilediğinden, sunucu tarafı işleriniz için yüksek bant genişliğine de ihtiyacınız varsa bu kullanım alanı için kullanıcı başına daha yüksek kota sınırı olan veya hiç sınırı olmayan ayrı bir proje oluşturun.
Kullanılmayan hizmetleri devre dışı bırakma
Kullanılmayan hizmetleri bir 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 ihtiyacı olduğunda projede 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 ilgili anahtar için geçerlidir. Proje düzeyinde bir hizmeti devre dışı bırakarak hizmetin projeye bağlı herhangi bir anahtarda yetkisiz kullanımını önleyin.
İstemci tarafı SDK'ları kullanma
Sağlanan istemci tarafı Google Haritalar Platformu SDK'larını kullanırken hizmet kullanımınızın güvenliğini sağlamak için API anahtarınıza her zaman uygun kısıtlamalar uygulayabilirsiniz.
İstemci tarafı SDK'ları kullanmak, destekleyen Maps Platform API yüzeylerinde Firebase App Check gibi daha gelişmiş güvenlik mekanizmalarını kullanmanıza da 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 yoksa İstemci tarafı web hizmeti çağrılarınızın güvenliğini sağlama 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 istiyorsanız Ö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.
Her ikisini de HTTPS REST API kullanarak çağırırsınız ve genellikle API istek URL'sini sunucuda oluşturursunuz. Ancak statik web API'leri, JSON yanıtı döndürmek yerine oluşturulan HTML koduna yerleştirebileceğiniz bir resim üretir. 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ünde kaç tane imzasız isteğe izin vermek istediğinizi gözden geçirin ve imzasız 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 gizli anahtarlarınızı doğrudan koda veya kaynak ağacına yerleştirmeyin ya da istemci tarafı uygulamalarda göstermeyin. İmzalama gizli anahtarlarınızı korumak için aşağıdaki en iyi uygulamaları izleyin:
İmzalı Maps Static API ve Street View Static API istek URL'lerinizi, bir web sayfası sunarken veya mobil uygulamanızdan gelen bir isteğe yanıt verirken 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 mevcut URL isteği imzalama kod örneklerine bakın.
İmzalama gizli anahtarlarını uygulamanızın kaynak kodunun ve kaynak ağacının dışında saklayın. İmzalama gizli anahtarlarınızı veya diğer özel bilgilerinizi ortam değişkenlerine koyarsanız ya da ayrı olarak depolanan dosyaları dahil edip kodunuzu paylaşırsanız imzalama gizli anahtarları paylaşılan dosyalara dahil edilmez. İmzalama gizli anahtarlarını veya diğer özel bilgileri dosyalarda saklıyorsanız imzalama gizli anahtarlarınızı kaynak kodu kontrol sisteminizin dışında 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ı makaleleri inceleyin.
API anahtarlarını uygulamanızın kaynak kodunun veya kaynak ağacının dışında saklayın. API anahtarlarınızı veya diğer bilgilerinizi ortam değişkenlerine yerleştirir ya da ayrı olarak depolanan dosyaları dahil edip kodunuzu paylaşırsanız API anahtarları paylaşılan dosyalara dahil edilmez. Bu, özellikle GitHub gibi herkese açık bir kaynak kodu yönetim sistemi kullanıyorsanız önemlidir.
Google, web hizmeti API anahtarınızı yanlışlıkla kullanıma karşı korumak için Maps Platform'da kullanılan tüm anahtarlara API kısıtlamaları uygulamanızı önerir. Ayrıca, web hizmeti anahtarınıza IP adresi kısıtlamaları da uygulayarak anahtarın yanlışlıkla sızdırılması durumunda bile diğer kaynak IP adreslerinden yetkisiz kullanıma karşı korunmasına yardımcı olabilirsiniz.
Sunucu tarafı uygulamalar için OAuth'u kullanma
OAuth 2.0, erişim yetkisi için açık bir standarttır.
OAuth 2.0 protokolü, son kullanıcının bir uygulamaya kendi adına kişisel verilere erişme yetkisi verdiği kullanım alanlarını destekler. Maps Platform ile OAuth 2.0'ın kullanım amacı ise geliştiricinin, uygulamasının Google Cloud projesi hizmet hesabı adına bir API'yi çağırmasına yetki vermek için geçici erişim jetonlarından yararlanmasıdır. Bu işlem, hizmet hesabının izinleriyle gerçekleştirilir.
Hizmet hesaplarının çok geniş izinleri olabileceğinden, geliştiricinin güvenilir sunucu tarafı uygulamaları ile Google'ın Haritalar Platformu sunucuları arasındaki sunucudan sunucuya çağrıları yetkilendirmek için OAuth 2.0 kullanılması önerilir.
Son kullanıcı cihazlarında çalışan istemci tarafı uygulamalar için API anahtarları gibi diğer kimlik doğrulama yöntemleri önerilir.
Sunucular arası trafiği yetkilendirmek için OAuth 2.0'ı kullanmak istiyorsanız API belgelerinizde OAuth konusunu inceleyin.
Örneğin, Address Validation API için OAuth konusu aşağıda verilmiştir.
Güvenli istemci tarafı web hizmeti çağrıları
İstemci tarafı SDK'lar mevcut değilse 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 hizmet 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ı aktarmasına izin vermeyin.
Proxy sunucunuzda Google Haritalar Platformu yanıtlarını sonradan işleyin. Müşterinin ihtiyaç duymadığı verileri filtreleyin.
Proxy sunucu kullanma hakkında daha fazla bilgi için Living Vicariously: Using Proxy Servers with the Google Data API Client Libraries (Vekaleten Yaşama: Google Veri API'si İstemci Kitaplıkları ile Proxy Sunucuları Kullanma) başlıklı makaleye bakın.
Doğrudan mobil web hizmeti çağrılarını güvence altına alma
İstemci tarafı uygulamanız için güvenli bir proxy sunucusu ayarlayamıyorsanız aşağıdaki adımları uygulayarak uygulamanızın güvenliğini sağlayın:
HTTP üstbilgilerini kullanma:
Android:
X-Android-PackageveX-Android-CertHTTP üstbilgilerini kullanın.iOS:
X-Ios-Bundle-IdentifierHTTP üstbilgisini kullanın.
Android veya iOS anahtarınıza ilgili uygulama kısıtlamalarını ekleyin.
Doğrudan mobil uygulamanızdan bir Google Haritalar Platformu REST API web hizmetine çağrı yapmayı düşünmeden önce yanlış Android veya iOS uygulama tanımlayıcıları içeren isteklerin reddedildiğini doğrulayın.
Test edilen uç noktada Android ve iOS uygulama kısıtlamaları desteklenmiyorsa Google, kesinlikle mobil uygulama istemcileriniz ile Google Haritalar Platformu web hizmeti uç noktası arasında güvenli bir proxy sunucusu kullanmanızı önerir.
Android uygulamaları için 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 belgelerindeki Uygulama modülünü yapılandırma başlıklı makaleyi inceleyin.
X-Android-Packagedeğerini doğrudan uygulamanızdan iletmek içinContext.getPackageName()kullanarak programatik olarak arayın.X-Android-Certdeğerini doğrudan uygulamalarınızdan iletmek için uygulama imzalama sertifikalarınızın gerekli SHA-1 parmak izini hesaplayın. Bu parmak izinePackageInfo.signingInfoüzerinden erişebilirsiniz.Android uygulamanızı Google Cloud Console'u kullanarak yetkilendirirseniz kullanıcı arayüzünün, SHA-1 parmak izinin iki nokta üst üste ile ayrılmış bir dize (ör.
00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33) olmasını beklediğini unutmayın. Ancakgcloudaracı ve API Anahtarları API'si, onaltılık dizeyi sınırlayıcılar olmadan bekler.
iOS uygulamaları için ipuçları:
iOS uygulamanızı Google Haritalar Platformu hizmetleriyle entegre etmeden önce paket kimliğinizin doğru biçimlendirildiğini doğrulayın.
iOS uygulamanızı yetkilendirirken genellikle
X-Ios-Bundle-Identifierbaşlığında ana paketinizin paket kimliğini 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ı makaleleri inceleyin.
Tarayıcı tabanlı uygulamalarınızı bir sunucuda barındırma
Apache Cordova gibi çerçeveler, webview içinde çalışan çok platformlu hibrit 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.
Paketlenmiş kaynaklar, hibrit bir uygulamadan yerel olarak yüklenir veya yerel bir dosya URL'si kullanılarak erişilir. Bu kaynaklar, web görünümünüzü destekleyen tarayıcı motoru Referer başlığını göndermeyi atlayacağından çoğu durumda yönlendiren tabanlı yetkilendirmenin çalışmasını engeller. Bunu önlemek için web uygulamalarınızı istemci tarafında değil, sunucu tarafında barındırın.
Alternatif olarak, mobil uygulamalar için 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ü, yasal uygulamalar dışındaki kaynaklardan gelen trafiği engelleyerek uygulamanızdan Google Haritalar Platformu'na yapılan çağrılar için koruma sağlar. Bunu, bir onay sağlayıcıdan jeton olup olmadığını kontrol ederek yapar. 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 ücret ödemezsiniz.
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 bir şekilde kullanıldığını tespit ederseniz sorunu çözmek için aşağıdakileri yapın:
Anahtarlarınızı kısıtlayın: Birden fazla uygulamada aynı anahtarı kullandıysanız birden fazla API anahtarına geçiş yapın ve her uygulama için ayrı API anahtarları kullanın. Daha fazla bilgi için şu kaynaklara göz atın:
Yerler SDK'sı veya Maps JavaScript API kullanıyorsanız API anahtarınızın güvenliğini sağlamak için Uygulama Kontrolü'nü de kullanabilirsiniz.
Anahtarları yalnızca aşağıdaki durumlarda değiştirin veya rotasyona tabi tutun:
Kısıtlanamayan veya zaten kısıtlanmış olan anahtarlarda yetkisiz kullanım tespit ediyorsunuz ve Uygulama Kontrolü 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ı rotasyona tabi tutarken dikkatli olun bölümünü 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 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 Places API'yi (yeni) veya Places API'yi yetkilendirin. 1
Uygulamanız Maps JavaScript API kullanıyorsa anahtarınızda her zaman 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) Elevation Service Elevation API Geocoding Service Geocoding API Place sınıfı, Yer Adı Otomatik Tamamlama Widget'ı (Yeni) ve Yer Adı Otomatik Tamamlama Data API'si Places API (Yeni)2 Yer Kitaplığı, Yerler Hizmeti ve Yer Adı Otomatik 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'yi (yeni) mi yoksa Places API'yi (eski) mi yetkilendirmeniz gerektiğinden emin değilseniz Maps JavaScript API belgelerine bakın.
Bazı örnekler:
Android için Haritalar SDK'sı ve Android için Yerler SDK'sını kullandığınız için Android için Haritalar SDK'sı ve Places API'yi (yeni) API kısıtlamaları olarak eklersiniz.
Web siteniz Maps JavaScript API Elevation Service ve Maps Static API'yi kullandığından aşağıdaki API'lerin tümü için API kısıtlamaları eklersiniz:
- 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 son Google Haritalar Platformu hizmetlerini doğrudan HTTPS REST API veya gRPC üzerinden ç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ı kullanabilirsiniz.
2 Mobil uygulamalar için yerel Android için Yerler SDK'sı ve iOS için Yerler SDK'sı'nı kullanabilirsiniz.
3 Statik Web API kullanımını koruma başlıklı makaleyi de inceleyin.
Maps Embed API kullanan web siteleri
Maps Embed API'yi kullanmak ücretsiz olsa da diğer hizmetlerde kötüye kullanımı önlemek için kullanılan tüm 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 kısıtlayın. Bu kısıtlama, anahtarı yeterince güvence altına alarak başka bir Google hizmetinde yetkisiz kullanımını önler. Google, Maps Embed API anahtarınızın kullanılabileceği yerler üzerinde tam kontrol sahibi olmak için Web siteleri uygulama kısıtlamalarını da uygulamanızı önerir.
Maps Embed API kullanımınızı ayrı bir API anahtarına ayıramıyorsanız Web siteleri uygulama kısıtlamasını kullanarak mevcut anahtarınızın güvenliğini sağlayın.
Web hizmetlerini kullanan uygulamalar ve sunucular
Web hizmetlerini API anahtarlarıyla birlikte kullanan güvenilir kurumsal dahili ağlardaki sunucular ve istemci tarafı uygulamalar için IP addresses uygulama kısıtlamasını kullanın.
Şu API'leri kullanan uygulamalar ve sunucular için kullanın:
4 Mobil uygulamalar için Navigasyon SDK'sını kullanabilirsiniz.
5 Güvenli mobil kullanım için güvenli bir proxy sunucusu kullanın.
6 İstemci taraflı uygulamalar için platform tarafından sunulan yerel coğrafi konum hizmetini kullanmayı düşünün. Örneğin, web tarayıcıları için W3C Coğrafi Konum, Android için LocationManager veya çok kaynaklı konum sağlayıcı API ya da iOS için Apple Core Location çerçevesi.
7 Mobil uygulamalar için yerel Android için Yerler SDK'sı ve iOS için Yerler SDK'sı'yı kullanabilirsiniz.
8 İstemci tarafında güvenli kullanım için güvenli bir proxy sunucusu kullanın.
Android uygulamaları
Android'deki uygulamalar için Android apps uygulama kısıtlamasını kullanın. Bu SDK'ları kullanan uygulamalar için kullanın:
Ayrıca, gizli anahtarları Android manifest dosyasında saklamak yerine yerel bir dosyadan eklemek için Secrets Gradle eklentisini kullanarak API anahtarlarının yanlışlıkla sürüm denetimine eklenmesini önleyin.
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ı 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
- Google Haritalar Platformu ile ilgili 15 en iyi uygulama