API güvenliğiyle ilgili en iyi uygulamalar

Google Haritalar Platformu API'lerini ve SDK'larını kullanan uygulamalar ve projeler için yetkisiz kullanımı ve ücretleri önlemek amacıyla API anahtarları veya destekleniyorsa Oauth kullanmanız gerekir. API anahtarları kullanıyorsanız maksimum güvenlik için API anahtarlarınızı oluştururken kısıtlayın. Bu en iyi uygulamalar, reklamların nasıl kısıtlanacağını gösterir.

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ını da uygulayın. Örneğin, aşağıdaki Önerilen uygulama ve API kısıtlamaları bölümündeki Maps JavaScript API'ye bakın.

API anahtarlarınız zaten kullanılıyorsa aşağıdaki Kullanımda olan bir API anahtarını kısıtlıyor veya yeniden oluşturuyorsanız bölümündeki önerileri inceleyin.

Dijital imzalar hakkında daha fazla bilgi için Dijital İmza Kılavuzu'na bakın.

Önerilen en iyi uygulamalar

Daha fazla güvenlik için ve yetkisiz kullanım nedeniyle faturalandırılmamak üzere tüm Google Haritalar Platformu API'leri, SDK'ları veya hizmetlerinde API güvenliğiyle ilgili şu en iyi uygulamaları izleyin:

API anahtarlarınızı kısıtlama

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ı yeniden oluştururken dikkatli olun

Statik Web API'lerini kullanan web siteleri için ek öneriler

Statik Web API'lerini kullanarak uygulamaları koruma

Web hizmetlerini kullanan uygulamalar için ek öneriler

Web hizmetlerini kullanarak uygulamaları koruma

iOS ve Android mobil uygulamaları için ek öneriler

Web Hizmeti veya Statik Web API'lerini kullanarak mobil uygulamaları koruma

Kullanımdaki bir API anahtarını kısıtlıyor veya yeniden oluşturuyorsanız

  • API anahtarını değiştirmeden önce API anahtarı kullanımınızı kontrol edin Bu adım, özellikle anahtar kullanıldıktan sonra kısıtlamalar ekliyorsanız önemlidir.

  • Anahtarı değiştirdikten sonra, tüm uygulamalarınızı gerektiğinde yeni API anahtarlarıyla güncelleyin.

  • API anahtarınızın aktif olarak kötüye kullanımı söz konusu değilse uygulamalarınızı kendi hızınıza göre birden fazla yeni API anahtarına taşıyabilirsiniz. Bunun ardından, API anahtarlarını bir uygulama kısıtlamasıyla kısıtlayabileceğiniz tek bir trafik türü görene kadar orijinal API anahtarına dokunmadan bırakabilirsiniz. Daha fazla talimat için Birden fazla API anahtarına geçiş yapma bölümüne bakın.

    Eski anahtarı kısıtlamaya veya silmeye karar vermeden önce zaman içindeki kullanımı izleyin ve belirli API'lerin, platform türlerinin ve alan adlarının eski API anahtarından ne zaman taşındığını görün. Daha fazla bilgi için Raporlama ve izleme ile 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 anahtarlar, müşteriler uygulamalarını güncelleyene kadar değiştirilmez. JavaScript'te veya web hizmeti uygulamalarında anahtar güncelleme veya değiştirme işlemleri çok daha basittir ancak yine de dikkatli planlama ve hızlı çalışma gerektirebilir.

    Daha fazla bilgi için Yetkisiz API anahtarı kullanımını ele alma bölümüne bakın.

API anahtarlarınızı kısıtlama

En iyi uygulama, API anahtarlarınızı her zaman bir uygulama kısıtlaması ve bir veya daha fazla API kısıtlaması ile kısıtlamaktır. API, SDK veya JavaScript hizmeti tarafından ö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ıtlaması API anahtarının kullanımını belirli platformlarla sınırlandırabilirsiniz: Android veya iOS uygulamaları, istemci tarafı uygulamalar için belirli web siteleri veya web hizmeti REST API çağrıları yayınlayan sunucu tarafı uygulamalar için belirli IP adresleri ya da CIDR alt ağları.

    Bir anahtarı, yetkilendirmek istediğiniz türlerde bir veya daha fazla uygulama kısıtlaması ekleyerek kısıtlarsınız. Sonrasında yalnızca bu kaynaklardan gelen isteklere izin verilir.

  • API kısıtlamaları API anahtarınızın kullanılabileceği Google Haritalar Platformu API'leri, SDK'ları veya hizmetlerini kısıtlayabilirsiniz. API kısıtlamaları yalnızca belirttiğiniz API ve SDK'lara yapılan isteklere izin verir. Herhangi bir API anahtarı için gerektiği kadar API kısıtlaması belirtebilirsiniz. Kullanılabilir API'lerin listesi, bir projede etkinleştirilen tüm API'leri içerir.

