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

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

API anahtarları ve Firebase hakkında genel bilgiler

Firebase için API anahtarları, normal API anahtarlarından farklıdır.

API anahtarlarının genellikle kullanım şeklinden farklı olarak, Firebase hizmetleri için API anahtarları arka uç kaynaklarına erişimi kontrol etmek için kullanılmaz. Bu işlem yalnızca Firebase Security Rules (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) ile yapılabilir.

Genellikle API anahtarlarını titizlikle korumanız gerekir (örneğin, bir kasa hizmeti kullanarak veya anahtarları ortam değişkenleri olarak ayarlayarak). Ancak Firebase hizmetlerinin API anahtarlarını koda veya check-in yapılandırılmış dosyalara ekleyebilirsiniz.

Firebase hizmetleri için 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 projesinde birçok API anahtarı olabilir ancak her API anahtarı yalnızca tek bir Firebase projesiyle ilişkilendirilebilir.

Firebase uygulamalarınız 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:

  • Firebase projesi oluşturma > Browser key otomatik olarak oluşturulur
  • Firebase Apple uygulaması oluşturma > iOS key otomatik olarak oluşturulur
  • Firebase Android uygulaması oluşturma > Android key otomatik olarak oluşturulur

Ayrıca Google Cloud Console'da kendi API anahtarlarınızı da oluşturabilirsiniz. Örneğin, geliştirme veya hata ayıklama için. Bu önerinin ne zaman yapılabileceğ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üleyip yönetebilirsiniz.

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

  • Firebase Apple Uygulamaları: Otomatik olarak eşleştirilen API anahtarını Firebase yapılandırma dosyasındaki GoogleService-Info.plist alanında, API_KEY alanında bulabilirsiniz.

  • Firebase Android Uygulamaları: Otomatik olarak eşleştirilen API anahtarını Firebase yapılandırma dosyasındaki google-services.json alanında, current_key alanında bulabilirsiniz.

  • Firebase Web Uygulamaları: Otomatik olarak eşleştirilen API anahtarını apiKey alanındaki Firebase yapılandırma nesnesinde bulabilirsiniz.

Bir API anahtarını kullanma

API anahtarları, Firebase/Google hizmetleriyle etkileşimde bulunurken Firebase projenizi tanımlamak için kullanılır. Bu anahtarlar, özellikle kota ve faturalandırma için API isteklerini projenizle ilişkilendirmek amacıyla kullanılır. Ayrıca herkese açık verilere erişmek için de faydalıdır.

Örneğin, değerini bir REST API çağrısına sorgu parametresi olarak ileterek API anahtarını açıkça kullanabilirsiniz. Bu örnekte, Dynamic Links bağlantı kısaltma API'sine nasıl istekte bulunabileceğ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'sini çağırdığında projenizin API anahtarı için Firebase yapılandırma dosyası/nesnesine otomatik olarak bakar. Ancak, ortam değişkenleri de dahil olmak üzere farklı bir mekanizma kullanarak uygulamanız için API anahtarları sağlayabilirsiniz.

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

Firebase hizmetleri için API anahtarını gizli olarak değerlendirmek gerekli olmasa da bu bölümde açıklandığı gibi kısıtlamaları ve sınırları inceleyip uygulamanız gerekir.

Firebase API anahtarlarınızın izin verilenler listesine otomatik olarak eklenen API'leri inceleme

Firebase, projenizde bir API anahtarı oluşturduğunda bu anahtara otomatik olarak "API kısıtlamaları" ekleriz. Bu izin verilenler listesine eklenen API'ler, istemcinin çağrı ile birlikte bir API anahtarı sağlamasını gerektiren Firebase ile ilgili API'lerdir. 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, bir API anahtarının izin verilenler listesi, kullanmadığınız ürünlerin API'lerini içerebilir. API'leri izin verilenler listesinden kaldırabilirsiniz ancak Firebase ve kullandığınız Firebase hizmetleri için gerekli API'leri kaldırmamaya çok dikkat etmeniz gerekir (Her hizmet / ürün için izin verilenler listesinde olması gereken Firebase ile ilgili API'lerin listesine bakın). Aksi takdirde, Firebase hizmetlerine çağrı yaparken hatalarla karşılaşırsınız.

Şifre tabanlı Authentication kullanıyorsanız kotayı sıkılaştırın

Şifre tabanlı Firebase Authentication kullanıyorsanız ve birisi API anahtarınızı ele geçirirse bu veriler Firebase Security Rules ile korunduğu sürece Firebase projenizin veritabanı veya Cloud Storage verilerine erişemez. Ancak Firebase'in kimlik doğrulama uç noktalarına erişmek ve projenize karşı kimlik doğrulama istekleri yapmak için API anahtarınızı kullanabilirler.

Birinin kaba kuvvet saldırısı girişiminde bulunmak için API anahtarını kötüye kullanma olasılığını azaltmak amacıyla identitytoolkit.googleapis.com uç noktalarının varsayılan kotasını uygulamanızın normal trafik beklentilerini yansıtacak şekilde sıkılaştırabilirsiniz. Bu kotayı sıkılaştırırsanız ve uygulamanız aniden kullanıcı kazanırsa kotayı artırana kadar oturum açma hataları alabileceğinizi unutmayın. Projenizin API kotalarını Google Cloud konsolunda değiştirebilirsiniz.

Firebase dışı hizmetler için ayrı ve kısıtlanmış API anahtarları kullanın.

Firebase hizmetleri için kullanılan API anahtarlarının genellikle gizli olarak değerlendirilmesi gerekmez. Ancak diğer Google Cloud API'lerle kullandığınız API anahtarlarıyla ilgili bazı ek önlemler almanız gerekir.

Firebase hizmeti / ürünü için olmayan bir Google Cloud API'si (herhangi bir platformda) kullanıyorsanız bu API'lerle kullanılmak üzere ayrı ve kısıtlanmış API anahtarları oluşturmanızı önemle tavsiye ederiz. Bu durum, özellikle API'nin faturalandırılabilir Google Cloud bir hizmet için olması durumunda ö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ı ve kısıtlanmış API anahtarları kullanarak gerektiğinde anahtarları döndürebilir veya değiştirebilir ve Firebase hizmetlerini kullanmaya devam ederken API anahtarlarına ek kısıtlamalar ekleyebilirsiniz.

Ortama özgü API anahtarları kullanma (önerilir)

Hazırlık ve üretim gibi farklı ortamlar için farklı Firebase projeleri oluşturursanız her uygulama örneğinin kendi Firebase projesiyle etkileşimde bulunması önemlidir. Örneğin, hazırlama uygulamanızın hiçbir zaman üretim Firebase projenizle iletişim kurmaması gerekir. Bu aynı zamanda hazırlık uygulamanızın, hazırlık Firebase projenizle ilişkili API anahtarlarını kullanması gerektiği anlamına da gelir.

Geliştirmeden hazırlığa ve üretime kod değişikliklerinin tanıtımıyla ilgili sorunları azaltmak için API anahtarlarını kodun kendisine eklemek yerine ortam değişkenleri olarak ayarlayın veya bir yapılandırma dosyasına ekleyin.

Geliştirme için Firebase Local Emulator Suite ile birlikte Firebase ML kullanıyorsanız yalnızca hata ayıklama için kullanılabilen bir API anahtarı oluşturup 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