Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Apple platformlarında App Attest ile Uygulama Kontrolü'nü kullanmaya başlayın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Bu sayfa, yerleşik Uygulama Onayı sağlayıcısını kullanarak bir Apple uygulamasında Uygulama Kontrolü'nü nasıl etkinleştireceğinizi gösterir. Uygulama Kontrolü'nü etkinleştirdiğinizde, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz. Bu özelliğe Genel Bakış'a bakın.

Uygulama Kontrolü, Firebase hizmetlerine yönelik isteklerin gerçek uygulamanızdan geldiğini doğrulamak için Uygulama Onayı'nı kullanır. Uygulama Kontrolü şu anda dolandırıcılık riskini analiz etmek için Uygulama Onayı kullanmamaktadır.

Uygulama Kontrolü'nü kendi özel sağlayıcınızla kullanmak istiyorsanız, bkz. Özel bir Uygulama Kontrolü sağlayıcısı uygulama .

1. Firebase projenizi kurun

  1. Uygulama Onayı'nı kullanmak için Xcode 12.5+'a ihtiyacınız olacak.

  2. Henüz yapmadıysanız Firebase'i Apple projenize ekleyin .

  3. Uygulamalarınızı, Uygulama Kontrolü'nü kullanmak için Firebase konsolunun Uygulama Kontrolü bölümündeki Uygulama Onayı sağlayıcısıyla kaydedin.

    Bir Firebase ürünü için zorlamayı etkinleştirdiğinizde, yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebileceğinden, genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir.

  4. İsteğe bağlı : Uygulama kaydı ayarlarında, sağlayıcı tarafından verilen Uygulama Kontrolü belirteçleri için özel bir yaşam süresi (TTL) ayarlayın. TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken aşağıdaki ödünleşimlerin farkında olun:

    • Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar çünkü sızdırılmış veya ele geçirilmiş bir belirtecin bir saldırgan tarafından kötüye kullanılabileceği pencereyi azaltır.
    • Performans: Daha kısa TTL'ler, uygulamanızın daha sık doğrulama gerçekleştireceği anlamına gelir. Uygulama doğrulama işlemi, her gerçekleştirildiğinde ağ isteklerine gecikme eklediğinden, kısa bir TTL, uygulamanızın performansını etkileyebilir.
    • Kota ve maliyet: Daha kısa TTL'ler ve sık sık yeniden doğrulama, kotanızı daha hızlı tüketir ve ücretli hizmetler için potansiyel olarak daha pahalıya mal olur. Kotalar ve sınırlar konusuna bakın.

    1 saatlik varsayılan TTL, çoğu uygulama için uygundur. Uygulama Kontrolü kitaplığının belirteçleri TTL süresinin yaklaşık yarısında yenilediğini unutmayın.

2. Uygulama Kontrolü kitaplığını uygulamanıza ekleyin

  1. Uygulama Kontrolü bağımlılığını projenizin Podfile :

    pod 'FirebaseAppCheck'

    Veya alternatif olarak bunun yerine Swift Paket Yöneticisini kullanabilirsiniz.

    Güvendiğiniz diğer Firebase SDK'larının da en son sürümünü kullandığınızdan emin olun.

  2. pod install çalıştırın ve oluşturulan .xcworkspace dosyasını açın.

  3. Xcode'da, uygulamanıza Uygulama Onayı özelliğini ekleyin.

  4. Projenizin .entitlements dosyasında, App Attest ortamını production olarak ayarlayın.

3. Uygulama Kontrolünü Başlatın

Diğer Firebase SDK'larını kullanmadan önce Uygulama Kontrolü'nü başlatmanız gerekir.

İlk olarak, AppCheckProviderFactory bir uygulamasını yazın. Uygulamanızın özellikleri, kullanım durumunuza bağlı olacaktır.

Örneğin, yalnızca iOS 14 ve sonraki sürümlerde kullanıcılarınız varsa, her zaman AppAttestProvider nesneleri oluşturabilirsiniz:

Süratli

Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.

class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return AppAttestProvider(app: app)
  }
}

Amaç-C

Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  return [[FIRAppAttestProvider alloc] initWithApp:app];
}

@end

Veya iOS 14 ve sonraki sürümlerde AppAttestProvider nesneleri oluşturabilir ve önceki sürümlerde DeviceCheckProvider geri dönebilirsiniz:

Süratli

Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.

class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    if #available(iOS 14.0, *) {
      return AppAttestProvider(app: app)
    } else {
      return DeviceCheckProvider(app: app)
    }
  }
}

Amaç-C

Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.

@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  if (@available(iOS 14.0, *)) {
    return [[FIRAppAttestProvider alloc] initWithApp:app];
  } else {
    return [[FIRDeviceCheckProvider alloc] initWithApp:app];
  }
}

@end

Bir AppCheckProviderFactory sınıfını uyguladıktan sonra, onu kullanmak için Uygulama Denetimini yapılandırın:

Süratli

Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.

let providerFactory = YourAppCheckProviderFactory()
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

Amaç-C

Not: Bu Firebase ürünü, watchOS hedeflerinde mevcut değildir.

YourAppCheckProviderFactory *providerFactory =
        [[YourAppCheckProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];

[FIRApp configure];

Sonraki adımlar

Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra, güncellenen uygulamayı kullanıcılarınıza dağıtmaya başlayın.

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü belirteçlerini göndermeye başlayacak, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar belirteçlerin geçerli olmasını gerektirmeyecek.

Metrikleri izleyin ve yaptırımı etkinleştirin

Ancak, yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru kullanıcılarınızı kesintiye uğratmayacağından emin olmalısınız. Öte yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız, yaptırımı daha erken etkinleştirmek isteyebilirsiniz.

Bu kararı vermenize yardımcı olması için kullandığınız hizmetlere ilişkin Uygulama Kontrolü metriklerine bakabilirsiniz:

Uygulama Kontrolü yaptırımını etkinleştir

Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda, Uygulama Kontrolü yaptırımını etkinleştirebilirsiniz:

Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanın

Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı, geliştirme sırasındaki bir simülatör gibi Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmadığı bir ortamda veya bir sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız, şunları yapabilirsiniz: gerçek bir doğrulama sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan uygulamanızın hata ayıklama yapısını oluşturun.

Apple platformlarında hata ayıklama sağlayıcısıyla Uygulama Denetimini kullanma konusuna bakın.