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ıtlayabilirsiniz. Bu en iyi uygulamalar, bunların nasıl kısıtlanacağını gösterir.

Uygulama ve API anahtarı kısıtlamalarının yanı sıra belirli Google Haritalar Platformu ürünleri için geçerli olan tüm güvenlik uygulamalarını izleyin. Örneğin, aşağıdaki Ö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 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 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

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

Uygulamaları Statik Web API'lerini kullanarak 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ı yoksa uygulamalarınızı kendi hızınıza göre birden fazla yeni API anahtarına taşıyabilirsiniz. Bu durumda, tek bir trafik türü görene kadar orijinal API anahtarına dokunulmaz. Daha sonra, API anahtarlarını uygulama kısıtlamasıyla kısıtlayabilirsiniz. Daha fazla talimat için Birden fazla API anahtarına geçiş bölümüne bakın.

    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 ile Metrikler bölümlerine bakın.

  • API anahtarınızın güvenliği ihlal edilmişse 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. JavaScript'te veya web hizmeti uygulamalarında anahtarları güncellemek veya değiştirmek çok daha basittir ancak yine de dikkatli bir planlama ve hızlı çalışma gerektirebilir.

    Daha fazla bilgi için API anahtarı kullanımını yetkisiz şekilde 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'lerini, SDK'larını 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üzenleme sayfasında, Anahtar kısıtlamalar bölümünde Uygulama kısıtlaması ayarla'yı seçin.

    API anahtarı sayfasını düzenleme

  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 karakteri olarak işlev görür ve bu ana makine adındaki tüm alt yolları yetkilendirir.
    • En güncel tarayıcılar varsayılan olarak çapraz kaynak isteklerinden yolu çıkardığından, tam yol yönlendirenlerini (ör. https://google.com/some/path) yetkilendirirken dikkatli olun.
    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 adresle eşleşmelidir. Ağ adresi çevirisi (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 imzalama 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ızın talimatlarına bakın.
    iOS uygulamaları Yetkilendirmek istediğiniz her iOS uygulamasının paket tanımlayıcısını ekleyin.

    Uygulama kısıtlaması önerileri için Önerilen uygulama kısıtlaması sayfasını inceleyin.

  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.

    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 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 kısıtlayabilmek için bir anahtarın hangi API'leri kullandığını görmek 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ı 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ö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 projeyi 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. Bittiğinde ekstra filtreyi silmek için etkin filtre satırının sonundaki Filtreyi kaldır tıklayın.

  5. Kalan tuşlar için de aynı 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 bölümüne 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ında doğru uygulama kısıtlamalarının bulunduğundan da 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üne bakın.

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. Bu 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. Bittiğinde ekstra filtreyi silmek için etkin filtre satırının sonundaki Filtreyi kaldır tıklayın.

  5. Kalan tuşlar için de aynı işlemi tekrarlayın.

  6. API anahtarlarınızın 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ı uygulama.
    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ı doğru ş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 bölümüne bakın. Maps Embed API ile ilgili diğer talimatlar için Haritalar Embed API'nin bulunduğu web siteleri.
    API anahtarım birden fazla platform türü kullanıyor
    Trafiğiniz tek bir API anahtarıyla düzgün bir şekilde korunamaz. Birden fazla API anahtarına geçiş yapmanız gerekiyor. Daha fazla bilgi için Birden çok API anahtarına taşıma bölümüne bakın.

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ü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 anahtarlarıyla ilgili sınırlar bölümüne bakın.

Uygulama başına bir API anahtarı güvenlik amacıyla ideal olsa da aynı tür uygulama kısıtlaması olduğu sürece kısıtlanmış anahtarları birden fazla uygulamada kullanabilirsiniz.

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

Google Cloud Console, bazı proje sahipleri ve düzenleyicilerine, Google Haritalar Platformu kullanım ve etkinliklerine göre kısıtlanmamış API anahtarları için 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örememenizin 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 uygulama kısıtlamalarını manuel olarak ekleyin. Eklediğiniz diğer öğeler 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 tarafı 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.

  • Çok 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 türde uygulama kısıtlamaları gerektiren birden fazla uygulamada kullanıyorsunuz veya aynı API anahtarını çok sayıda 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 çok API anahtarına taşıma bölümüne bakın.

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 hâlâ açıklamada görüneceği için GRAFİK görünümünden TABLO'yu veya BOTH'u görüntülemek üzere geçiş yapın. Daha fazla bilgi için Grafiğin tüm göstergelerini açma/kapatma konusuna bakın.

  • Trafiğiniz Maps Embed API'den gelir. 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 kısıtlama görmüyorsanız uygun kısıtlamaları ayarlamak için API anahtarı için API kısıtlamaları ayarlama bölümüne 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ğinden emin olun.

    En İyi Uygulama: Hizmetlerinizle ilişkili olmayan tüm uygulama veya API kısıtlamalarını belgeleyip kaldırın. Beklenmedik bir bağımlılık nedeniyle bir şey bozulursa gerekli uygulamaları veya API'leri tekrar ekleyebilirsiniz.

    • Önerinizde bir uygulama, web sitesi veya API'nin açıkça eksik olduğunu fark ederseniz bunu 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.

Öneri uygulandıktan sonra başvurunuz reddedilirse ne yapmalısınız?

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

İstemci tarafı 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ı sil

Bir API anahtarını silmeden önce, anahtarın üretimde kullanılmadığından emin olun. Başarılı 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ındaki Sil düğmesini seçin.

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

    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, ardından eski API anahtarı silinir.

Bu süre zarfında hem eski hem de yeni anahtar kabul edilir. Bu sayede uygulamalarınızı yeni anahtarı kullanacak şekilde taşıyabilirsiniz. Ancak bu süre geçtikten sonra, eski API anahtarını kullanmaya devam eden 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ığı gibi 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ığı gibi birden çok yeni (kısıtlanmış) anahtara geçiş yapın. Taşıma işlemi, yeni API anahtarlarına taşıma ve geçiş zaman çizelgesini kontrol etmenize olanak tanır.

Önceki ö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ından Anahtarı yeniden oluştur'u seçin.

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

Not: Gerekirse önceki sürümünde yeniden oluşturulan anahtarları geri alabilirsiniz. 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 alma yapıldığında anahtarın önceki "yeni" sürümü, önceki sürüm olur ve bunun için 24 saatlik yeni bir 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 etkin olmayan anahtar değerinin üzerine yazılır.

Birden fazla API anahtarına taşıma

Birden fazla uygulamada 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 güncellenir. Web tabanlı uygulamalarınızın tüm 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 ekleme: Mobil uygulamalarda bu işlem, tüm kullanıcılarınız yeni API anahtarını kullanarak en son uygulamaya güncelleme yapmak için birkaç ay sürebilir.

Statik Web API'lerini kullanarak uygulamaları 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 basit bir HTTPS REST API kullanarak çağırırsınız ve genellikle API istek URL'sini sunucuda oluşturursunuz. Ancak Statik Web API'leri bir 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ına ek olarak dijital imzalar kullanın. Ayrıca, günlük olarak izin vermek istediğiniz imzalanmamış istek sayısını inceleyin 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ı 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 tarafı uygulamalarda açığa çıkarmayı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 resimler 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 kodunun ve kaynak ağacının dışında saklayın. İmzalama gizli anahtarlarınızı veya başka özel bilgileri ortam değişkenlerine ya da ayrı olarak depolanan dosyaları dahil edip daha sonra kodunuzu paylaşırsanız imzalama gizli anahtarları paylaşılan dosyalara dahil edilmez. Dosyalarda imzalama gizli anahtarları veya başka gizli bilgiler depoluyorsanı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 kodu veya kaynak ağacının dışında depolayın. API anahtarlarınızı veya diğer bilgileri ortam değişkenlerine koyar ya da ayrı olarak depolanan dosyaları dahil edip kodunuzu paylaşırsanız API anahtarları paylaşılan dosyalara dahil edilmez. Bu, GitHub gibi herkese açık bir kaynak kodu yönetim sistemi kullanıyorsanız özellikle önemlidir.

Web hizmetlerini veya Statik Web API'lerini kullanarak mobil uygulamalardaki API anahtarınızı ve imzalama gizli anahtarınızı koruyun

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

  • API anahtarını veya imzalama gizli anahtarını güvenli bir anahtar deposunda depolayın. Bu adım, API anahtarlarını ve diğer özel verileri doğrudan uygulama üzerinden kazımayı 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 Hayatı Kolaylaştırma: Google Veri API'si İstemci Kitaplıklarıyla Proxy Sunucuları Kullanma bölümüne bakın.

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

    • Google Haritalar Platformu yanıtlarını proxy sunucunuzda sonradan işleyin. İstemcinin ihtiyaç duymadığı verileri filtreleyin.

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:

  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 oluşturun. 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ı gösterilmektedir.

Ö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:

  • Aşağıdaki istisnalar haricinde, API anahtarınızı 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'yi kullanıyorsa bu API'yi anahtarınızda her zaman yetkilendirin.

    • Aşağıdaki Maps JavaScript API hizmetlerinden herhangi birini de kullanıyorsanız aşağıdaki 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 siteniz Maps JavaScript API Elevation Service'i 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ı

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'larını kullanan web siteleri için kullanın:

1 Mobil uygulamalarda, yerel Android için Haritalar SDK'sını ve iOS için Haritalar SDK'sını kullanabilirsiniz.

2 Web hizmetini veya Statik Web API'lerini kullanarak mobil uygulamaları koruma bölümüne de bakın.

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 tüm 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 kısıtlayın. Bu kısıtlama, anahtarı yeterince güvenli hale getirerek diğer Google hizmetlerinde yetkisiz kullanımını önler.

Maps Embed API kullanımınızı ayrı bir API anahtarına ayıramıyorsanız Websites uygulama kısıtlamasını kullanarak anahtarınızı güvenli hale getirin.

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ını 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 eklemek için Secrets Gradle Eklentisi'ni kullanarak API anahtarlarının sürüm kontrolüne 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: