Firebase için API anahtarlarını kullanma ve yönetme hakkında bilgi

API anahtarı, Firebase ve Google hizmetleriyle etkileşim kurarken istekleri Firebase projenize yönlendirmek için kullanılan benzersiz bir dizedir. Bu sayfada, API anahtarlarıyla ilgili temel bilgiler ve API anahtarlarını Firebase uygulamalarıyla kullanma ve yönetmeyle ilgili en iyi uygulamalar açıklanmaktadır.

API anahtarları ve Firebase hakkında genel bilgiler

Firebase API anahtarları, normal API anahtarlarından farklıdır

API anahtarlarının genellikle kullanılmasının aksine, Firebase hizmetleri için API anahtarları Arka uç kaynaklarına erişimi kontrol etmek için kullanılmaz; ancak gerçek zamanlı Firebase Security Rules ile (hangi son kullanıcıların kaynaklara erişebileceğini kontrol etmek için) ve Firebase App Check (hangi uygulamaların kaynaklara erişebileceğini kontrol etmek için).

Genellikle API anahtarlarını titizlikle korumanız gerekir (ör. bir şifreleme hizmeti kullanarak veya anahtarları ortam değişkenleri olarak ayarlayarak). Ancak Firebase hizmetlerinin API anahtarlarını koda veya kontrollü yapılandırma dosyalarına eklemenizde sakınca yoktur.

Firebase hizmetlerinin API anahtarlarını koda eklemek güvenli olsa da bunları inceleyip uygun kısıtlamaları ve sınırları uygulamanız gerekir.

API anahtarları oluşturma

Bir Firebase projesinin çok sayıda API anahtarı olabilir ancak her API anahtarı yalnızca tek bir Firebase projesiyle ilişkilendirilebilir.

Firebase uygulamaları için Firebase tarafından otomatik olarak oluşturulan API anahtarları

Aşağıdakilerden herhangi birini yaptığınızda Firebase, projeniz için otomatik olarak API anahtarları oluşturur: takip etmek için:

  • Firebase projesi oluşturma > Browser key otomatik olarak oluşturuldu
  • Firebase Apple uygulaması oluşturma > iOS key otomatik olarak oluşturuldu
  • Firebase Android uygulaması oluşturma > Android key otomatik olarak oluşturuldu
ziyaret edin.

Google Cloud konsolunda da kendi API anahtarlarınızı oluşturabilirsiniz. Örneğin, geliştirme veya hata ayıklama için. Bu özelliğin ne zaman önerilebileceği hakkında daha fazla bilgiyi bu sayfanın ilerleyen bölümlerinde bulabilirsiniz.

API anahtarlarınızı bulma

Projenizin tüm API anahtarlarını Google Cloud konsolundaki API'ler ve Hizmetler > Kimlik bilgileri panelinde görüntüleyebilir ve yönetebilirsiniz.

Hangi API anahtarının otomatik olarak bir Firebase uygulamasıyla eşleştirildiğini aşağıdaki yerlerde de bulabilirsiniz. Varsayılan olarak, projenizin aynı platformdaki (Apple, Android ve web) tüm Firebase uygulamaları aynı API anahtarını kullanır.

  • Firebase Apple Apps — Firebase'de otomatik eşleşen API anahtarını bulun GoogleService-Info.plist adlı yapılandırma dosyasını API_KEY alanı için geçerlidir.

  • Firebase Android Apps — Otomatik eşleşen API anahtarını google-services.json Firebase yapılandırma dosyasına current_key alanı için geçerlidir.

  • Firebase web uygulamaları: Otomatik olarak eşlenen API anahtarını Firebase yapılandırma nesnesinde, apiKey alanında bulun.

Bir API anahtarını kullanma

API anahtarları, etkileşimde bulunurken Firebase projenizi tanımlamak için kullanılır Firebase/Google hizmetleri. Bunlar özellikle API isteklerini ilişkilendirmek için kullanılır projenizle bağdaştırın. Ayrıca herkese açık verilere erişmek için de faydalıdırlar.

Örneğin bir API anahtarını, değerini REST'e geçirerek doğrudan kullanabilirsiniz. Sorgu parametresi olarak API çağrısı. Bu örnekte, Dynamic Links bağlantı kısaltıcı API'ye nasıl istek gönderebileceğiniz gösterilmektedir:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

Uygulamanız, mobil/web istemcisi tarafından sağlanan bir API anahtarı gerektiren bir Firebase API'sine çağrı yaptığında, projenizin API anahtarını otomatik olarak Firebase yapılandırma dosyasında/nesnesinde arar. Ancak, Uygulamanız için ortam da dahil olmak üzere farklı bir mekanizma kullanarak API anahtarları sağlayın değişkenlerine karşılık gelir.

API anahtarlarını inceleyip uygun kısıtlamaları uygulayın (önerilir)

