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

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 bilgilerin yanı sıra, API anahtarlarını Firebase uygulamalarıyla kullanmak ve yönetmek için 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 tipik olarak nasıl kullanıldığının aksine, Firebase hizmetleri için API anahtarları, arka uç kaynaklarına erişimi kontrol etmek 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 hizmetleri için API anahtarları, koda veya teslim edilen yapılandırma dosyalarına dahil edilebilir.

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

API anahtarları oluşturma

Bir Firebase projesinin 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 otomatik olarak projeniz için API anahtarları oluşturur:

  • Bir Firebase projesi oluşturun > Otomatik olarak oluşturulan Browser key
  • Bir Firebase Apple Uygulaması oluşturun > otomatik olarak oluşturulan iOS key
  • Bir Firebase Android Uygulaması oluşturun > otomatik olarak oluşturulan Android key

Ayrıca, örneğin geliştirme veya hata ayıklama için Google Cloud Console'da kendi API anahtarlarınızı oluşturabilirsiniz. Bu sayfada daha sonra bunun ne zaman önerilebileceği hakkında daha fazla bilgi edinin.

API anahtarlarınızı bulma

Google Cloud Console'daki API'ler ve Hizmetler > Kimlik Bilgileri panelinde projenizin tüm API anahtarlarını görüntüleyebilir ve yönetebilirsiniz.

Hangi API anahtarının bir Firebase Uygulaması ile otomatik olarak eşleştirildiğini aşağıdaki yerlerde de bulabilirsiniz. Varsayılan olarak, aynı platform için projenizin tüm Firebase Uygulamaları (Apple vs Android vs Web) aynı API anahtarını kullanır.

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

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

  • Firebase Web Uygulamaları - Bir uygulamanın otomatik eşleşen API anahtarını, apiKey alanındaki Firebase yapılandırma nesnesinde bulun.

API anahtarı kullanma

API anahtarları, Firebase/Google hizmetleriyle etkileşim kurarken Firebase projenizi tanımlamak için kullanılır. Spesifik olarak, kota ve faturalandırma için API isteklerini projenizle ilişkilendirmek için kullanılırlar. Ayrıca genel verilere erişmek için de kullanışlıdırlar.

Örneğin, değerini bir REST API çağrısına sorgu parametresi olarak ileterek bir API anahtarını 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, projenizin API anahtarı için otomatik olarak Firebase yapılandırma dosyasına/nesnesine bakar. Ancak, ortam değişkenleri dahil olmak üzere farklı bir mekanizma kullanarak API anahtarlarınızı ayarlayabilirsiniz.

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

Firebase hizmetleri için bir API anahtarını gizli olarak ele almak gerekli olmasa da, projenizi API anahtarının kötüye kullanımı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ın

Parola tabanlı Firebase Kimlik Doğrulaması kullanırsanız ve birileri 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 istekleri yapmak için API anahtarınızı kullanabilirler.

Birinin bir kaba kuvvet saldırısı girişiminde bulunmak için bir API anahtarını kötüye kullanma olasılığını azaltmak için, uygulamanızın normal trafik beklentilerini yansıtmak için identitytoolkit.googleapis.com uç noktalarının varsayılan kotasını daraltabilirsiniz. Bu kotayı daraltı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 Console'da değiştirebilirsiniz.

Belirli API türleri için ayrı, kısıtlanmış 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 vermek için kullanılan API anahtarlarıyla ilgili bazı ek önlemler almalısınız.

Firebase tarafından otomatik olarak etkinleştirilmeyen bir Google Cloud API'si (herhangi bir platformda) kullanıyorsanız (yani bunu kendiniz etkinleştirdiyseniz), bu API'lerle kullanım 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'lerine erişmek için kullandığınız ayrı API anahtarları oluşturmalısınız .

Firebase dışı API'ler için ayrı, kısıtlı 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)

Hazırlama ve üretim gibi farklı ortamlar için farklı Firebase projeleri ayarlarsanız, her uygulama örneğinin karşılık gelen Firebase projesiyle etkileşime girmesi önemlidir. Örneğin, hazırlama uygulaması örneğiniz asla ü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 gelir.

API anahtarlarını kodun kendisine dahil etmek yerine, geliştirmeden hazırlamaya ve üretime kadar kod değişikliklerini teşvik eden sorunları azaltmak için, 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 kullanıyorsanız, yalnızca hata ayıklama API anahtarı oluşturmanız ve kullanmanız gerektiğini unutmayın. Bu tür bir anahtar oluşturmaya yönelik talimatlar Firebase ML belgelerinde bulunur.

SSS