Bir API anahtarı için uygulama kısıtlaması ayarlama

  1. Google Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.

  2. Kısıtlamak istediğiniz API anahtarını seçin.

  3. API anahtarını düzenle sayfasında, Anahtar kısıtlamaları bölümünde Uygulama kısıtlaması ayarla'yı seçin.

    API anahtarı sayfasını düzenleyin

  4. Kısıtlama türlerinden birini seçin ve kısıtlama listesinin ardından 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 ve http'dir.
    • Protokol şeması, ana makine adı ve isteğe bağlı bağlantı noktası (ö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. www.alan.com adresini belirtirseniz www.alan.com/* joker karakter işlevi görür ve bu ana makine adındaki tüm alt yolları yetkilendirir.
    • Tam yol yönlendirenleri yetkilendirirken dikkatli olun. Örneğin, https://google.com/some/path. Varsayılan olarak, en güncel tarayıcılar çapraz kaynak isteklerinden yolu çıkarır.
    IP adresleri CIDR gösterimini kullanarak bir veya daha fazla IPv4 veya IPv6 adresi ya da alt ağ belirtin. IP adresleri, Google Haritalar Platformu sunucularının gözlemlediği kaynak adresiyle eşleşmelidir. Ağ adresi çevirisini (NAT) kullanıyorsanız bu adres genellikle makinenizin genel IP adresine karşılık gelir.
    Android uygulamaları Android paket adını (AndroidManifest.xml dosyasından) ve yetkilendirmek istediğiniz her Android uygulamasının SHA-1 imza sertifikası parmak izini ekleyin. Play Uygulama İmzalama'yı kullanıyorsanız imzalama sertifikası parmak izini getirmek için API Sağlayıcılarla Çalışma bölümüne bakın. Kendi imzalama anahtarınızı yönetiyorsanız Uygulamanızı kendi kendine imzalama konusuna bakın veya derleme ortamınıza yönelik talimatlara bakın.
    iOS uygulamaları Yetkilendirmek istediğiniz her iOS uygulamasının paket tanımlayıcısını ekleyin.

    Uygulama kısıtlamasıyla ilgili öneriler için Önerilen uygulama kısıtlaması sayfasına göz atın.

  5. Kaydet'i seçin.

Bir API anahtarı için API kısıtlamaları ayarlama

  1. Google Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.

  2. Kısıtlamak istediğiniz API anahtarını seçin.

  3. API anahtarını düzenle sayfasında, API kısıtlamaları altında:

    • Anahtarı kısıtla'yı seçin.

    • Select APIs'i (API'leri seç) 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'yi ya da SDK'yı etkinleştirme bölümüne bakın.

    API anahtarını düzenleme sayfasında bir API'yi kısıtlama

  4. Kaydet'i seçin.

    Kısıtlama, bu adımdan sonra 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ıtlarsanız veya bir anahtarın hangi API'leri kullandığını kısıtlayabilmek için bu anahtarları kullanmak isterseniz API anahtarı kullanımınızı kontrol edebilirsiniz. Bu adımlar, bir API anahtarının hangi hizmetlerde ve API yöntemlerinde kullanıldığını gösterir. Google Haritalar Platformu hizmetleri dışında herhangi bir kullanım görürseniz istenmeyen kullanımı önlemek için daha fazla kısıtlama eklemeniz gerekip gerekmediğini belirlemek amacıyla araştırma yapın. API anahtarınıza hangi API ve uygulama kısıtlamalarının uygulanacağını belirlemenize yardımcı olması için Google Haritalar Platformu Cloud Console Metrikleri gezginini kullanabilirsiniz:

API anahtarınızı kullanan API'leri belirleme

Aşağıdaki metrik raporları, API anahtarlarınızı kullanan API'leri belirlemenize olanak tanır. Bu raporları kullanarak aşağıdakileri yapabilirsiniz:

  • API anahtarlarınızın nasıl kullanıldığını görün
  • Beklenmeyen kullanımı tespit etme
  • Kullanılmayan anahtarın silinmesinin güvenli olup olmadığını doğrulamaya yardımcı olun. API anahtarını silme hakkında bilgi için Kullanılmayan API anahtarlarını silme bölümüne bakın.

API kısıtlamalarını 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 bölümüne bakın. Metrik gezginini kullanma hakkında daha fazla bilgi için Metrik gezginiyle grafik oluşturma bölümüne bakın.

  1. Google Cloud Console'da Metrik gezgini'ne gidin.

  2. Giriş yapın ve kontrol etmek istediğiniz API anahtarları için proje seçin.

  3. API türünüz için Metrik gezgini sayfasına gidin:

    • Haritalar Yerleştirme API'si hariç herhangi bir API kullanan API anahtarları için: Metrik gezgini sayfasına gidin.

    • Haritalar Embed API'yi kullanan API anahtarları için: Metrik Gezgini'ne gidin.

  4. Her API anahtarını inceleyin:

    1. FİLTRE EKLE'yi seçin.

    2. credential_id etiketini seçin.

    3. İncelemek istediğiniz anahtara karşılık gelen değeri seçin.

    4. Bu API anahtarının hangi API'ler için kullanıldığını not edin ve kullanımın beklendiğini onaylayın.

    5. Ardından, ekstra filtreyi silmek için etkin filtre satırının sonundaki Filtreyi kaldır seçin.

  5. Kalan anahtarlar için de bu işlemi tekrarlayın.

  6. API anahtarlarınızı yalnızca kullanılan API'lerle kısıtlayın.

  7. Yetkisiz kullanım tespit ederseniz API anahtarının yetkisiz kullanımını ele alma konusuna bakın.

Metrik gezginini 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 için doğrulama yapıp gerekli işlemleri yaptıktan sonra API anahtarının doğru uygulama kısıtlamalarına sahip olduğundan emin olun.

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 bölümünü inceleyin.

API anahtarınızda kısıtlama önerisi yoksa Metrik gezginini kullanarak raporlanan platform_type değerine göre uygulanacak uygulama kısıtlamasının türünü belirleyin:

  1. Google Cloud Console'da Metrik gezgini'ne gidin.

  2. Giriş yapın ve kontrol etmek istediğiniz API'ler için projeyi seçin.

  3. Şu Metrik gezgini sayfasına gidin: Metrik gezgini.

  4. Her API anahtarını inceleyin:

    1. FİLTRE EKLE'yi seçin.

    2. credential_id etiketini seçin.

    3. İncelemek istediğiniz anahtara karşılık gelen değeri seçin.

    4. Ardından, ekstra filtreyi silmek için etkin filtre satırının sonundaki Filtreyi kaldır seçin.

  5. Kalan anahtarlar için de bu işlemi tekrarlayın.

  6. API anahtarlarınız için platform türünü belirledikten sonra bu 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 şekilde kısıtlamak için anahtarda IP adresi kısıtlamalarına güvenmeniz gerekebilir. Maps Static API ve Street View Static API ile ilgili diğer seçenekler için Statik Web API'lerini kullanarak uygulamaları koruma sayfasını inceleyin. Maps Embed API ile ilgili diğer talimatlar için Haritalar Embed API'nin bulunduğu web siteleri için bakın.
    API anahtarım birden çok platform türü kullanıyor
    Trafiğinizin güvenliği tek bir API anahtarıyla gerektiği gibi sağlanamaz. Birden fazla API anahtarına geçmeniz gerekiyor. Daha fazla bilgi için Birden fazla API anahtarına geçiş yapma bölümüne bakın.

Her uygulama için ayrı API anahtarları kullanma

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üncellemenize gerek kalmadan etkilenen anahtarı silebilir veya yeniden oluşturabilirsiniz. Proje başına en fazla 300 API anahtarı oluşturabilirsiniz. Daha fazla bilgi için API anahtarı sınırları bölümüne bakın.

Uygulama başına bir API anahtarı güvenlik açısından ideal olsa da aynı türde uygulama kısıtlamasına sahip oldukları sürece kısıtlı anahtarları birden fazla uygulamada kullanabilirsiniz.

Önerilen API anahtarı kısıtlamalarını uygula

Google Cloud Console, bazı proje sahipleri ve düzenleyicileri için kısıtlanmamış API anahtarları için Google Haritalar Platformu kullanımlarına ve etkinliklerine göre belirli API anahtarı kısıtlamaları önerir.

Varsa öneriler, Google Haritalar Platformu Kimlik Bilgileri sayfasında önceden doldurulmuş seçenekler olarak görünür.

Öneri veya eksik öneri görmemenizin nedenleri

  • API anahtarını Google Haritalar Platformu hizmetleri dışında başka hizmetlerde de kullanıyorsunuzdur. Diğer hizmetlerde kullanım görürseniz önce aşağıdakileri yapmadan öneriyi uygulamayın:

    1. Google Cloud Console Metrik gezgininde gördüğünüz API kullanımının geçerli olduğunu doğrulayın.

    2. Eksik hizmetleri, yetkilendirilecek API'ler listesine manuel olarak ekleyin.

    3. API listesine eklenen hizmetler için eksik olan tüm uygulama kısıtlamalarını manuel olarak ekleyin. Eklediğiniz diğer anahtarlar farklı türde uygulama kısıtlamaları gerektiriyorsa Birden fazla API anahtarına taşıma bölümüne bakın.

  • API anahtarınız, istemci taraflı SDK'larda veya API'lerde kullanılmaz.

  • API anahtarını, son 60 gün içinde kullanılmamış düşük hacimli bir uygulama veya web sitesinde kullanıyorsanız.

  • Kısa süre önce yeni bir anahtar oluşturdunuz veya kısa süre önce mevcut bir anahtarı yeni bir uygulamada dağıttınız. Bu durumda önerilerin güncellenmesi için birkaç gün daha beklemeniz yeterlidir.

  • API anahtarını, çakışan uygulama kısıtlamaları türleri gerektirecek birden fazla uygulamada kullanıyorsunuz veya aynı API anahtarını çok fazla farklı uygulamada 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 bölümüne bakın.

Grafiklerde görünmeyen önerileri görmenizin nedenleri

  • Uygulamanız veya web siteniz yalnızca çok kısa trafik patlamaları gönderdi. Bu durumda, kullanım açıklamalarda hâlâ görünür olduğundan TABLO görünümünden TABLO'ya veya BOTH'a geçiş yapın. Daha fazla bilgi için Grafiğin tüm göstergelerini açma/kapatma bölümüne bakın.

  • Trafiğiniz Maps Embed API'den. Talimatlar için API anahtarınızı kullanan API'leri belirleme bölümüne bakın.

  • Uygulamadan veya web sitesinden gelen trafik, Google Cloud Console Metrik gezgininde bulunan tarih aralığının dışında.

  1. Google Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.

  2. Varsa Önerilen kısıtlamaları uygula'yı seçin.

    Önerilen kısıtlamaları uygula

    Not: Önerilen herhangi bir kısıtlama görmüyorsanız uygun kısıtlamaları ayarlamak için API anahtarı için API kısıtlamaları ayarlama konusuna bakın.

  3. 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ına bakın.

  4. Ö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 İyi Uygulama: Hizmetlerinizle ilişkili olmayan uygulama veya API kısıtlamalarını belgeleyip kaldırın. Beklenmeyen bir bağımlılık nedeniyle bir şeyler bozulursa gerekli uygulamaları veya API'leri tekrar ekleyebilirsiniz.

    • Önerinizde bir uygulama, web sitesi veya API'nin açıkça eksik olduğunu fark ederseniz manuel olarak ekleyin ya da önerinin güncellenmesi için birkaç gün bekleyin.

    • Önerdiğiniz öneriyle ilgili daha fazla yardıma ihtiyacınız olursa destek ekibiyle iletişime geçin.

  5. Uygula'yı seçin.

Başvurunuz bir öneri uygulandıktan sonra reddedilirse ne yapmalısınız?

Bir uygulamanın veya web sitesinin kısıtlama uyguladıktan sonra reddedildiğini fark ederseniz API yanıtı hata mesajına eklemeniz gereken uygulama kısıtlamasını bulun.

İstemci taraflı SDK'lar için aşağıya bakın:

Gerekli API kısıtlamalarınızı kontrol etmek için API anahtarınızı kullanan API'leri belirleme bölümüne bakın.

Hangi kısıtlamaların uygulanacağını belirleyemiyorsanız:

  1. Gelecekte referans olması için mevcut kısıtlamaları belgeleyin.
  2. 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.
  3. Gerekirse destek ekibiyle iletişime geçin.

Kullanılmayan API anahtarlarını silin

Bir API anahtarını silmeden önce bu anahtarın üretimde kullanılmadığından emin olun. Başarılı bir trafik yoksa anahtar büyük olasılıkla güvenle silinebilir. Daha fazla bilgi için API anahtarı kullanımınızı kontrol etme bölümüne bakın.

Bir API anahtarını silmek için:

  1. Google Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.

  2. Silmek istediğiniz API anahtarını seçin.

  3. Sayfanın üst kısmına yakın bir yerdeki Sil düğmesini seçin.

  4. Kimlik bilgisini sil sayfasında Sil'i seçin.

    Bir API anahtarının silinmesi birkaç dakika sürer. Yayılım tamamlandıktan sonra, silinen API anahtarını kullanan tüm trafik reddedilir.

API anahtarlarınızı yeniden oluştururken dikkatli olun

Bir API anahtarının yeniden oluşturulması, eski anahtarın tüm kısıtlamalarına sahip yeni bir anahtar oluşturur. Bu işlem ayrıca 24 saatlik bir zamanlayıcı başlatır. Bu sürenin sonunda eski API anahtarı silinir.

Bu süre zarfında hem eski hem de yeni anahtar kabul edilir. Böylece uygulamalarınızı yeni anahtarı kullanmak için taşıma şansınız olur. Ancak bu süre geçtikten sonra, eski API anahtarını kullanmaya devam eden tüm uygulamalar çalışmayı durdurur.

API anahtarını yeniden oluşturmadan önce:

  • Öncelikle API anahtarlarınızı, API anahtarlarınızı kısıtlama bölümünde açıklandığı şekilde 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 taşıma bölümünde açıklandığı şekilde birden fazla yeni (kısıtlanmış) anahtara geçiş yapın. Taşıma işlemi, yeni API anahtarlarına taşıma işlemini ve kullanıma sunma zaman çizelgesini kontrol etmenizi sağlar.

Yukarıdaki öneriler mümkün değilse ve yetkisiz kullanımı önlemek için API anahtarınızı yeniden oluşturmanız gerekiyorsa şu adımları uygulayın:

  1. Google Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.

  2. Yeniden oluşturmak istediğiniz API anahtarını açın.

  3. Sayfanın üst kısmında Anahtarı yeniden oluştur'u seçin.

  4. Anahtarı değiştir'i seçin.

Not: Gerekirse yeniden oluşturulan anahtarları önceki sürümüne geri yükleyebilirsiniz. Geri alma için herhangi bir süre sınırı yoktur.

Yeniden oluşturulan bir anahtarı geri çekmek için

  1. Google Cloud Console Google Haritalar Platformu Kimlik Bilgileri sayfasını açın.

  2. Geri almak istediğiniz API anahtarını açın.

  3. Önceki anahtara geri dön'ü seçin.

  4. Geri al iletişim kutusunda Anahtarı geri al'ı seçin.

Geri çekildiğinde, anahtarın eski "yeni" sürümü önceki sürüm olur ve bunun için yeni bir 24 saatlik devre dışı bırakma zamanlayıcısı ayarlanır. Anahtarı tekrar oluşturana kadar bu iki anahtar değeri arasında geçiş yapabilirsiniz.

Anahtarı tekrar oluşturursanız eski ve etkin olmayan anahtar değerinin üzerine yazılır.

Birden fazla API anahtarına taşıma

Birden fazla uygulama için tek bir API anahtarı kullanmaktan her uygulamada tek bir benzersiz API anahtarına geçiş yapmak için aşağıdakileri yapın:

  1. Hangi uygulamaların yeni anahtara ihtiyacı olduğunu belirleyin:

    • Kodun tamamını siz kontrol ettiğiniz için web uygulamaları en kolay şekilde güncellenir. Tüm web tabanlı uygulamalarınızın anahtarlarını güncellemeyi planlayın.
    • Yeni anahtarların kullanılabilmesi için müşterilerinizin uygulamalarını güncellemeleri gerektiğinden mobil uygulamalar çok daha zordur.
  2. 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 bölümüne bakın.

  3. Uygulamalarınıza yeni anahtarları ekleyin: Mobil uygulamalarda bu işlem, tüm kullanıcılarınızın yeni API anahtarıyla uygulamayı en son sürüme güncellemesine aylar sürebilir.

Statik Web API'leri kullanarak uygulamaları koruma

Maps Static API ve Street View Static API gibi Statik Web API'leri, web hizmeti API çağrılarına benzer.

Basit bir HTTPS REST API kullanarak her ikisini de çağırırsınız ve genellikle API istek URL'sini sunucuda oluşturursunuz. Bununla birlikte, Statik Web 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 sunucu değil, genellikle son kullanıcı istemcisidir.

Dijital imza kullanma

En iyi uygulama olarak, her zaman API anahtarıyla birlikte dijital imza kullanın. Ayrıca, günlük olarak izin vermek istediğiniz imzalanmamış istek sayısını 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ı koruyun

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 taraflı uygulamalarda kullanıma sunmayın. İmzalama gizli anahtarlarınızı korumak için şu en iyi uygulamaları izleyin:

  • İsteklerinizi istemcide değil, sunucu tarafında imzalayın. İmzalama istemci tarafını JavaScript'te yaparsanız bunu sitenizi ziyaret eden herkese açık hale getirirsiniz. Bu nedenle, dinamik olarak oluşturulan görüntüler için, web sayfasını sunarken her zaman 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 Şimdi URL imzalayın widget'ını kullanabilirsiniz.

  • İmzalama gizli anahtarlarını uygulamanızın kaynak kodu ve kaynak ağacının dışında depolayın. İmzalama gizli anahtarlarınızı veya diğer özel bilgilerinizi ortam değişkenlerine ya da ayrı olarak depolanan dosyaları dahil eder ve ardından kodunuzu paylaşırsanız imzalama gizli anahtarları paylaşılan dosyalara dahil edilmez. İmzalama gizli anahtarlarını veya başka gizli 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, GitHub gibi herkese açık bir kaynak kodu yönetim sistemi kullanıyorsanız özellikle önemlidir.

Web hizmetlerini kullanan uygulamalarda API anahtarınızı koruma

API anahtarlarını uygulamanızın kaynak kodunun veya kaynak ağacının dışında depolayın. API anahtarlarınızı veya diğer bilgileri ortam değişkenlerine ekler ya da ayrı olarak depolanan dosyalar ekler ve ardından kodunuzu paylaşırsanız API anahtarları paylaşılan dosyalara dahil edilmez. GitHub gibi herkese açık bir kaynak kodu yönetim sistemi kullanıyorsanız bu işlem özellikle önemlidir.

Web hizmetlerini veya Statik Web API'lerini kullanarak mobil uygulamalarda API anahtarınızı ve imzalama sırrınızı koruyun

Mobil uygulamaları korumak için güvenli bir anahtar deposu veya güvenli proxy sunucu kullanın:

  • API anahtarını veya imzalama gizli anahtarını güvenli bir anahtar deposunda saklayın. Bu adım, API anahtarlarını ve diğer gizli verileri doğrudan uygulamadan toplamayı zorlaştırır.

  • Güvenli bir proxy sunucusu kullanın. Proxy sunucu, uygun Google Haritalar Platformu API'si ile etkileşim için sağlam bir kaynak sağlar. Proxy sunucu kullanma hakkında daha fazla bilgi için Vicariious'ta Yaşam: Google Data API İstemci Kitaplıklarıyla Proxy Sunucuları Kullanma bölümüne bakın.

    • Proxy sunucuda Google Haritalar Platformu istekleri oluşturun. İstemcilerin, proxy üzerinden rastgele API çağrıları aktarmasına izin vermeyin.

    • Proxy sunucunuzda Google Haritalar Platformu yanıtlarının işlenmesinden sonra. İstemcinin ihtiyaç duymadığı verileri filtreleyin.

Yetkisiz API anahtarı kullanımını ele alma

API anahtarınızın izinsiz kullanıldığını tespit ederseniz sorunu çözmek için aşağıdakileri yapın:

  1. Anahtarlarınızı kısıtlayın: Aynı anahtarı birden fazla uygulamada 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 bölümlere bakın:

  2. Yalnızca onları kısıtlayamıyorsanız yeniden üretin. Devam etmeden önce API anahtarlarını yeniden oluştururken dikkatli olun bölümünü okuyun.

  3. Hâlâ sorun yaşıyorsanız veya yardıma ihtiyacınız varsa 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 Google Haritalar Platformu'nun tamamı için geçerlidir:

  • API anahtarınızı aşağıdaki istisnalar haricinde yalnızca kullandığınız API'lerle kısıtlayın:

    • Uygulamanız Android için Yerler SDK'sını veya iOS için Yerler SDK'sını kullanıyorsa Places API'yi yetkilendirin.

    • Uygulamanız Maps JavaScript API kullanıyorsa bunu anahtarınızda her zaman yetkilendirin.

    • Aşağıdaki Maps JavaScript API hizmetlerinden herhangi birini de kullanıyorsanız şu API'leri de yetkilendirmeniz gerekir:

    Hizmet API kısıtlaması
    Directions Hizmeti, Maps JavaScript API Directions API
    Distance Matrix Hizmeti, Maps JavaScript API Distance Matrix API
    Elevation Hizmeti, Maps JavaScript API Elevation API
    Geocoding Hizmeti, Maps JavaScript API Geocoding API
    Yerler Kitaplığı, Maps JavaScript API Places API

Bazı örnekler:

  • Android için Haritalar SDK'sını ve Android için Yerler SDK'sını kullandığınız için Android için Haritalar SDK'sını ve Places API'yi API kısıtlamaları olarak eklersiniz.

  • Web sitenizde Maps JavaScript API Elevation Service ve Maps Static API kullanıldığı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ı

Maps JavaScript API veya Static Web API içeren web siteleri

Maps JavaScript hizmetlerini veya Static Web API'lerini kullanan web siteleri için Websites uygulama kısıtlamasını kullanın.

Şu JavaScript hizmetlerini ve API'lerini kullanan web siteleri için kullanın:

1 Mobil uygulamalarda, yerel Android için Haritalar SDK'sı ve iOS için Haritalar SDK'sı kullanmayı düşünebilirsiniz.

2 Ayrıca bkz. Mobil uygulamaları web hizmetini veya Statik Web API'lerini kullanarak koruma.

Maps Embed API bulunan web siteleri

Maps Embed API'nin kullanımı ücretsiz olsa da, diğer hizmetlerin kötüye kullanımını engellemek için kullanılan API anahtarlarını kısıtlamanız gerekir.

En iyi uygulama: Maps Embed API için ayrı bir API anahtarı oluşturun ve bu anahtarı yalnızca Maps Embed API ile sınırlandırın. Bu kısıtlama, anahtarı yeterince güvenli bir şekilde koruyarak başka herhangi bir Google hizmetinde yetkisiz kullanımını önler.

Maps Embed API kullanımınızı ayrı bir API anahtarıyla ayıramıyorsanız Websites uygulama kısıtlamasını kullanarak anahtarınızı güvence altına alın.

Web hizmetlerini kullanan uygulamalar ve sunucular

Web hizmetlerini kullanan uygulamalar ve sunucular için IP addresses uygulama kısıtlamasını kullanın.

Şu API'leri kullanan uygulamalar ve sunucular için kullanın:

3 Mobil uygulamalarda Android için Yerler SDK'sı ve iOS için Yerler SDK'sını kullanabilirsiniz.

Android uygulamaları

Android'deki uygulamalar için Android apps uygulama kısıtlamasını kullanın. Şu SDK'ları kullanan uygulamalar ve sunucular için kullanın:

Ayrıca, gizli anahtarları Android Manifest'te depolamak yerine yerel bir dosyadan yerleştirmek için Secrets Gradle Eklentisi'ni kullanarak API anahtarlarının sürüm kontrolünde yanlışlıkla kontrol edilmesini önleyin.

iOS uygulamaları

iOS'teki uygulamalar için iOS apps uygulama kısıtlamasını kullanın. Şu SDK'ları kullanan uygulamalar ve sunucular için kullanın: