Firebase için API anahtarları hakkında bilgi edinme ve bunları yönetme

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 Firebase uygulamalarında API anahtarlarını kullanma ve yönetmeyle ilgili en iyi uygulamalar açıklanmaktadır.

Google Cloud adresinden "Google Cloud projeniz için herkese açık bir Google API anahtarı" hakkında bir e-posta aldıysanız ve e-postada listelenen API anahtarı Firebase API anahtarınızsa API anahtarının aşağıdaki şartları karşıladığından emin olun. Böylece kodunuza veya yapılandırma dosyalarınıza güvenle dahil edebilirsiniz. Google Cloud konsolunun API'ler ve Hizmetler > Kimlik Bilgileri sayfasında aşağıdakileri doğrulayabilirsiniz.

  • Firebase uygulamanız için ve yalnızca Firebase hizmetlerinde kullandığınız API anahtarıdır. Bu tuşlar genellikle Browser key (auto created by Firebase), Android key (auto created by Firebase) veya iOS key (auto created by Firebase) olarak adlandırılır.
  • Anahtarın "API kısıtlamaları " izin verilenler listesinde gerekli tüm Firebase ile ilgili API'ler bulunur.
  • "API kısıtlamaları" izin verilenler listesinde başka API yoktur. Özellikle, listede Generative Language API olmamalıdır.

Ayrıca, kullandığınız Firebase ürünleri için Firebase Security Rules ve App Check'yi önerilen şekilde kullandığınızdan emin olun.

Firebase için API anahtarları hakkında ayrıntılı bilgi edinmek ve sık sorulan soruların listesini görmek için Firebase için API anahtarlarını kullanma ve yönetme hakkında bilgi edinin başlıklı makaleyi inceleyin.


Bu sayfanın geri kalanında, Firebase için API anahtarları hakkında ayrıntılı bilgiler ve bu anahtarlarla ilgili SSS listesi yer alı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 kullanım şeklinin aksine, 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 (ör. bir kasa hizmeti kullanarak veya anahtarları ortam değişkenleri olarak ayarlayarak). Ancak Firebase hizmetleri için API anahtarlarını koda veya kontrol edilen yapılandırma dosyalarına 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.

Realtime Database, Cloud Firestore ve Cloud Storage verilerinizi Firebase Security Rules kullanarak

API anahtarı oluşturma

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

Firebase tarafından Firebase uygulamalarınız için 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şturuldu
  • Firebase Apple uygulaması oluşturma > iOS key otomatik olarak oluşturuldu
  • Firebase Android uygulaması oluşturma > Android key otomatik olarak oluşturuldu

Google Cloud konsolunda kendi API anahtarlarınızı da oluşturabilirsiniz. Örneğin, geliştirme veya hata ayıklama için. Bu önerinin ne zaman gösterilebileceğ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 konsolunun API'ler ve Hizmetler > Kimlik Bilgileri sayfasında görüntüleyip yönetebilirsiniz.

Ayrıca, Firebase uygulamasıyla otomatik olarak eşlenen API anahtarını aşağıdaki yerlerde bulabilirsiniz. Varsayılan olarak, projenizin aynı platform için (Apple, Android veya web) tüm Firebase uygulamaları aynı API anahtarını kullanır.

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

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

  • Firebase Web Uygulamaları: Firebase yapılandırma nesnesinin apiKey alanında otomatik olarak eşleşen API anahtarını bulun.

Bir API anahtarını kullanma

Firebase API anahtarları, Firebase veya Google hizmetleriyle etkileşim kurarken Firebase projenizi tanımlamak için kullanılır. Özellikle, API isteklerini kota ve faturalandırma için projenizle ilişkilendirmek amacıyla kullanılırlar. Ayrıca herkese açık verilere erişmek için de kullanışlıdır.

