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

Bu sayfa, yerleşik Uygulama Onay sağlayıcısını kullanarak bir Apple uygulamasında Uygulama Denetimini 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 orijinal uygulamanızdan geldiğini doğrulamak için Uygulama Attest'i kullanır. Uygulama Kontrolü şu anda dolandırıcılık riskini analiz etmek için Uygulama Attest'i kullanmamaktadır.

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

1. Firebase projenizi kurun

  1. Uygulama Onayını kullanmak için Xcode 12.5+ sürümüne ihtiyacınız olacak.

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

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

    Genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir; çünkü bir Firebase ürünü için yaptırımı etkinleştirdiğinizde yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebilir.

  4. İsteğe bağlı : Uygulama kayıt 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şimlere dikkat edin:

    • Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar çünkü sızdırılan veya ele geçirilen bir token'ın 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 süreci, her gerçekleştirilişinde ağ isteklerine gecikme kattığı için 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 fazla maliyete neden olur. Bkz . Kotalar ve sınırlar .

    Varsayılan 1 saatlik TTL çoğu uygulama için makuldür. Uygulama Denetimi 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 ekleyin:

    pod 'FirebaseAppCheck'

    Veya alternatif olarak Swift Paket Yöneticisini kullanabilirsiniz.

    Ayrıca güvendiğiniz diğer Firebase SDK'larının 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 Uygulama Onaylama özelliğini uygulamanıza ekleyin.

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

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

Başka Firebase SDK'larını kullanmadan önce Uygulama Kontrolü'nü başlatmanız gerekecektir.

Öncelikle 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 Uygulama Denetimini onu kullanacak şekilde 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ü jetonları göndermeye başlayacak, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorunlu kılmayı etkinleştirene kadar jetonların geçerli olmasını gerektirmeyecek.

Metrikleri izleyin ve uygulamayı etkinleştirin

Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru kullanıcılarınızı aksatmayacağı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ırmayacağı bir ortamda veya sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız, şunları yapabilirsiniz: Uygulamanızın, gerçek bir doğrulama sağlayıcısı yerine Uygulama Denetimi hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturun.

Bkz. Apple platformlarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma .