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 hizmetlerinin API anahtarları arka uç kaynaklarına erişimi kontrol etmek için kullanılmaz. Bu işlem yalnızca Firebase Security Rules (son kullanıcıların kaynaklara erişimini kontrol etmek için) ve Firebase App Check (uygulamaların kaynaklara erişimini kontrol etmek için) ile yapılabilir.

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 projesinde ç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ı

Firebase, aşağıdakilerden herhangi birini yaptığınızda 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 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 Uygulamaları: Otomatik olarak eşlenen API anahtarını Firebase yapılandırma dosyasında, GoogleService-Info.plist alanındaki API_KEY alanında bulun.

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

  • 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ı, Firebase/Google hizmetleriyle etkileşimde bulunurken Firebase projenizi tanımlamak için kullanılır. Daha açık belirtmek gerekirse, 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 yararlıdırlar.

Örneğin, değerini bir REST API çağrısına sorgu parametresi olarak göndererek API anahtarını açıkça kullanabilirsiniz. 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, ortam değişkenleri de dahil olmak üzere farklı bir mekanizma kullanarak uygulamanız için API anahtarları sağlayabilirsiniz.

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

Firebase hizmetleri için API anahtarını gizli olarak ele almak gerekli olmasa da bu bölümde açıklanan kısıtlamaları ve sınırları incelemeniz ve uygulamanız gerekir.

Firebase API anahtarlarınız için 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ı" ekler. 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 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. API'leri izin verilenler listesinden kaldırabilirsiniz ancak Firebase ve kullandığınız Firebase hizmetleri için gereken 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 hizmetlerini çağırırken hata alırsınız.

Şifre tabanlı Authentication kullanıyorsanız kotayı sıkılaştırı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.

Bir kişinin kaba kuvvet saldırısı denemek için API anahtarını kötüye kullanması 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ı alabilirsiniz. Projenizin API kotalarını Google Cloud konsolunda değiştirebilirsiniz.

Firebase dışı hizmetler 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 diğer Google Cloud API'leriyle kullandığınız API anahtarlarında bazı ek önlemler almanız gerekir.

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 özgü API anahtarları kullanın (önerilir)

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 aşamasındaki uygulama örneğiniz hiçbir zaman üretim Firebase projenizle iletişime geçmemelidir. Bu aynı zamanda, hazırlık aşamasındaki uygulamanızın hazırlık aşamasındaki Firebase projenizle ilişkili API anahtarlarını kullanması gerektiği anlamına gelir.

Kod değişikliklerini geliştirmeden hazırlık aşamasına ve üretime taşımayla ilgili sorunları azaltmak için API anahtarlarını koda dahil etmek yerine bunları ortam değişkeni 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 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 yer alır.

SSS ve sorun giderme

SSS

Sorun giderme