Geliştiricilerin ve kullanım alanlarının büyük çoğunluğunda bu API anahtarlarıyla doğrudan etkileşim kurmazsınız. Bunun yerine, uygulamanız mobil veya web istemcisi tarafından sağlanan bir API anahtarı gerektiren bir Firebase API'sine çağrı yaptığında uygulamanız, uygulamanızın Firebase yapılandırmasında otomatik olarak bir API anahtarı arar. Bu yapılandırma, uygulamanızı Firebase'e bağladığınızda uygulamanızın kod tabanına eklenmiştir.

Uygulamanızın API anahtarını, Firebase seçenekleri veya ortam değişkenleri gibi farklı bir mekanizma kullanarak uygulamanızda sağlayabileceğinizi unutmayın.

Ayrıca, Firebase hizmetlerine yönelik REST API'lerin birkaçı için API anahtarının değerini çağrıya sorgu parametresi olarak açıkça iletmeniz gerekebilir. Bu örnekte, Firebase Authentication API'yi kullanarak nasıl istek gönderebileceğiniz gösterilmektedir:

https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY

API anahtarlarını inceleme ve uygun kısıtlamaları uygulama

Projenizdeki tüm API anahtarlarının bu bölümde açıklandığı şekilde uygun API kısıtlamalarına ve sınırlarına sahip olduğundan emin olmanız çok önemlidir.

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ı" ekleriz. Bu izin verilenler listesine eklenen API'ler, istemcinin çağrıyla birlikte bir API anahtarı sağlamasını gerektiren Firebase ile ilgili API'lerdir. Firebase hizmetlerini kullanmak için gereken API'lerin çoğunun API anahtarlarınızın izin verilenler listesinde olması gerekmez.

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 olan 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 hata alırsınız.

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

Şifre tabanlı Firebase Authentication kullanıyorsanız ve birisi API anahtarınızı ele geçirirse Firebase projenizin veritabanına veya Cloud Storage verilerine erişemez. Bu veriler Firebase Security Rules tarafından korunduğu sürece erişim mümkün değildir. Ancak API anahtarınızı kullanarak Firebase'in kimlik doğrulama uç noktalarına erişebilir ve projeniz için kimlik doğrulama istekleri gönderebilirler.

Bir kullanıcının kaba kuvvet saldırısı gerçekleştirmek 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 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 konsolunda değiştirebilirsiniz.

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

Firebase hizmetleri için kullanılan API anahtarlarının genellikle gizli tutulması gerekmese de diğer Google Cloud API'leriyle kullandığınız API anahtarları için 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ı, kısıtlanmış API anahtarları oluşturmanızı önemle tavsiye ederiz. API, ücretli bir Google Cloud hizmeti için kullanılıyorsa bu durum son derece önemlidir. Özellikle, herkese açık bir API anahtarı veya diğer hizmetler için kullanılan bir anahtarın izin verilenler listesine Gemini Developer API eklemeyin.

Firebase dışı API'ler için ayrı ve kısıtlanmış API anahtarları kullanarak, Firebase hizmetlerini kullanımınızı kesintiye uğratmadan gerektiğinde anahtarları değiştirebilir veya yenileyebilir ve API anahtarlarına ek kısıtlamalar ekleyebilirsiniz.

Ortama özgü API anahtarları kullanma

Hazırlık ve üretim gibi farklı ortamlar için farklı Firebase projeleri oluşturursanız her uygulama örneğinin ilgili Firebase projesiyle etkileşim kurması önemlidir. Örneğin, hazırlık uygulamanızın örneği hiçbir zaman üretim Firebase projenizle iletişim kurmamalıdır. Bu, hazırlık uygulamanızın hazırlık Firebase projenizle ilişkili API anahtarlarını kullanması gerektiği anlamına da gelir.

Kod değişikliklerini geliştirme aşamasından hazırlık ve üretim aşamalarına taşırken sorunları azaltmak için API anahtarlarını kodun içine eklemek yerine ortam değişkenleri olarak ayarlayın veya bir yapılandırma dosyasına ekleyin.

SSS ve sorun giderme

SSS

Sorun giderme