Catch up on everthing we announced at this year's Firebase Summit. Learn more

Firebase ML Apple uygulamanızın Bulut kimlik bilgilerini koruyun

Apple uygulamanız Firebase ML'nin bulut API'lerinden birini kullanıyorsa, uygulamanızı üretimde başlatmadan önce yetkisiz API erişimini önlemek için bazı ek adımlar atmalısınız.

1. Mevcut API anahtarlarının kapsamını azaltın

İlk olarak, Cloud Vision API'ye erişime izin vermemek için mevcut API anahtarlarınızı yapılandırın:

  1. Kimlik Google Bulut Konsolu sayfasını. İstendiğinde, projenizi seçin.

  2. Listedeki mevcut her API anahtarı için düzenleme görünümünü açın.

  3. API kısıtlamalar bölümünde, daha sonra, anahtarı sınırla seçeneğini tüm API anahtarı erişimi olmasını istediğiniz hangi API'ler listesine ekleyin. Emin olun Bulut Vision API içermeyecek şekilde.

    Eğer bir API anahtarın API kısıtlamalar yapılandırırken, açıkça anahtar erişimi olan API'leri ilan edilir. API kısıtlamalar bölüm Do anahtarı seçilen, bir API anahtarı projesi için etkindir herhangi bir API erişmek için kullanılabilir kısıtlamak değil, varsayılan olarak.

Şimdi, mevcut API anahtarları bulut ML hizmetlerine erişim izni olmaz, ama her anahtar onun API kısıtlamalar listesine eklenmiş herhangi API'ler için çalışmalarına devam edecektir.

İleride herhangi bir ek API'ler etkinleştirirseniz, geçerli API anahtarı için API kısıtlamalar listenize ekleyebilirsiniz gerektiğini unutmayın.

2. Firebase ML ile kullanmak için yeni bir API anahtarı oluşturun

Ardından, Firebase ML için yalnızca Cloud Vision API'ye yapılan çağrılara izin veren yeni bir API anahtarı oluşturun:

  1. Dönüş Kimlik sayfa. Firebase projenizin hala seçili olduğundan emin olun.

  2. > API anahtarı kimlik bilgilerini oluşturma tıklayın. Sonra anahtarı sınırla Buraya yeni API anahtarı not edin.

  3. API kısıtlamalar bölümünde, daha sonra, anahtar sınırla seçeneğini listeye sadece Bulut Vision API ekleyin.

Bu API anahtarı, yalnızca Cloud Vision API'ye erişim sağlar ve Firebase ML tarafından bulut tabanlı modellere erişmek için kullanılabilir.

Güvenliği ihlal edilmiş bir anahtarın sonuçlarını hafifletmeye yardımcı olmak için Cloud Vision API'nin kullanıcı başına kotasını varsayılan ayarından düşürmeniz gerekir. Böyle yaparak:

  1. Bulut Vision API Kotaları Google Bulut Konsolu sayfasını. İstendiğinde, projenizi seçin.

  2. Taleplerin bölümünde, uygulama için makul bir şey kullanıcı kota başına dakika başına İstekler ayarlayın. Örneğin, uygulamanız metnini geri almak için bir belgenin resmini yüklemeyi içeriyorsa, bir kullanıcının bunu birkaç saniyede bir defadan fazla yapması pek olası değildir, bu nedenle 30-40'lık bir kota muhtemelen güvenli olacaktır.

    Bu bağlamda "kullanıcı başına istek"in tek bir IP adresinden gelen istekleri ifade ettiğini unutmayın. Bir NAT arkasından birden fazla kullanıcının uygulamanızı aynı anda kullanmasını bekliyorsanız bunu göz önünde bulundurmanız gerekebilir.

4. Firebase ML API anahtarınızı kullanarak Cloud API'lerini arayın

Son olarak, uygulamanızda Firebase ML'yi yeni API anahtarınızı kullanacak şekilde yapılandırın.

Firebase ML API anahtarı, Cloud Vision API'ye kimliği doğrulanmamış erişime izin verdiğinden, yetkisiz kullanımı ve faturalandırma hesabınızdan ücret alınmasını önlemek için anahtarı gizli tutmak önemlidir. Bunu yapmak için API anahtarınızı uygulama ikili dosyasına eklemekten kaçınmalısınız. Bunun yerine, uygulama çalışma zamanında, iyi durumda olduğu bilinen bir kullanıcının oturum açtığını doğrulayın ve ancak o zaman API anahtarını bir sunucudan alın.

Bu uygulamalara uyulsa bile, bir API anahtarının tehlikeye atılması mümkündür. Yukarıda açıklandığı gibi API'nin kullanıcı başına kotasını azaltmak, anahtar döndürme politikaları uygulamak ve farklı kullanıcı gruplarına farklı anahtarlar vermek gibi güvenliği ihlal edilmiş bir anahtarın sonuçlarını azaltmaya yardımcı olacak adımlar atmalısınız.

Uygulamanız API anahtarını güvenli bir şekilde aldıktan sonra, bir Firebase ML Cloud API'sini çağırmak istediğinizde anahtarı belirtin:

Süratli

if let cloudVisionKey = getYourApiKey() {  // See note above about securing your API key
    let options = VisionCloudDetectorOptions()
    options.apiKeyOverride = cloudVisionKey
    let cloudDetector = Vision.vision().cloudLandmarkDetector(options: options)
}

Amaç-C

NSString *cloudVisionKey = [self getYourApiKey];  // See note above about securing your API key
if (cloudVisionKey != nil) {
    FIRVisionCloudDetectorOptions *options =
            [[FIRVisionCloudDetectorOptions alloc] init];
    options.APIKeyOverride = cloudVisionKey;
    FIRVisionCloudLandmarkDetector *landmarkDetector =
            [vision cloudLandmarkDetectorWithOptions:options];
}

Buna ek olarak, genel tavsiyelerine uymalıdırlar bir API anahtarı emniyete .

Sonraki adımlar

Bkz fırlatma kontrol listesi diğer Firebase özelliklerini kullanırken başlatmak için uygulamanızı hazırlama hakkında bilgi için.