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

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ı kullanmaya ve yönetmeye yönelik en iyi uygulamalar açıklanmaktadır.

API anahtarları ve Firebase hakkında genel bilgiler

Firebase için API anahtarları tipik API anahtarlarından farklıdır

API anahtarlarının genel kullanımından farklı olarak Firebase hizmetlerine yönelik API anahtarları, arka uç kaynaklarına erişimi denetlemek için kullanılmaz ; bu yalnızca Firebase Güvenlik Kuralları (hangi kullanıcıların kaynaklara erişebileceğini kontrol etmek için) ve Uygulama Kontrolü (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 hizmetlerine ilişkin API anahtarlarının koda veya teslim edilen yapılandırma dosyalarına eklenmesi uygundur.

Firebase hizmetlerine ilişkin API anahtarlarının koda dahil edilmesi güvenli olsa da, API anahtarınız için sınırlar uygulamanız gereken birkaç özel durum vardır; örneğin, Firebase ML, e-posta/şifre ile oturum açma yöntemiyle Firebase Authentication veya faturalandırılabilir bir Google Cloud API kullanıyorsanız. Bu vakalar hakkında daha sonra bu sayfada daha fazla bilgi edinebilirsiniz.

API anahtarları oluşturma

Bir Firebase projesinin birçok API anahtarı olabilir, ancak her bir 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şturun > Otomatik olarak oluşturulan Browser key
  • Firebase Apple Uygulaması oluşturun > Otomatik olarak oluşturulan iOS key
  • Firebase Android Uygulaması oluşturun > Otomatik olarak oluşturulan Android key

Ayrıca, örneğin geliştirme veya hata ayıklama amacıyla Google Cloud konsolunda kendi API anahtarlarınızı da oluşturabilirsiniz. Bunun daha sonra ne zaman önerilebileceği hakkında daha fazla bilgiyi bu sayfada 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.

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ı platforma yönelik tüm Firebase Uygulamaları (Apple, Android ve Web) aynı API anahtarını kullanacaktır.

  • Firebase Apple Apps — Bir uygulamanın otomatik olarak eşleşen API anahtarını, API_KEY alanındaki Firebase yapılandırma dosyasındaki GoogleService-Info.plist bulun.

  • Firebase Android Uygulamaları — Bir uygulamanın otomatik olarak eşleşen API anahtarını Firebase yapılandırma dosyasında ( google-services.json current_key alanında bulun.

  • Firebase Web Apps — Bir uygulamanın otomatik olarak eşleşen API anahtarını apiKey alanındaki Firebase yapılandırma nesnesinde bulun.

API anahtarı kullanma

API anahtarları, Firebase/Google hizmetleriyle etkileşimde bulunurken Firebase projenizi tanımlamak için kullanılır. Özellikle kota ve faturalandırma amacıyla API isteklerini projenizle ilişkilendirmek için kullanılırlar. Ayrıca genel verilere erişim açısından da faydalıdırlar.

Örneğin, bir API anahtarını, değerini bir REST API çağrısına sorgu parametresi olarak ileterek açıkça kullanabilirsiniz. Bu örnek , Dinamik Bağlantılar bağlantı kısaltıcı API'sine nasıl istekte bulunabileceğinizi gösterir:

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

Uygulamanız bir Firebase API'sine çağrı yaptığında uygulamanız, projenizin API anahtarı için otomatik olarak Firebase yapılandırma dosyasına/nesnesine bakacaktır. Ancak API anahtarlarınızı ortam değişkenleri de dahil olmak üzere farklı bir mekanizma kullanarak ayarlayabilirsiniz.

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

Firebase hizmetleri için bir API anahtarını sır olarak ele almak gerekli olmasa da, projenizi API anahtarının kötüye kullanılmasından korumak için ek önlemler almak isteyebileceğiniz bazı özel durumlar (aşağıya bakın) vardır.

Parola tabanlı Kimlik Doğrulama kullanıyorsanız kotayı sıkılaştırın

Şifre tabanlı Firebase Kimlik Doğrulaması kullanıyorsanız ve birisi API anahtarınızı ele geçirirse, bu veriler Firebase Güvenlik Kuralları tarafından korunduğu sürece Firebase projenizin veritabanına veya Bulut Depolama verilerine erişemez . Ancak Firebase'in kimlik doğrulama uç noktalarına erişmek ve projenize karşı kimlik doğrulama isteklerinde bulunmak için API anahtarınızı kullanabilirler.

Birisinin kaba kuvvet saldırısı girişiminde bulunmak amacıyla bir API anahtarını kötüye kullanması olasılığını azaltmak için, 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ırıncaya kadar oturum açma hataları alabileceğinizi unutmayın. Projenizin API kotalarını Google Cloud konsolunda değiştirebilirsiniz.

Belirli API türleri için ayrı, kısıtlı API anahtarları kullanın

Firebase hizmetleri için kullanılan API anahtarlarının genellikle gizli olarak ele alınması gerekmese de, manuel olarak etkinleştirdiğiniz Google Cloud API'lerine erişim izni vermek için kullanılan API anahtarlarıyla ilgili bazı ekstra önlemler almanız gerekir.

Firebase tarafından otomatik olarak etkinleştirilmeyen bir Google Cloud API (herhangi bir platformda) kullanıyorsanız (yani bunu kendiniz etkinleştirdiyseniz), bu API'lerle kullanmak için ayrı, kısıtlı API anahtarları oluşturmayı düşünmelisiniz. API faturalandırılabilir bir Google Cloud hizmeti içinse bu özellikle önemlidir.

Örneğin, iOS'ta Firebase ML'nin Cloud Vision API'lerini kullanıyorsanız yalnızca Cloud Vision API'lere erişim için kullandığınız ayrı API anahtarları oluşturmalısınız .

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 kullanımınızı kesintiye uğratmadan API anahtarlarına ek kısıtlamalar ekleyebilirsiniz .

Ortama özel API anahtarlarını kullanın (önerilir)

Aşama ve üretim gibi farklı ortamlar için farklı Firebase projeleri oluşturursanız her uygulama örneğinin, karşılık gelen Firebase projesiyle etkileşime girmesi önemlidir. Örneğin, hazırlama uygulaması örneğiniz hiçbir zaman üretim Firebase projenizle konuşmamalıdır. Bu aynı zamanda hazırlama uygulamanızın, hazırlama Firebase projenizle ilişkili API anahtarlarını kullanması gerektiği anlamına da gelir.

Geliştirmeden aşamalandırmaya ve üretime kadar kod değişikliklerini teşvik eden sorunları azaltmak için, API anahtarlarını kodun kendisine dahil etmek yerine, bunları ortam değişkenleri olarak ayarlayın veya bir yapılandırma dosyasına ekleyin.

Firebase ML ile birlikte geliştirme için Firebase Local Emulator Suite'i kullanıyorsanız, yalnızca hata ayıklama amaçlı bir API anahtarı oluşturup kullanmanız gerektiğini unutmayın. Bu tür bir anahtarın oluşturulmasına ilişkin talimatlar Firebase ML belgelerinde bulunur.

SSS