Bir API'yi doğrudan mobil veya web uygulamasından çağırdığınızda (ör. üretken yapay zeka modellerine erişime izin veren API'ler) API, yetkisiz istemciler tarafından kötüye kullanıma açık hâle gelir. Bu API'lerin kötüye kullanımını önlemek için Firebase App Check kullanarak gelen tüm API çağrılarının gerçek uygulamanızdan ve üzerinde değişiklik yapılmamış bir cihazdan geldiğini doğrulayabilirsiniz.
Firebase AI Logic, Firebase App Check ile entegrasyon yapmanıza ve mobil ile web uygulamalarınız tarafından çağrılan üretken yapay zeka modeli API'lerini korumanıza olanak tanıyan bir proxy ağ geçidi sağlar. App Check ile Firebase AI Logic SDK'ları kullanmak tüm yapılandırmalarımızı destekler:
Hem "Gemini API" sağlayıcılarını (Gemini Developer API) hem de Vertex AI Gemini API korur.
Hem Gemini hem de Imagen modelleri dahil olmak üzere desteklenen tüm modelleri korur.
App Check ayrıca tekrar oynatma korumasını da destekler. Bu, App Check jetonunun yalnızca bir kez kullanılabileceği anlamına gelir.
App Check'nın işleyiş şeklinin üst düzey özeti
App Check ile uygulamanızı çalıştıran cihazlar, aşağıdakilerden birini veya her ikisini de doğrulayan bir uygulama ya da cihaz onayı sağlayıcısı kullanır:
- İstekler, orijinal uygulamanızdan gelmelidir.
- İstekler, orijinal ve kurcalanmamış bir cihazdan kaynaklanıyor
Bu onay, uygulamanızın Firebase AI Logic SDK'sını kullanarak yaptığı her isteğe eklenir. App Check zorunlu kılındığında, geçerli bir onay içermeyen istemcilerden gelen istekler ve yetkilendirmediğiniz bir uygulama veya platformdan kaynaklanan tüm istekler reddedilir.
App Check'yı ayarlarken App Check jetonlarını yalnızca bir kez kullanılabilir hale getiren tekrar oynatma koruması eklemeyi düşünebilirsiniz. Bu seçenek, temel korumanın ötesinde gelişmiş koruma sunar ve uygulamanız ile kullanım alanlarınız için uygun bir koruma düzeyi belirlemenize olanak tanır.
App Check hakkında ayrıntılı bilgiyi, kotaları ve sınırları da dahil olmak üzere dokümanlarında bulabilirsiniz.
App Check ayarlarını yapın
App Check belgelerinde, onay sağlayıcıların ayrıntılı açıklamalarının yanı sıra ayrıntılı uygulama talimatları yer alır.
Bir onay sağlayıcı seçin ve aşağıdaki bağlantılarda yer alan uygulama talimatlarını uygulayın:
- Apple platformları: DeviceCheck veya App Attest
- Android: Play Integrity
- Web: reCAPTCHA Enterprise
- Flutter:
Yukarıdaki tüm varsayılan sağlayıcıları destekler. Daha eski eklenti sürümlerini kullanıyorsanız Flutter ve App Check için aşağıdaki özel örnekleme hakkındaki nota bakın. - Unity: Yukarıdaki tüm varsayılan sağlayıcıları destekler.
Bu onay sağlayıcıların hiçbiri ihtiyaçlarınızı karşılamıyorsa üçüncü taraf onay sağlayıcı veya kendi onay tekniklerinizi kullanan özel bir sağlayıcı uygulayabilirsiniz.
(Zorunlu) Uygulamanızı herkese açık bir kaynak kodu kontrol sistemine göndermeden, paylaşmadan veya herkese açık hale getirmeden önce App Check yaptırımını etkinleştirin.
(Önerilir) Yeniden oynatma koruması ekleyerek korumayı artırın. Bu, App Check jetonunun yalnızca bir kez kullanılabileceği anlamına gelir.
App Check zorunlu kılındığında yerel geliştirme için App Check'nın zorunlu kılınmasını korurken onaylamayı atlamak üzere App Check hata ayıklama sağlayıcısını yapılandırın. Platformunuzla ilgili kurulum talimatlarına bakın: iOS+ | Android | Web | Flutter | Unity.
Tekrar oynatma koruması ekleyerek korumayı artırma
|
En yeni SDK sürümlerini kullanmanızı öneririz ancak
tekrar oynatma korumasını kullanmak için bu sürümlerden en az birini kullandığınızdan emin olun: Apple platformları v12.2.0+ | Android BoM v34.14.0+ (App Check v19.1.0+) | Web v12.14.0+ | Flutter v4.15.0+ (App Check v4.10.0+) | Unity v13.12.0+ |
Varsayılan olarak App Check,
Ancak tek kullanımlık jetonlar kullanan yeniden oynatma korumasını zorunlu kılarak korumayı bu temel korumanın ötesine taşıyabilirsiniz. Yeniden oynatma koruması zorunlu kılındığında şunlar olur:
App Check, oturum jetonları kullanan Firebase AI Logic isteklerini engeller. Bunun yerine, App Check yalnızca yeni oluşturulmuş sınırlı kullanım jetonu kullanan Firebase AI Logic isteklerine izin verir.
Sınırlı kullanımlı jeton doğrulandıktan sonra, yalnızca bir kez kullanılabilmesi için tüketilir. Bu sayede tekrar oynatma saldırıları önlenir.
App Check SDK, her istek için yeni bir sınırlı kullanım jetonu oluşturur. Bu işlemin, bazı gecikmeler ekleyerek ve bazen de (onay sağlayıcınıza bağlı olarak) maliyet oluşturarak isteklerinizi etkileyebileceğini unutmayın.
Yeniden oynatma korumasını ayarlama ve zorunlu kılma
|
Sağlayıcıya özel içeriği ve kodu bu sayfada görüntülemek için Gemini API sağlayıcınızı tıklayın. |
Yeniden oynatma korumasını ayarlama ve zorunlu kılma adımları aşağıda açıklanmıştır:
Henüz yapmadıysanız uygulamanız için App Check uygulamasını etkinleştirin.App Check
Sınırlı kullanım jetonlarının kullanımını etkinleştirin.
Uygulamanızda örnek oluşturma sırasında
useLimitedUseAppCheckTokensparametresinitrueolarak ayarlayın:Swift
// ... // During instantiation, enable usage of limited-use tokens let ai = FirebaseAI.firebaseAI( backend: .googleAI(), useLimitedUseAppCheckTokens: true ) // ...Kotlin
// ... // During instantiation, enable usage of limited-use tokens val ai = Firebase.ai( backend = GenerativeBackend.googleAI(), useLimitedUseAppCheckTokens = true ) // ...Java
// ... // During instantiation, enable usage of limited-use tokens FirebaseAI ai = FirebaseAI.getInstance( /* backend: */ GenerativeBackend.googleAI(), /* useLimitedUseAppCheckTokens: */ true ); // ...Web
// ... // During instantiation, enable usage of limited-use tokens const ai = getAI(firebaseApp, { backend: new GoogleAIBackend(), useLimitedUseAppCheckTokens: true }); // ...Dart
// ... // During instantiation, enable usage of limited-use tokens final ai = await FirebaseAI.googleAI( useLimitedUseAppCheckTokens: true, ); // ...Unity
// ... // During instantiation, enable usage of limited-use tokens var ai = FirebaseAI.GetInstance( useLimitedUseAppCheckTokens: true ); // ...Yeniden oynatma korumasını zorunlu kılın.
Uygulamanızın kod tabanında, sınırlı kullanım jetonlarının kullanımını etkinleştirdiğinizden emin olun (önceki adıma bakın).
Firebase konsolunda Güvenlik > Uygulama Kontrolü'ne gidin.
Firebase AI Logic için metrik görünümünü genişletin.
Temel koruma'nın Etkin olduğundan emin olun ve Devam'ı tıklayın.
Yeniden oynatma koruması için Uygulanmıyor (yalnızca izleme) veya Uygulanıyor'u seçin.
Yeniden oynatma korumasını ne zaman zorunlu kılacağınıza karar verirken aşağıdakileri göz önünde bulundurun:
Kullanıcılarınızın önemli bir kısmı, sınırlı kullanım token'ları etkinleştirilmeden uygulamanızın eski sürümlerini kullanıyorsa isteklerinizi izlemeniz önerilir. Yeniden oynatma korumasını hemen zorunlu kılarsanız bu kullanıcılardan gelen istekler engellenir.
Özellikle Doğrulanmadı: Yeniden kullanılan jeton metriğini izleyebilirsiniz. Bu metrik, önceki bir istekte zaten kullanılmış bir jetona sahip isteklerin sayısıdır. Bu metriği Firebase konsolunda izleyin (Güvenlik > App Check > API'ler sekmesine gidin).
Son isteklerin önemli bir kısmı bu kategorideyse kullanıcıların kesintiye uğramasını önlemek için yeniden oynatma korumasını zorunlu kılmak üzere, daha fazla kullanıcı uygulamanızın sınırlı kullanımlı jetonları kullanan bir sürümüne güncelleme yapana kadar bekleyebilirsiniz.
Firebase AI Logic ile App Check arasındaki entegrasyonu anlama
Firebase AI Logic SDK'larını kullanmak için Firebase projenizde Firebase AI Logic API'si (firebasevertexai.googleapis.com) etkinleştirilmelidir. Bunun nedeni, Firebase AI Logic SDK'ları tarafından yapılan isteklerin önce Firebase AI Logic sunucusuna gönderilmesidir. Bu sunucu, isteğin seçtiğiniz "Gemini API" sağlayıcının arka ucuna ve Gemini ile Imagen modellerine erişmek için kullanılan API'lere geçmesine izin verilmeden önce Firebase App Check doğrulamasının yapıldığı bir proxy ağ geçidi görevi görür.
(İsteğe bağlı) Üretim tasdik sağlayıcısı olmadan App Check'ı zorunlu kılma (yalnızca hata ayıklama sağlayıcısı)
Uygulamanızı bir üretim tasdik sağlayıcısına kaydetmeden AI Logic için App Check zorunlu kılabilirsiniz. Bu kurulum, App Check hata ayıklama sağlayıcısını kullanarak AI Logic ile daha kolay bir şekilde çalışmaya başlamanıza olanak tanırken Gemini API'i korumaya devam etmenizi sağlar.
App Check politikasının AI Logic için zaten zorunlu kılınıp kılınmadığını kontrol edin.
Firebase konsolunda Güvenlik > App Check > API'ler sekmesine gidin.
Firebase AI Logic satırını bulun.
Unenforcedyazıyorsa bu talimatların geri kalanını uygulamaya devam edin.
Firebase AI Logic satırını tıkladığınızda metrik grafiklerini görürsünüz. Bu grafiklerin altında Kurulum'u tıklayın.
İletişim kutusunun ilk ekranında (Temel koruma) Zorunlu'yu seçin ve Devam'ı tıklayın.
Sonraki ekranda (Yeniden oynatma koruması) Devre dışı'yı seçin. Bu ayarı daha sonra istediğiniz zaman yapabilir ve bu kurulum iş akışına geri dönebilirsiniz. Devam'ı tıklayın.
Son ekranda, App Check zorunlu kılmayla ilgili dikkat edilmesi gereken noktaları inceleyerek App Check zorunlu kılmaya hazır olduğunuzdan emin olun. Hazırsanız Devam'ı tıklayın.
Yalnızca App Check'yi zorunlu kılmak ve AI Logic ile hata ayıklama sağlayıcıyı yalnızca ön üretim uygulamasında kullanmak istiyorsanız uygulamalarınızı kaydetmeniz gerekmez. Ancak uygulamanızı son kullanıcılara yayınlamaya hazır olduğunuzda, üretim onay sağlayıcı (ör. App Attest, Play Integrity veya reCAPTCHA Enterprise) ayarlamanın bir parçası olarak uygulamalarınızı kaydetmeniz gerekir.
App Check zorunlu kılındığında yerel geliştirme için App Check zorunluluğunu korurken onaylamayı atlamak üzere App Check hata ayıklama sağlayıcısını yapılandırmanız gerekir.
Hata ayıklama sağlayıcısını yapılandırma hakkında ayrıntılı bilgi için platformunuzla ilgili talimatlara bakın: iOS+ | Android | Web | Flutter | Unity.