Firebase hizmetleri için API anahtarının gizli olması durumunda, kısıtlamaları ve sınırları bu makalede açıklandığı şekilde inceleyip uygulamanız bölümüne ekleyin.

Firebase API anahtarlarınız için izin verilenler listesine otomatik olarak eklenen API'leri inceleyin

Firebase, projenizde bir API anahtarı oluşturduğunda bu anahtara otomatik olarak "API kısıtlamaları" ekler. Bu izin verilenler listesine eklenen API'ler, Firebase'le ilgili olan ve istemcinin çağrıyla birlikte bir API anahtarı sağlamasını gerektirir. Firebase hizmetlerinin kullanımı için gereken API'lerin çoğunun, API anahtarlarınızın izin verilenler listesinde olması gerekmediğini unutmayın.

Firebase, tüm Firebase hizmetleri için gerekli API'leri eklediğinden, API anahtarının izin verilenler listesi kullanmadığınız ürünlerin API'lerini içerebilir. İzin verilenler listesinden API'leri kaldırabilirsiniz ancak API'leri kaldırmamaya çok dikkat etmeniz gerekir. Firebase ve kullandığınız Firebase hizmetleri için gereken API'leri kaldırın (bkz. Firebase ile ilgili API'lerin listesi her hizmet / ürünün izin verilenler listesinde olması gerekir. Aksi halde Firebase hizmetleri çağrılırken hata alır.

Şifre tabanlı Authentication kullanıyorsanız kotayı daha da daraltın

Şifre tabanlı Firebase Authentication kullanıyorsanız ve API anahtarınız ele geçirilirse Firebase Security Rules tarafından korunan Firebase projenizin veritabanına veya Cloud Storage verilerine erişemez. Ancak Firebase'in kimlik doğrulama uç noktalarına erişmek ve projenizle ilgili kimlik doğrulama istekleri göndermek için API anahtarınızı kullanabilirler.

Kullanıcıların API anahtarının hatalı şekilde kullanılması ihtimalini azaltmak amacıyla, bir kaba kuvvet saldırısına maruz kalırsanız, şuranın varsayılan kotasını Normal trafiği yansıtacak identitytoolkit.googleapis.com uç nokta beklentilerini karşılayabileceksiniz. Bu kotayı ve uygulamanızı daraltırsanız aniden kullanıcı kazandığında, kotayı yükseltene kadar oturum açma hataları alabilirsiniz. Projenizin API kotalarını şuradan değiştirebilirsiniz: Google Cloud konsolu.

Firebase dışı tüm hizmetler için ayrı, kısıtlanmış API anahtarları kullanın

Firebase hizmetleri için kullanılan API anahtarlarının genellikle ele alınması gerekmese de olarak gizli hale getirmek için, kullandığınız API anahtarlarıyla ilgili bazı ek önlemler diğer Google Cloud API'leriyle yapabilirsiniz.

Firebase hizmeti/ürünü için olmayan bir Google Cloud API'yi (herhangi bir platformda) kullanıyorsanız bu API'lerle kullanmak üzere ayrı ve kısıtlanmış API anahtarları oluşturmanızı önemle tavsiye ederiz. Bu, API faturalandırılabilir bir Google Cloud hizmeti içinse özellikle önemlidir.

Örneğin, iOS'te Firebase ML ve Cloud Vision API'lerini kullanıyorsanız yalnızca Cloud Vision API'lerine erişmek için kullanacağınız ayrı API anahtarları oluşturmanız gerekir.

Firebase dışı API'ler için ayrı, kısıtlanmış API anahtarları kullanarak gerektiğinde anahtarları döndürebilir veya değiştirebilir ve Firebase hizmetlerini kullanmanızı kesintiye uğratmadan API anahtarlarına ek kısıtlamalar ekleyebilirsiniz.

Ortama özel API anahtarları kullan (önerilir)

Farklı ortamlar için farklı Firebase projeleri oluşturursanız (ör. her bir uygulama örneğinin kendi kendini geliştirme ve üretim ortamındaki ilgili Firebase projesi için geçerlidir. Örneğin, hazırlık uygulaması örneğiniz: hiçbir zaman üretim Firebase projenizle konuşmayın. Bu aynı zamanda sizin hazırlık uygulamasının, hazırlık Firebase projenizle ilişkili API anahtarlarını kullanması gerekir.

Geliştirme aşamasından hazırlık aşamasına koda API anahtarları eklemek yerine, bunları en üst düzeye çıkarmak için ortam değişkenlerini veya bunları bir yapılandırma dosyasına dahil etmenizi öneririz.

Firebase ML ile birlikte geliştirme için Firebase Local Emulator Suite kullanıyorsanız yalnızca hata ayıklama amaçlı bir API anahtarı oluşturmanız ve kullanmanız gerektiğini unutmayın. Bu tür bir anahtar oluşturmayla ilgili talimatları Firebase ML belgelerinde bulabilirsiniz.

SSS ve sorun giderme

SSS

Sorun giderme